aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/generic-resource-api
diff options
context:
space:
mode:
Diffstat (limited to 'platform-logic/generic-resource-api')
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.json7286
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.json6528
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json7238
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.json5854
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.json5076
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json5810
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.xml1862
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml1433
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml1859
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.xml1536
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml1250
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml1531
12 files changed, 31032 insertions, 16231 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.json
new file mode 100644
index 00000000..3d4b8bdc
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.json
@@ -0,0 +1,7286 @@
+[
+ {
+ "id": "47ef00b1.749c8",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 195,
+ "y": 102.5242919921875,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4efb4066.e4139"
+ ]
+ ]
+ },
+ {
+ "id": "4efb4066.e4139",
+ "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": 308.8571357727051,
+ "y": 142.33382987976074,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3089d18d.9d8e36"
+ ]
+ ]
+ },
+ {
+ "id": "3089d18d.9d8e36",
+ "type": "method",
+ "name": "method vf-module-topology-operation-assign-async",
+ "xml": "<method rpc='vf-module-topology-operation-assign-async' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 308.42862701416016,
+ "y": 182.5242919921875,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "effbab1c.8eeb18"
+ ]
+ ]
+ },
+ {
+ "id": "ddba88b.d2daa78",
+ "type": "comment",
+ "name": "vf-module-topology-operation-assign-async",
+ "info": "",
+ "comments": "",
+ "x": 549.0711059570312,
+ "y": 21,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "13d1edde.2c3cc2",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 600.1905212402344,
+ "y": 455.5480899810791,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d09a1f6d.c339a8",
+ "ae721e71.bc28f8"
+ ]
+ ]
+ },
+ {
+ "id": "d09a1f6d.c339a8",
+ "type": "outcome",
+ "name": "CreateVfModuleInstance",
+ "xml": "<outcome value='CreateVfModuleInstance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 870.9881591796875,
+ "y": 423.9409656524658,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "163e3c12.686c64"
+ ]
+ ]
+ },
+ {
+ "id": "ae721e71.bc28f8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 805.9047813415527,
+ "y": 488.0719690322876,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b097fd2d.1c3e2"
+ ]
+ ]
+ },
+ {
+ "id": "163e3c12.686c64",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1060.845323562622,
+ "y": 423.94099712371826,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "356786ed.1c1db2",
+ "type": "get-resource",
+ "name": "get-resource VF_MODULE_MODEL",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-module-model'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 647.5237884521484,
+ "y": 556.6910438537598,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3e27e49d.23f3f4",
+ "80af5787.882358"
+ ]
+ ]
+ },
+ {
+ "id": "3e27e49d.23f3f4",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.3094787597656,
+ "y": 537.0718746185303,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2b23f970.b0e516"
+ ]
+ ]
+ },
+ {
+ "id": "80af5787.882358",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 921.8809089660645,
+ "y": 581.357587814331,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "19ca61b5.8fa5c6"
+ ]
+ ]
+ },
+ {
+ "id": "f269ddb2.03ac18",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 641.3690414428711,
+ "y": 734.0124034881592,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b91f6edf.e66fa",
+ "de858ec5.7b807"
+ ]
+ ]
+ },
+ {
+ "id": "b91f6edf.e66fa",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 882.0833129882812,
+ "y": 710.155143737793,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "57fdbbee.7122f4"
+ ]
+ ]
+ },
+ {
+ "id": "de858ec5.7b807",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 881.8451538085938,
+ "y": 752.1076622009277,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b90f80a9.a4803"
+ ]
+ ]
+ },
+ {
+ "id": "b2cbded2.837b2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 239.9404296875,
+ "y": 3171.9293028116226,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a43d883.25c17f8",
+ "a0b91b46.4fb248",
+ "cb9c99a0.7906c",
+ "734ae3c5.175e1c",
+ "d02c5f14.3d4ee",
+ "97b7d623.89325",
+ "925699fb.c3532",
+ "500b7c10.330fb4",
+ "e5d088d4.d1279",
+ "9f6faea5.1876d",
+ "b6b2184e.def9e",
+ "6c341ffe.ffd948",
+ "602e0129.20af78",
+ "f312e38d.47c19",
+ "c5f1094.89d7678",
+ "bdd166c5.9655d",
+ "3326bf0a.c858a",
+ "eada7f38.32c088",
+ "8aa4893.5435478",
+ "40d2ead1.29e2d4",
+ "205882d9.0b5ba6",
+ "e9f0935c.0d26e",
+ "cf288013.27e988",
+ "50d2cea2.bb528",
+ "886b51f6.cb8c8",
+ "14aa8b5.d6278f5",
+ "4b70bca8.2d04e4",
+ "d4b60897.e18598",
+ "fcdfebce.a935a8",
+ "84fdd3bf.927fd",
+ "9f112544.7f8a58",
+ "5b817e7f.0206",
+ "a1c5d05.89a983",
+ "7e168e6e.8d02f8",
+ "c1894905.cb3d58",
+ "7badb381.1fbf0c",
+ "2d6c7dfc.640b9a"
+ ]
+ ]
+ },
+ {
+ "id": "b90f80a9.a4803",
+ "type": "for",
+ "name": "for each vnf",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1044.0832977294922,
+ "y": 751.7742805480957,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f126a52f.3ffd6"
+ ]
+ ]
+ },
+ {
+ "id": "f126a52f.3ffd6",
+ "type": "switchNode",
+ "name": "switch service data vnf == input vnf",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1295.4165954589844,
+ "y": 751.4410085678101,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9db43827.db871"
+ ]
+ ]
+ },
+ {
+ "id": "9db43827.db871",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1525.4166069030762,
+ "y": 750.7743215560913,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c01d11b0.35cf18"
+ ]
+ ]
+ },
+ {
+ "id": "527b3c86.073724",
+ "type": "set",
+ "name": "set vnf-index to -1",
+ "xml": "<set>\n<parameter name='vnf-index' value='-1' />\n",
+ "comments": "",
+ "x": 590.4166641235352,
+ "y": 665.4409027099609,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c592a9bb.2acb88",
+ "type": "set",
+ "name": "set vnf-index to idx",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 1847.0832443237305,
+ "y": 721.7742795944214,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "aca51e3b.78a188",
+ "type": "switchNode",
+ "name": "switch vnf-index",
+ "xml": "<switch test='`$vnf-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 579.1666870117188,
+ "y": 817.6075925827026,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cb668766.b21a98"
+ ]
+ ]
+ },
+ {
+ "id": "cb668766.b21a98",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 757.500072479248,
+ "y": 816.9409685134888,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a0d2ddbe.4ce55"
+ ]
+ ]
+ },
+ {
+ "id": "a43d883.25c17f8",
+ "type": "switchNode",
+ "name": "switch vf-module_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 617.0833854675293,
+ "y": 1388.3577966690063,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8981146c.cb942",
+ "fcfff00d.49938"
+ ]
+ ]
+ },
+ {
+ "id": "8981146c.cb942",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 874.4643402099609,
+ "y": 1355.5005702972412,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3dbed402.1d6ef4"
+ ]
+ ]
+ },
+ {
+ "id": "3dbed402.1d6ef4",
+ "type": "set",
+ "name": "set vf-module-index=0",
+ "xml": "<set>\n<parameter name='vf-module-index' value='0' />\n",
+ "comments": "",
+ "x": 1062.0833778381348,
+ "y": 1356.167345046997,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "fcfff00d.49938",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 874.8928833007812,
+ "y": 1419.786428451538,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7565eb2b.4c1ff4"
+ ]
+ ]
+ },
+ {
+ "id": "c0b8cef7.d83a68",
+ "type": "set",
+ "name": "set vf-module-index = vf-module_length",
+ "xml": "<set>\n<parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n",
+ "comments": "",
+ "x": 1260.083423614502,
+ "y": 1399.9768238067627,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "baf65dc8.0e8fb8",
+ "type": "for",
+ "name": "for each existing VF module",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1219.1785163879395,
+ "y": 1444.0720539093018,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c8acfe74.080af8"
+ ]
+ ]
+ },
+ {
+ "id": "7565eb2b.4c1ff4",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1011.6071624755859,
+ "y": 1419.7863540649414,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c0b8cef7.d83a68",
+ "baf65dc8.0e8fb8"
+ ]
+ ]
+ },
+ {
+ "id": "c8acfe74.080af8",
+ "type": "switchNode",
+ "name": "switch vf-module-information.vf-module-id == service-data.vnfs.vnf[].vf-modules.vf-module[].vf-module-id",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1722.7976188659668,
+ "y": 1443.6434650421143,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e7c1d7a5.ea41f"
+ ]
+ ]
+ },
+ {
+ "id": "e7c1d7a5.ea41f",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2165.4166679382324,
+ "y": 1443.214916229248,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bdb7e590.4bbf98"
+ ]
+ ]
+ },
+ {
+ "id": "d2392dfe.c660f",
+ "type": "comment",
+ "name": "make sure this VF module doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1749.2499656677246,
+ "y": 1398.270956993103,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "a0b91b46.4fb248",
+ "type": "set",
+ "name": "set new vf-module_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\n",
+ "comments": "",
+ "x": 627.7499656677246,
+ "y": 1499.3576517105103,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "cb9c99a0.7906c",
+ "type": "set",
+ "name": "set vf-module-topology data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\n<parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\n<parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\n",
+ "comments": "",
+ "x": 634.2499847412109,
+ "y": 1611.8577585220337,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ee8323c4.89df98",
+ "type": "set",
+ "name": "set aic-clli",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
+ "comments": "",
+ "x": 1395.2022438049316,
+ "y": 1771.095685005188,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "734ae3c5.175e1c",
+ "type": "switchNode",
+ "name": "switch aic-clli",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 594.2499046325684,
+ "y": 1885.0480251312256,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a5088391.cb913"
+ ]
+ ]
+ },
+ {
+ "id": "a5088391.cb913",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 739.5355949401855,
+ "y": 1885.0480937957764,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2b8167ac.ee8e3"
+ ]
+ ]
+ },
+ {
+ "id": "d02c5f14.3d4ee",
+ "type": "get-resource",
+ "name": "get-resource cloud region",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 633.107120513916,
+ "y": 1685.1912965774536,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "afc6e33.fafafa",
+ "60ebcdb7.264a0c"
+ ]
+ ]
+ },
+ {
+ "id": "60ebcdb7.264a0c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 847.3533134460449,
+ "y": 1703.34215259552,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "71cefe31.79b508"
+ ]
+ ]
+ },
+ {
+ "id": "afc6e33.fafafa",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 856.281909942627,
+ "y": 1660.6278858184814,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e750571d.ca626"
+ ]
+ ]
+ },
+ {
+ "id": "c01d11b0.35cf18",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1673.7500686645508,
+ "y": 749.6940202713013,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c592a9bb.2acb88",
+ "9ce31ee0.52ab58"
+ ]
+ ]
+ },
+ {
+ "id": "9ce31ee0.52ab58",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1808.7500343322754,
+ "y": 771.3606061935425,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c55eb946.3ed8e8",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-module-model.invariant-uuid`' />\n",
+ "comments": "",
+ "x": 1008.5832443237305,
+ "y": 1926.4440183639526,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "97b7d623.89325",
+ "type": "switchNode",
+ "name": "switch input model-invariant-uuid",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 652.4403190612793,
+ "y": 1949.2684621810913,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ef2c9ecf.3ea71",
+ "6560f94f.b870d8"
+ ]
+ ]
+ },
+ {
+ "id": "ef2c9ecf.3ea71",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 858.106990814209,
+ "y": 1926.4114255905151,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c55eb946.3ed8e8"
+ ]
+ ]
+ },
+ {
+ "id": "6560f94f.b870d8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 859.535587310791,
+ "y": 1970.6970167160034,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3ee20fc0.bf22f"
+ ]
+ ]
+ },
+ {
+ "id": "3ee20fc0.bf22f",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n",
+ "comments": "",
+ "x": 1013.8213233947754,
+ "y": 1970.1255888938904,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3108a061.0ec8f",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$db.vf-module-model.uuid`' />\n",
+ "comments": "",
+ "x": 1009.535514831543,
+ "y": 2014.9826946258545,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "925699fb.c3532",
+ "type": "switchNode",
+ "name": "switch input model-uuid",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 625.0593376159668,
+ "y": 2037.8071994781494,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "935ab6e4.246cd",
+ "110bf82.0172d08"
+ ]
+ ]
+ },
+ {
+ "id": "935ab6e4.246cd",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 859.0593109130859,
+ "y": 2014.9501314163208,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3108a061.0ec8f"
+ ]
+ ]
+ },
+ {
+ "id": "110bf82.0172d08",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 860.487907409668,
+ "y": 2059.235722541809,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f5fdcdbb.a51fc8"
+ ]
+ ]
+ },
+ {
+ "id": "f5fdcdbb.a51fc8",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\n",
+ "comments": "",
+ "x": 1014.7736434936523,
+ "y": 2058.664294719696,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3414be68.250f22",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$db.vf-module-model.version`' />\n",
+ "comments": "",
+ "x": 1006.6784477233887,
+ "y": 2103.8399019241333,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "500b7c10.330fb4",
+ "type": "switchNode",
+ "name": "switch input model-version",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 633.2022094726562,
+ "y": 2126.6643466949463,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2d96bcee.a98f2c",
+ "d50c8bc4.769118"
+ ]
+ ]
+ },
+ {
+ "id": "2d96bcee.a98f2c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 856.2021942138672,
+ "y": 2103.807309150696,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3414be68.250f22"
+ ]
+ ]
+ },
+ {
+ "id": "d50c8bc4.769118",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 857.6307907104492,
+ "y": 2148.092900276184,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f4ecdb0.7ccf3a8"
+ ]
+ ]
+ },
+ {
+ "id": "f4ecdb0.7ccf3a8",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n",
+ "comments": "",
+ "x": 1011.9165267944336,
+ "y": 2147.521472454071,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "1c1e9347.9ae5dd",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$db.vf-module-model.name`' />\n",
+ "comments": "",
+ "x": 1006.6784477233887,
+ "y": 2190.9827241897583,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "e5d088d4.d1279",
+ "type": "switchNode",
+ "name": "switch input model-name",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 628.2022094726562,
+ "y": 2213.8071689605713,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f63d99eb.7ea558",
+ "a3370d33.87d5d"
+ ]
+ ]
+ },
+ {
+ "id": "f63d99eb.7ea558",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 856.2021942138672,
+ "y": 2190.950131416321,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1c1e9347.9ae5dd"
+ ]
+ ]
+ },
+ {
+ "id": "a3370d33.87d5d",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 857.6307907104492,
+ "y": 2235.235722541809,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b62b5297.640c38"
+ ]
+ ]
+ },
+ {
+ "id": "b62b5297.640c38",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\n",
+ "comments": "",
+ "x": 1011.9165267944336,
+ "y": 2234.664294719696,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "9f6faea5.1876d",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n",
+ "comments": "",
+ "x": 642.6545448303223,
+ "y": 2286.3161582946777,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "b6b2184e.def9e",
+ "type": "set",
+ "name": "set vf-module-id",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n",
+ "comments": "",
+ "x": 595.8451919555664,
+ "y": 1555.0393342971802,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "6c341ffe.ffd948",
+ "type": "for",
+ "name": "for each cloud-region relationship",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 655.3609352111816,
+ "y": 1773.697979927063,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c0518e57.620ee8"
+ ]
+ ]
+ },
+ {
+ "id": "c0518e57.620ee8",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 903.039478302002,
+ "y": 1773.4479093551636,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "541c6720.7cffe8"
+ ]
+ ]
+ },
+ {
+ "id": "541c6720.7cffe8",
+ "type": "outcome",
+ "name": "complex",
+ "xml": "<outcome value='complex'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1072.5037994384766,
+ "y": 1772.8407316207886,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "de4075f3.bc9ec"
+ ]
+ ]
+ },
+ {
+ "id": "bfd35321.fbdcc",
+ "type": "execute",
+ "name": "split related-link",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1412.5989570617676,
+ "y": 1727.2693071365356,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "de4075f3.bc9ec",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1232.2656593322754,
+ "y": 1773.936095237732,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bfd35321.fbdcc",
+ "b03a09c0.4474b8",
+ "ee8323c4.89df98"
+ ]
+ ]
+ },
+ {
+ "id": "b03a09c0.4474b8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1382.2656211853027,
+ "y": 1817.2693920135498,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "d583179d.999f08",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "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": 614.0476226806641,
+ "y": 212.04809951782227,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8aa4893.5435478",
+ "type": "set",
+ "name": "set order-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
+ "comments": "",
+ "x": 540.5122909545898,
+ "y": 7382.904582977295,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "40d2ead1.29e2d4",
+ "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": 484.01214599609375,
+ "y": 8147.951934337616,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "eada7f38.32c088",
+ "type": "set",
+ "name": "copy input data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\n value='$vf-module-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\n value='$vf-module-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\n value='$vf-module-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\n value='$vf-module-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\n value='$vf-module-topology-operation-input.vf-module-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\n value='$vf-module-topology-operation-input.vf-module-request-input.' />\n\n",
+ "comments": "",
+ "x": 472.6192321777344,
+ "y": 7239.253315925598,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3326bf0a.c858a",
+ "type": "set",
+ "name": "copy vf-module-topology data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />\n",
+ "comments": "",
+ "x": 527.5002517700195,
+ "y": 7186.038250923157,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f312e38d.47c19",
+ "type": "save",
+ "name": "update vf-module",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vf-module-name\" value=\"`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vf-module-object-path`\" />\n<parameter name=\"automated-assignment\" value=\"`$automated-assignment`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 557.8929710388184,
+ "y": 4393.039915680885,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "56183cf7.21f8bc",
+ "298fb653.de04f2"
+ ]
+ ]
+ },
+ {
+ "id": "56183cf7.21f8bc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 732.9646110534668,
+ "y": 4361.4205375909805,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "69c206e5.9c5be8"
+ ]
+ ]
+ },
+ {
+ "id": "298fb653.de04f2",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 741.5359840393066,
+ "y": 4430.039627611637,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ca232fc7.373f28"
+ ]
+ ]
+ },
+ {
+ "id": "602e0129.20af78",
+ "type": "set",
+ "name": "set vf-module-object-path",
+ "xml": "<set>\n<parameter name='vf-module-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $vf-module-topology-operation-input.vf-module-information.vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
+ "comments": "",
+ "x": 581.5597801208496,
+ "y": 4268.564144730568,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "8b5e2bc.0d8cdd8",
+ "type": "save",
+ "name": "save vf-module relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module:relationship-list\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1351.5835266113281,
+ "y": 5951.192310094833,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "156220b0.97881f",
+ "a8f671db.55245"
+ ]
+ ]
+ },
+ {
+ "id": "156220b0.97881f",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1571.4168701171875,
+ "y": 5922.064054250717,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d0730d21.778c9"
+ ]
+ ]
+ },
+ {
+ "id": "a8f671db.55245",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1579.9884033203125,
+ "y": 5974.683198690414,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e6565cbf.f37f88"
+ ]
+ ]
+ },
+ {
+ "id": "c5f1094.89d7678",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 531.2502517700195,
+ "y": 5716.525862932205,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "900abd87.03036"
+ ]
+ ]
+ },
+ {
+ "id": "71e9d608.74954",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 928.2502632141113,
+ "y": 6135.192695140839,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "474d2262.a76184"
+ ]
+ ]
+ },
+ {
+ "id": "bdd166c5.9655d",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 476.92879486083984,
+ "y": 7081.0718812942505,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5099fa11.6e8244"
+ ]
+ ]
+ },
+ {
+ "id": "5099fa11.6e8244",
+ "type": "for",
+ "name": "for each vm",
+ "xml": "<for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 671.928825378418,
+ "y": 7080.4048891067505,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "99b22585.2f4188"
+ ]
+ ]
+ },
+ {
+ "id": "70d018d1.df953",
+ "type": "save",
+ "name": "save VIPR_CONFIGURATION",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1092.3455200195312,
+ "y": 7105.5725764632225,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ee6a30b6.2fdb08"
+ ]
+ ]
+ },
+ {
+ "id": "f7b025d1.119928",
+ "type": "comment",
+ "name": "Not a failure",
+ "info": "",
+ "comments": "",
+ "x": 1612.3454208374023,
+ "y": 7105.572581231594,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ee6a30b6.2fdb08",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1302.3455047607422,
+ "y": 7105.57272619009,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f00a7c73.128e3"
+ ]
+ ]
+ },
+ {
+ "id": "f00a7c73.128e3",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1445.6789474487305,
+ "y": 7105.572564065456,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a9e98a28.a6413",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1475.679069519043,
+ "y": 7056.904277741909,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f18e18b8.f1a978"
+ ]
+ ]
+ },
+ {
+ "id": "f0f9c912.bbfa7",
+ "type": "comment",
+ "name": "Not a failure",
+ "info": "",
+ "comments": "",
+ "x": 1799.0121231079102,
+ "y": 7055.238099992275,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f18e18b8.f1a978",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1621.6790046691895,
+ "y": 7056.904910981655,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "99b22585.2f4188",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 840.2622184753418,
+ "y": 7079.404733657837,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "432a36c8.1b8a38",
+ "70d018d1.df953"
+ ]
+ ]
+ },
+ {
+ "id": "432a36c8.1b8a38",
+ "type": "delete",
+ "name": "delete any pre-existing records in VIPR_CONFIGURATION",
+ "xml": "<delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\n AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\n AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1182.3455352783203,
+ "y": 7057.238910615444,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a9e98a28.a6413"
+ ]
+ ]
+ },
+ {
+ "id": "69c206e5.9c5be8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 891.2501792907715,
+ "y": 4361.191208481789,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "23db4204.137326",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "ca232fc7.373f28",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 892.2500953674316,
+ "y": 4427.857498705387,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c333832f.3cfc3"
+ ]
+ ]
+ },
+ {
+ "id": "d0730d21.778c9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1739.9168739318848,
+ "y": 5921.858323812485,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c98dc3b.19af54",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "e6565cbf.f37f88",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1734.9168739318848,
+ "y": 5974.8581664562225,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "21dc9b2.c9b4164",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "857ef89e.1a5408",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get preload-list",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`\" />\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-preload\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1100.833351135254,
+ "y": 2498.691061973572,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "416fdbec.15ba44",
+ "73c4e919.9f625"
+ ]
+ ]
+ },
+ {
+ "id": "416fdbec.15ba44",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1369.1665840148926,
+ "y": 2457.0243921279907,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1f482e71.6f90f2"
+ ]
+ ]
+ },
+ {
+ "id": "73c4e919.9f625",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1367.4999389648438,
+ "y": 2532.024540901184,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2b585b07.776fbc"
+ ]
+ ]
+ },
+ {
+ "id": "1f482e71.6f90f2",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1525.833339691162,
+ "y": 2455.3578300476074,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "875e55f0.b2f8e8"
+ ]
+ ]
+ },
+ {
+ "id": "2b585b07.776fbc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1522.4999465942383,
+ "y": 2532.0243825912476,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8bed185c.8ac5d"
+ ]
+ ]
+ },
+ {
+ "id": "875e55f0.b2f8e8",
+ "type": "switchNode",
+ "name": "switch mdsal-preload.response-code",
+ "xml": "<switch test='`$mdsal-preload.response-code`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1754.1666412353516,
+ "y": 2455.357871055603,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d327b2a2.0c837",
+ "fd8f2e7a.c3fae"
+ ]
+ ]
+ },
+ {
+ "id": "d327b2a2.0c837",
+ "type": "outcome",
+ "name": "404 (not found)",
+ "xml": "<outcome value='404'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2037.0833435058594,
+ "y": 2409.940915107727,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "35aa0744.80b5c8"
+ ]
+ ]
+ },
+ {
+ "id": "35aa0744.80b5c8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-no-preload",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2439.99991607666,
+ "y": 2323.274383544922,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "123078c4.5f42b7"
+ ]
+ ]
+ },
+ {
+ "id": "123078c4.5f42b7",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2828.7498779296875,
+ "y": 2324.1082620620728,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b201b2ed.f32f68"
+ ]
+ ]
+ },
+ {
+ "id": "fd8f2e7a.c3fae",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2003.3333053588867,
+ "y": 2474.107699394226,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "886e3c52.8c2238"
+ ]
+ ]
+ },
+ {
+ "id": "8bed185c.8ac5d",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-preload",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1885.833236694336,
+ "y": 2533.6911306381226,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "470a9210.0d2c7c"
+ ]
+ ]
+ },
+ {
+ "id": "470a9210.0d2c7c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2241.500099182129,
+ "y": 2532.024748802185,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9af3e55f.6087e"
+ ]
+ ]
+ },
+ {
+ "id": "900abd87.03036",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 721.7503204345703,
+ "y": 5717.3590977191925,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "71e9d608.74954",
+ "61dc9df3.118e34"
+ ]
+ ]
+ },
+ {
+ "id": "61dc9df3.118e34",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 972.7503700256348,
+ "y": 4922.025188922882,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "933d597e.bd69e8"
+ ]
+ ]
+ },
+ {
+ "id": "c87af5c.2b49f88",
+ "type": "save",
+ "name": "save vnfc to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1698.7504386901855,
+ "y": 4730.359119415283,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d4c69512.b7a85",
+ "cb5ae333.4bb6c"
+ ]
+ ]
+ },
+ {
+ "id": "933d597e.bd69e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1141.0836715698242,
+ "y": 4922.692016124725,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "90bbdc02.a17328",
+ "4f542d3d.52a65c",
+ "9ee6416c.5e5dc8",
+ "67190c0.7b4b2f4",
+ "2591369f.6e45f2",
+ "f5615f88.05ae28"
+ ]
+ ]
+ },
+ {
+ "id": "d4c69512.b7a85",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1889.7504768371582,
+ "y": 4682.692453384399,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fcab33e3.661e5"
+ ]
+ ]
+ },
+ {
+ "id": "fcab33e3.661e5",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2054.917163848877,
+ "y": 4696.820286691189,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "64b6a50b.0e40cc",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "9ee6416c.5e5dc8",
+ "type": "save",
+ "name": "save vnfc relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vf-module\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id +\n '/vf-modules/vf-module/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1365.654956817627,
+ "y": 4830.97835111618,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4aa5e996.c15df8",
+ "627ad9e4.060cf"
+ ]
+ ]
+ },
+ {
+ "id": "b05f84b7.ac3f68",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1697.4881477355957,
+ "y": 4804.2959752082825,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ecec95d0.f03d18",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "d68d461e.5265a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1697.488224029541,
+ "y": 4857.29573392868,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4b5a4f9a.72aaf8",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "4aa5e996.c15df8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1540.6550331115723,
+ "y": 4804.311645030975,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b05f84b7.ac3f68"
+ ]
+ ]
+ },
+ {
+ "id": "627ad9e4.060cf",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1549.2265663146973,
+ "y": 4856.930789470673,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d68d461e.5265a"
+ ]
+ ]
+ },
+ {
+ "id": "90bbdc02.a17328",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1363.1310768127441,
+ "y": 5247.834759235382,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "58cb90bc.4bbef8"
+ ]
+ ]
+ },
+ {
+ "id": "205882d9.0b5ba6",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 583.7499809265137,
+ "y": 2555.7385811805725,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8cfa77fd.d126b8",
+ "type": "for",
+ "name": "for each vnfc-subnetwork-role",
+ "xml": "<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1819.0836143493652,
+ "y": 5211.025192737579,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6762299c.778d8"
+ ]
+ ]
+ },
+ {
+ "id": "6762299c.778d8",
+ "type": "for",
+ "name": "for each vnfc-address-family",
+ "xml": "<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2086.4169578552246,
+ "y": 5210.025681018829,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7d53a97d.be26"
+ ]
+ ]
+ },
+ {
+ "id": "d1f18ef1.182398",
+ "type": "for",
+ "name": "for each vnfc-ip-address",
+ "xml": "<for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2518.4165687561035,
+ "y": 5276.6913805007935,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "77214afc.517d0c"
+ ]
+ ]
+ },
+ {
+ "id": "7d53a97d.be26",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2297.4167289733887,
+ "y": 5210.025137424469,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "34424215.2a711e",
+ "d1f18ef1.182398"
+ ]
+ ]
+ },
+ {
+ "id": "34424215.2a711e",
+ "type": "set",
+ "name": "set tmp.address-family",
+ "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
+ "comments": "",
+ "x": 2517.4170570373535,
+ "y": 5130.02503490448,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "77214afc.517d0c",
+ "type": "switchNode",
+ "name": "switch address family",
+ "xml": "<switch test='`$tmp.address-family`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2757.416660308838,
+ "y": 5275.02520275116,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "466ce5a0.fa2a7c",
+ "e5989ca0.8172d"
+ ]
+ ]
+ },
+ {
+ "id": "466ce5a0.fa2a7c",
+ "type": "outcome",
+ "name": "ipv4",
+ "xml": "<outcome value='ipv4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2954.5596656799316,
+ "y": 5178.59646320343,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "16109ed1.313bd1"
+ ]
+ ]
+ },
+ {
+ "id": "e5989ca0.8172d",
+ "type": "outcome",
+ "name": "ipv6",
+ "xml": "<outcome value='ipv6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2952.178737640381,
+ "y": 5358.358494758606,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9a0c5b84.5a57f"
+ ]
+ ]
+ },
+ {
+ "id": "cf096cd1.ca06e8",
+ "type": "comment",
+ "name": "Fixed IPs",
+ "info": "",
+ "comments": "",
+ "x": 1836.0836296081543,
+ "y": 5172.692569732666,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ba22ae12.2926b",
+ "type": "save",
+ "name": "save l3-interface-ipv4-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv4-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3397.892795562744,
+ "y": 5126.929543177288,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a96cb36a.8783d8"
+ ]
+ ]
+ },
+ {
+ "id": "16109ed1.313bd1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3104.5596656799316,
+ "y": 5178.596381823223,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ba22ae12.2926b",
+ "c1872588.7583"
+ ]
+ ]
+ },
+ {
+ "id": "2901367b.3a7652",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3811.3926696777344,
+ "y": 5126.914035479229,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a7be1c39.6ee63",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "a96cb36a.8783d8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3654.559555053711,
+ "y": 5126.929705301922,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2901367b.3a7652"
+ ]
+ ]
+ },
+ {
+ "id": "c1872588.7583",
+ "type": "save",
+ "name": "save l3-interface-ipv4-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv4-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3392.893039703369,
+ "y": 5225.262962023418,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c76a4fda.833a4",
+ "53b8f95f.e81ec"
+ ]
+ ]
+ },
+ {
+ "id": "64905913.ec2ab",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3813.0592918395996,
+ "y": 5196.914006868999,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a4494b11.30c988",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "ea0b0cf4.b0b87",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3813.059368133545,
+ "y": 5249.913765589397,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3b6a1bff.11e25c",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "c76a4fda.833a4",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3656.226177215576,
+ "y": 5196.929676691692,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "64905913.ec2ab"
+ ]
+ ]
+ },
+ {
+ "id": "53b8f95f.e81ec",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3664.797710418701,
+ "y": 5249.54882113139,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ea0b0cf4.b0b87"
+ ]
+ ]
+ },
+ {
+ "id": "5f65e4dc.17ee84",
+ "type": "save",
+ "name": "save l3-interface-ipv6-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv6-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3396.702533721924,
+ "y": 5305.977599143982,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c7c91c2b.8530c8"
+ ]
+ ]
+ },
+ {
+ "id": "9a0c5b84.5a57f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3103.3694038391113,
+ "y": 5357.644437789917,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5f65e4dc.17ee84",
+ "6821e286.f06a64"
+ ]
+ ]
+ },
+ {
+ "id": "20bc2782.743bc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3810.202407836914,
+ "y": 5305.962091445923,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1d21480c.1addf8",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "c7c91c2b.8530c8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3653.3692932128906,
+ "y": 5305.977761268616,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "20bc2782.743bc"
+ ]
+ ]
+ },
+ {
+ "id": "6821e286.f06a64",
+ "type": "save",
+ "name": "save l3-interface-ipv6-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv6-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3391.702777862549,
+ "y": 5404.311017990112,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8cd900c5.0fd1d",
+ "7505a4c8.0ea53c"
+ ]
+ ]
+ },
+ {
+ "id": "b7b6484f.d8c77",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3811.8690299987793,
+ "y": 5375.962062835693,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e3d10ed9.82b7b8",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "79bf1748.e06bb8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3811.8691062927246,
+ "y": 5428.961821556091,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fedf80c9.88e5f",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "8cd900c5.0fd1d",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3655.035915374756,
+ "y": 5375.977732658386,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b7b6484f.d8c77"
+ ]
+ ]
+ },
+ {
+ "id": "7505a4c8.0ea53c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3663.607448577881,
+ "y": 5428.5968770980835,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "79bf1748.e06bb8"
+ ]
+ ]
+ },
+ {
+ "id": "474d2262.a76184",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1118.083583831787,
+ "y": 6134.692134380341,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b6a8d268.c987",
+ "8b5e2bc.0d8cdd8",
+ "81d51660.a0c9e8",
+ "a9042f25.4b114"
+ ]
+ ]
+ },
+ {
+ "id": "5ff1efff.4270b8",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1766.0837593078613,
+ "y": 6257.02588224411,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f2b022e3.1f756"
+ ]
+ ]
+ },
+ {
+ "id": "e3153e0c.d09088",
+ "type": "save",
+ "name": "save vip-ipv4-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv4-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >\n<parameter name=\"vip-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`\" />\n<parameter name=\"vip-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1849.0836143493652,
+ "y": 6088.358893871307,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6c580401.058424",
+ "381a766c.6ae85a"
+ ]
+ ]
+ },
+ {
+ "id": "81d51660.a0c9e8",
+ "type": "for",
+ "name": "for each floating ipv4 address",
+ "xml": "<for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1357.0836067199707,
+ "y": 6146.358966350555,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a116ff51.f71318"
+ ]
+ ]
+ },
+ {
+ "id": "a116ff51.f71318",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1583.0836067199707,
+ "y": 6144.358966350555,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e3153e0c.d09088",
+ "caa9e69f.d253a",
+ "5ff1efff.4270b8"
+ ]
+ ]
+ },
+ {
+ "id": "af60e3c3.bb56a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2244.583484649658,
+ "y": 6058.343266963959,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f4049c01.0aeaf",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "26f5dd9.f21b7a2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2244.5835609436035,
+ "y": 6111.343025684357,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5573d94b.dc5",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "6c580401.058424",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2087.7503700256348,
+ "y": 6058.358936786652,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "af60e3c3.bb56a"
+ ]
+ ]
+ },
+ {
+ "id": "381a766c.6ae85a",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2096.3219032287598,
+ "y": 6110.978081226349,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "26f5dd9.f21b7a2"
+ ]
+ ]
+ },
+ {
+ "id": "cd3cd499.458be8",
+ "type": "save",
+ "name": "save vip-ipv4-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2184.7502098083496,
+ "y": 6201.025557041168,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a45ccf9a.b8373",
+ "85e3b005.bd6568"
+ ]
+ ]
+ },
+ {
+ "id": "5c68b77d.81077",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2587.916488647461,
+ "y": 6173.009899675846,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c60c031b.634f38",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "40a56b3d.e7bfb4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2587.9165649414062,
+ "y": 6226.009658396244,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bdc62da9.93398",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "a45ccf9a.b8373",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2431.0833740234375,
+ "y": 6173.025569498539,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5c68b77d.81077"
+ ]
+ ]
+ },
+ {
+ "id": "85e3b005.bd6568",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2439.6549072265625,
+ "y": 6225.644713938236,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "40a56b3d.e7bfb4"
+ ]
+ ]
+ },
+ {
+ "id": "12a683dc.f7d1cc",
+ "type": "save",
+ "name": "save vip-ipv6-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv6-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >\n<parameter name=\"vip-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`\" />\n<parameter name=\"vip-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1852.4169425964355,
+ "y": 6411.69157743454,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f3231ce.0a38d6",
+ "5e4e24ef.38b0bc"
+ ]
+ ]
+ },
+ {
+ "id": "a9042f25.4b114",
+ "type": "for",
+ "name": "for each floating ipv6 address",
+ "xml": "<for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1360.416934967041,
+ "y": 6468.691649913788,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "669eaafe.ae3adc"
+ ]
+ ]
+ },
+ {
+ "id": "669eaafe.ae3adc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1586.416934967041,
+ "y": 6467.691649913788,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "12a683dc.f7d1cc",
+ "475a576d.8e3c28",
+ "81320c04.9ba968"
+ ]
+ ]
+ },
+ {
+ "id": "2b2655ee.d0e88a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2247.9168128967285,
+ "y": 6381.675950527191,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "37375282.76ddb6",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "4588595a.f76a3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2247.916889190674,
+ "y": 6434.675709247589,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "48c2cba4.91f6cc",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "f3231ce.0a38d6",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2091.083698272705,
+ "y": 6381.691620349884,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2b2655ee.d0e88a"
+ ]
+ ]
+ },
+ {
+ "id": "5e4e24ef.38b0bc",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2099.65523147583,
+ "y": 6434.310764789581,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4588595a.f76a3"
+ ]
+ ]
+ },
+ {
+ "id": "2c2d6569.a1c6a2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2581.250068664551,
+ "y": 6494.676001131535,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4a19d7b6.f2c47",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "3ee8cc5c.76ddbc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2581.250144958496,
+ "y": 6547.6757598519325,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "84c51507.94d668",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "de9afd93.7c394",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2424.4169540405273,
+ "y": 6494.691670954227,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2c2d6569.a1c6a2"
+ ]
+ ]
+ },
+ {
+ "id": "6e9292b7.adab1c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2432.9884872436523,
+ "y": 6547.310815393925,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3ee8cc5c.76ddbc"
+ ]
+ ]
+ },
+ {
+ "id": "636270ad.cb1f1",
+ "type": "save",
+ "name": "save vip-ipv6-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2180.083797454834,
+ "y": 6523.358089923859,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "de9afd93.7c394",
+ "6e9292b7.adab1c"
+ ]
+ ]
+ },
+ {
+ "id": "4f542d3d.52a65c",
+ "type": "set",
+ "name": "set created_flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\n",
+ "comments": "",
+ "x": 1342.7502403259277,
+ "y": 4770.691873967648,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "b6a8d268.c987",
+ "type": "set",
+ "name": "set created-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\n",
+ "comments": "",
+ "x": 1313.4169960021973,
+ "y": 6018.692055404186,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "caa9e69f.d253a",
+ "type": "set",
+ "name": "set created-ipv4-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\n",
+ "comments": "",
+ "x": 1786.4169616699219,
+ "y": 6146.69213527441,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "475a576d.8e3c28",
+ "type": "set",
+ "name": "set created-ipv6-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\n",
+ "comments": "",
+ "x": 1791.7502975463867,
+ "y": 6472.691738545895,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "cb5ae333.4bb6c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1892.750415802002,
+ "y": 4730.692112863064,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fcab33e3.661e5"
+ ]
+ ]
+ },
+ {
+ "id": "e9f0935c.0d26e",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-vlan-tagging-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 660.1668167114258,
+ "y": 6805.692090034485,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bc1360c6.580c08"
+ ]
+ ]
+ },
+ {
+ "id": "bc1360c6.580c08",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1004.5002326965332,
+ "y": 6805.025585174561,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a09eae64.f34c68"
+ ]
+ ]
+ },
+ {
+ "id": "a09eae64.f34c68",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1159.5001068115234,
+ "y": 6805.025381088257,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3f7dfdbe.c1b85a",
+ "1a40ddac.06f67a"
+ ]
+ ]
+ },
+ {
+ "id": "3f7dfdbe.c1b85a",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1340.273723602295,
+ "y": 6777.763387203217,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "effbab1c.8eeb18",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 314.64286041259766,
+ "y": 556.5714378356934,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d583179d.999f08",
+ "13d1edde.2c3cc2",
+ "356786ed.1c1db2",
+ "527b3c86.073724",
+ "f269ddb2.03ac18",
+ "aca51e3b.78a188",
+ "a6f8df46.880ce8",
+ "d918a5d3.4b678",
+ "7933c6b5.bef96",
+ "b13baffe.18c468"
+ ]
+ ]
+ },
+ {
+ "id": "d4b60897.e18598",
+ "type": "switchNode",
+ "name": "switch from-preload",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 605.6547050476074,
+ "y": 2622.1672010421753,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7205c7e2.e07a68",
+ "338ca0a7.bfe7d8"
+ ]
+ ]
+ },
+ {
+ "id": "7205c7e2.e07a68",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 777.5594367980957,
+ "y": 2599.5482215881348,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cee08d41.b2fe6"
+ ]
+ ]
+ },
+ {
+ "id": "338ca0a7.bfe7d8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 779.2260894775391,
+ "y": 2644.5480604171753,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "afc9b079.ac8a6"
+ ]
+ ]
+ },
+ {
+ "id": "cee08d41.b2fe6",
+ "type": "set",
+ "name": "set automated-assignment to true",
+ "xml": "<set>\n<parameter name='automated-assignment' value='true' />\n",
+ "comments": "",
+ "x": 992.5594215393066,
+ "y": 2597.881392478943,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "afc9b079.ac8a6",
+ "type": "set",
+ "name": "set automated-assignment to false",
+ "xml": "<set>\n<parameter name='automated-assignment' value='false' />\n",
+ "comments": "",
+ "x": 990.8927421569824,
+ "y": 2642.8813123703003,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "81320c04.9ba968",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1767.1788291931152,
+ "y": 6571.572162151337,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d27afbea.8fdbb"
+ ]
+ ]
+ },
+ {
+ "id": "cf288013.27e988",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 584.4168014526367,
+ "y": 3982.3580837249756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4b547438.e5a1e4"
+ ]
+ ]
+ },
+ {
+ "id": "4b547438.e5a1e4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 774.9168701171875,
+ "y": 3983.191318511963,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e115a59a.78977"
+ ]
+ ]
+ },
+ {
+ "id": "e115a59a.78977",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 976.4168014526367,
+ "y": 3982.3580837249756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c279839c.179e2"
+ ]
+ ]
+ },
+ {
+ "id": "c279839c.179e2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1166.2501220703125,
+ "y": 3981.8575229644775,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9c5890c1.1bc73"
+ ]
+ ]
+ },
+ {
+ "id": "9c5890c1.1bc73",
+ "type": "get-resource",
+ "name": "get-resource VFC_RELATED_NETWORK_ROLE",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid\n and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1455.7500953674316,
+ "y": 3980.358165740967,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a30af21d.78b66",
+ "54be536b.883c7c"
+ ]
+ ]
+ },
+ {
+ "id": "a30af21d.78b66",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1726.7500343322754,
+ "y": 3885.0248680114746,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6573ac5d.e2d6fc"
+ ]
+ ]
+ },
+ {
+ "id": "6573ac5d.e2d6fc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1873.9405517578125,
+ "y": 3883.5728826522827,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d4e308ce.5712b",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "54be536b.883c7c",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1727.5832443237305,
+ "y": 4129.691747665405,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8b99514d.224a68"
+ ]
+ ]
+ },
+ {
+ "id": "bdec068a.d17588",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2145.9164962768555,
+ "y": 4131.69150352478,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2380b499.33cb74",
+ "2a3d42f3.0625f6",
+ "9050219d.292618",
+ "a92d624e.c2d3a8",
+ "64298756.8d8e3",
+ "ee1be000.48bb78",
+ "fa830b25.a2ef78",
+ "18757bd7.bc1504"
+ ]
+ ]
+ },
+ {
+ "id": "2a3d42f3.0625f6",
+ "type": "for",
+ "name": "for each vnf network",
+ "xml": "<for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2328.416675567627,
+ "y": 3974.024751663208,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2377be3.2805842"
+ ]
+ ]
+ },
+ {
+ "id": "2380b499.33cb74",
+ "type": "set",
+ "name": "set found-related-network to false",
+ "xml": "<set>\n<parameter name='found-related-network' value='false' />\n",
+ "comments": "",
+ "x": 2368.4167518615723,
+ "y": 3915.6915283203125,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f214ef27.8c7068",
+ "type": "for",
+ "name": "for each related network",
+ "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2727.4166374206543,
+ "y": 3950.6910152435303,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7ede6549.805acc"
+ ]
+ ]
+ },
+ {
+ "id": "2377be3.2805842",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2516.416675567627,
+ "y": 3974.024751663208,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f214ef27.8c7068",
+ "ac51f9c5.7f381"
+ ]
+ ]
+ },
+ {
+ "id": "7ede6549.805acc",
+ "type": "switchNode",
+ "name": "switch network-role matches",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role\n == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2979.4165534973145,
+ "y": 3950.6910915374756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "639ffefa.c6a668"
+ ]
+ ]
+ },
+ {
+ "id": "8b99514d.224a68",
+ "type": "for",
+ "name": "for each db related-network",
+ "xml": "<for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1931.916618347168,
+ "y": 4130.35849571228,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bdec068a.d17588"
+ ]
+ ]
+ },
+ {
+ "id": "639ffefa.c6a668",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3179.4165534973145,
+ "y": 3948.6910915374756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "81afa752.330a7"
+ ]
+ ]
+ },
+ {
+ "id": "81afa752.330a7",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3333.4165534973145,
+ "y": 3946.6910915374756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9b9cff35.d523",
+ "46e64037.6ec64",
+ "8025f3eb.bd5ea"
+ ]
+ ]
+ },
+ {
+ "id": "9b9cff35.d523",
+ "type": "set",
+ "name": "set found-related-network to true",
+ "xml": "<set>\n<parameter name='found-related-network' value='true' />\n",
+ "comments": "",
+ "x": 3565.4167137145996,
+ "y": 3906.357675552368,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "46e64037.6ec64",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3488.7498893737793,
+ "y": 3993.024425506592,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "9050219d.292618",
+ "type": "switchNode",
+ "name": "switch found-related-network",
+ "xml": "<switch test='`$found-related-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2363.9165649414062,
+ "y": 4074.6916370391846,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2c771fce.f6f0e"
+ ]
+ ]
+ },
+ {
+ "id": "2c771fce.f6f0e",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2557.9165649414062,
+ "y": 4072.6916370391846,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ed2c165a.75be88"
+ ]
+ ]
+ },
+ {
+ "id": "ed2c165a.75be88",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2687.9165649414062,
+ "y": 4072.6916370391846,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e1873883.a0b338",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "a92d624e.c2d3a8",
+ "type": "set",
+ "name": "set is-trunked and segmentation-id in vm-network",
+ "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />\n",
+ "comments": "",
+ "x": 2425.9165649414062,
+ "y": 4122.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ee1be000.48bb78",
+ "type": "switchNode",
+ "name": "switch rn-index",
+ "xml": "<switch test='`$rn-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2313.9165649414062,
+ "y": 4230.691637039185,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "74c68449.7a6374"
+ ]
+ ]
+ },
+ {
+ "id": "64298756.8d8e3",
+ "type": "set",
+ "name": "set rn-index to related network length",
+ "xml": "<set>\n<parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />\n",
+ "comments": "",
+ "x": 2385.9165649414062,
+ "y": 4174.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "74c68449.7a6374",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2477.9165649414062,
+ "y": 4230.691637039185,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8aa2ab54.ceea58"
+ ]
+ ]
+ },
+ {
+ "id": "8aa2ab54.ceea58",
+ "type": "set",
+ "name": "set rn-index to 0",
+ "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
+ "comments": "",
+ "x": 2637.9165649414062,
+ "y": 4230.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "fa830b25.a2ef78",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />\n",
+ "comments": "",
+ "x": 2337.9165649414062,
+ "y": 4282.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "18757bd7.bc1504",
+ "type": "set",
+ "name": "set new related network length",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
+ "comments": "",
+ "x": 2355.9165649414062,
+ "y": 4334.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ac51f9c5.7f381",
+ "type": "switchNode",
+ "name": "switch found-related-network",
+ "xml": "<switch test='`$found-related-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2740.416660308838,
+ "y": 3998.3578758239746,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8dfcb5e2.bf7d2"
+ ]
+ ]
+ },
+ {
+ "id": "8dfcb5e2.bf7d2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2937.083522796631,
+ "y": 3998.358247756958,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "49e231.bdb7fdd"
+ ]
+ ]
+ },
+ {
+ "id": "49e231.bdb7fdd",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3067.083408355713,
+ "y": 3996.6913719177246,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "8025f3eb.bd5ea",
+ "type": "set",
+ "name": "save indexes",
+ "xml": "<set>\n<parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />\n<parameter name='saved-related-network-index' value='`$related-network-index`' />\n",
+ "comments": "",
+ "x": 3507.0836219787598,
+ "y": 3948.3582458496094,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "67c600cd.b9cba",
+ "type": "execute",
+ "name": "generate cp-instance-id",
+ "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" >\n<parameter name=\"ctx-destination\" value=\"cp-instance-id\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1795.9881134033203,
+ "y": 4977.882298946381,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "def6cb8a.75abd",
+ "type": "save",
+ "name": "save cp to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"cp\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\" >\n<parameter name=\"cp-instance-id\" value=\"`$cp-instance-id`\" />\n<parameter name=\"port-id\" value=\"0\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1777.6547355651855,
+ "y": 5044.548804759979,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cec4e53.0593898",
+ "73e9c7c7.e33118"
+ ]
+ ]
+ },
+ {
+ "id": "cec4e53.0593898",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1966.6547164916992,
+ "y": 5020.215418279171,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6c56796a.9785"
+ ]
+ ]
+ },
+ {
+ "id": "6c56796a.9785",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2133.821464538574,
+ "y": 5036.009851872921,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "56c543eb.6150dc",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "73e9c7c7.e33118",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1971.6547164916992,
+ "y": 5069.881678044796,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6c56796a.9785"
+ ]
+ ]
+ },
+ {
+ "id": "58cb90bc.4bbef8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1572.4644355773926,
+ "y": 5247.16709280014,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bb7a5471.736f58",
+ "8cfa77fd.d126b8",
+ "67c600cd.b9cba",
+ "def6cb8a.75abd",
+ "c24016d.89a2f68",
+ "e9947f94.840de"
+ ]
+ ]
+ },
+ {
+ "id": "bb7a5471.736f58",
+ "type": "set",
+ "name": "set connection point data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'\n value='`$cp-instance-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'\n value='0' />\n",
+ "comments": "",
+ "x": 1807.9882774353027,
+ "y": 5122.406374454498,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "197afe0.8443282",
+ "type": "comment",
+ "name": "Floating IPs",
+ "info": "",
+ "comments": "",
+ "x": 1368.7500953674316,
+ "y": 6104.69149273634,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c24016d.89a2f68",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1792.0832786560059,
+ "y": 5518.691868305206,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "56804039.82c95"
+ ]
+ ]
+ },
+ {
+ "id": "1b4d007d.b0d738",
+ "type": "save",
+ "name": "save cp relationship to l3-network",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2430.416759490967,
+ "y": 5518.358376026154,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "925d685c.856048",
+ "2b843689.1bb8aa"
+ ]
+ ]
+ },
+ {
+ "id": "c8275ab5.32ae",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2802.249797821045,
+ "y": 5491.676324367523,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d01f264c.61c318",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "ee39eeee.ad11d8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2802.2498741149902,
+ "y": 5544.676083087921,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "64482d7f.371044",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "925d685c.856048",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2645.4166831970215,
+ "y": 5491.691994190216,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c8275ab5.32ae"
+ ]
+ ]
+ },
+ {
+ "id": "2b843689.1bb8aa",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2653.9882164001465,
+ "y": 5544.311138629913,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ee39eeee.ad11d8"
+ ]
+ ]
+ },
+ {
+ "id": "e9947f94.840de",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1792.0834312438965,
+ "y": 5679.358223438263,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a50b0d5a.ce5908"
+ ]
+ ]
+ },
+ {
+ "id": "8135e354.1212a",
+ "type": "save",
+ "name": "save cp relationship to l3-network and vlan-tag",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vlan-tag\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vlan-tags/vlan-tag/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2711.7504386901855,
+ "y": 5677.358218669891,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "54f5fc79.be774c",
+ "c10c7043.50dca8"
+ ]
+ ]
+ },
+ {
+ "id": "cffcf5c1.1e4ec8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3118.583484649658,
+ "y": 5650.675517559052,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7a163627.fcef3",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "6f874e0.8ac4234",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3118.5835609436035,
+ "y": 5703.67527627945,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "57dc1477.8da4b4",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "54f5fc79.be774c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2961.7503700256348,
+ "y": 5650.691187381745,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cffcf5c1.1e4ec8"
+ ]
+ ]
+ },
+ {
+ "id": "c10c7043.50dca8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2970.3219032287598,
+ "y": 5703.310331821443,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6f874e0.8ac4234"
+ ]
+ ]
+ },
+ {
+ "id": "b14df7f0.70279",
+ "type": "for",
+ "name": "for each related-network",
+ "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2407.750270843506,
+ "y": 5677.358219623566,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8135e354.1212a"
+ ]
+ ]
+ },
+ {
+ "id": "50d2cea2.bb528",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-generate-heat-parameters",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 656.0835952758789,
+ "y": 6919.108981132507,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "886b51f6.cb8c8",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 466.1669006347656,
+ "y": 6972.108658790588,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "14aa8b5.d6278f5",
+ "type": "switchNode",
+ "name": "switch input vf-module-name",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 638.7499961853027,
+ "y": 2404.191040992737,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "75d4819e.af875",
+ "b5b05f4.3353d2"
+ ]
+ ]
+ },
+ {
+ "id": "75d4819e.af875",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 861.2499618530273,
+ "y": 2326.6910009384155,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "35aa0744.80b5c8"
+ ]
+ ]
+ },
+ {
+ "id": "b5b05f4.3353d2",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 862.9285621643066,
+ "y": 2499.309585571289,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "857ef89e.1a5408"
+ ]
+ ]
+ },
+ {
+ "id": "a0f0f960.3140c8",
+ "type": "for",
+ "name": "for each vnfc-subnet-role",
+ "xml": "<for index='subnet-role-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1396.2500953674316,
+ "y": 3199.1907176971436,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9d57c772.862988"
+ ]
+ ]
+ },
+ {
+ "id": "9d57c772.862988",
+ "type": "for",
+ "name": "for each vnfc-address-family",
+ "xml": "<for index='address-family-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1644.5833549499512,
+ "y": 3199.1907176971436,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "400506a5.64a12"
+ ]
+ ]
+ },
+ {
+ "id": "4b70bca8.2d04e4",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 602.0832710266113,
+ "y": 2917.5240545272827,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "76c0436b.ee91fc"
+ ]
+ ]
+ },
+ {
+ "id": "76c0436b.ee91fc",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.7500495910645,
+ "y": 2916.1912031173706,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f9241628.26f1"
+ ]
+ ]
+ },
+ {
+ "id": "f9241628.26f1",
+ "type": "for",
+ "name": "for each vnfc-network",
+ "xml": "<for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 984.9166221618652,
+ "y": 2916.023892402649,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ba3c1b94.fddce"
+ ]
+ ]
+ },
+ {
+ "id": "ba3c1b94.fddce",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1197.083293914795,
+ "y": 2915.0242528915405,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "dd887364.2936e",
+ "ee8eb9ce.fef06",
+ "3f48cbb0.25141c",
+ "a0f0f960.3140c8"
+ ]
+ ]
+ },
+ {
+ "id": "dd887364.2936e",
+ "type": "set",
+ "name": "set vnf-network-index to -1",
+ "xml": "<set>\n<parameter name='vnf-network-index' value='-1' />\n",
+ "comments": "",
+ "x": 1408.7500114440918,
+ "y": 2868.357466697693,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ee8eb9ce.fef06",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1390.4168014526367,
+ "y": 2915.024218559265,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e1cac1a5.f31bf"
+ ]
+ ]
+ },
+ {
+ "id": "e1cac1a5.f31bf",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1632.0832710266113,
+ "y": 2913.357713699341,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d60f049.7085ef8"
+ ]
+ ]
+ },
+ {
+ "id": "d60f049.7085ef8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1828.7499504089355,
+ "y": 2913.357632637024,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4013cdce.5ea73c"
+ ]
+ ]
+ },
+ {
+ "id": "4013cdce.5ea73c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1982.0831718444824,
+ "y": 2913.3575048446655,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "903a3aca.3e3288",
+ "4a6e737f.7ebf6c",
+ "9291e114.ac1f58"
+ ]
+ ]
+ },
+ {
+ "id": "903a3aca.3e3288",
+ "type": "set",
+ "name": "set vnf-network-index",
+ "xml": "<set>\n<parameter name='vnf-network-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 2188.7500038146973,
+ "y": 2861.6908826828003,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "4a6e737f.7ebf6c",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2143.7499198913574,
+ "y": 2951.690803527832,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3f48cbb0.25141c",
+ "type": "switchNode",
+ "name": "switch vnf-network-index",
+ "xml": "<switch test='`$vnf-network-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1402.083339691162,
+ "y": 2975.0242204666138,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b6265ed2.699af8"
+ ]
+ ]
+ },
+ {
+ "id": "b6265ed2.699af8",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1593.7499809265137,
+ "y": 2975.0244646072388,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2ed011a8.f17046"
+ ]
+ ]
+ },
+ {
+ "id": "2ed011a8.f17046",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1742.0831718444824,
+ "y": 2973.3575048446655,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4023444f.ec71fc",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "cc22dd63.414278",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2433.7498893737793,
+ "y": 3383.357356071472,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7043f864.7c537",
+ "4ca198d0.a53ec8",
+ "791dbcea.c3f15c"
+ ]
+ ]
+ },
+ {
+ "id": "7043f864.7c537",
+ "type": "for",
+ "name": "for each subnet-data",
+ "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2630.4166412353516,
+ "y": 3338.3572750091553,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "52062448.8dfe2c"
+ ]
+ ]
+ },
+ {
+ "id": "52062448.8dfe2c",
+ "type": "switchNode",
+ "name": "address-families match?",
+ "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2857.083267211914,
+ "y": 3338.3572750091553,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "543cb01a.eba16"
+ ]
+ ]
+ },
+ {
+ "id": "543cb01a.eba16",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3037.0832328796387,
+ "y": 3338.357681274414,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bdf7e6b7.6ee818"
+ ]
+ ]
+ },
+ {
+ "id": "60ebadf1.68a63c",
+ "type": "set",
+ "name": "set tmp.address-family",
+ "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
+ "comments": "",
+ "x": 2462.083225250244,
+ "y": 3201.6907691955566,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "400506a5.64a12",
+ "type": "switchNode",
+ "name": "switch vnfc-subnet-ip_length",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1907.083568572998,
+ "y": 3198.357804298401,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e743e437.36a2c8",
+ "57980fd5.eb6b38",
+ "67a6a045.51b5d"
+ ]
+ ]
+ },
+ {
+ "id": "e743e437.36a2c8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2108.7500801086426,
+ "y": 3098.3573474884033,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "14f67782.825778"
+ ]
+ ]
+ },
+ {
+ "id": "57980fd5.eb6b38",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2105.1787109375,
+ "y": 3284.309638977051,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5396132e.ac2ccc"
+ ]
+ ]
+ },
+ {
+ "id": "14f67782.825778",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2240.4166297912598,
+ "y": 3121.024094581604,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a683f1c3.23c0e",
+ "type": "set",
+ "name": "set subnet-id to -1",
+ "xml": "<set>\n<parameter name='subnet-id' value='-1' />\n",
+ "comments": "",
+ "x": 3130.417148590088,
+ "y": 3500.024761199951,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "5396132e.ac2ccc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2258.7501258850098,
+ "y": 3283.357271194458,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "60ebadf1.68a63c",
+ "cc22dd63.414278"
+ ]
+ ]
+ },
+ {
+ "id": "8baea399.050c9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4390.416746139526,
+ "y": 3671.6912381649017,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2294588d.69be78",
+ "7cf89eba.e30e88"
+ ]
+ ]
+ },
+ {
+ "id": "7cf89eba.e30e88",
+ "type": "execute",
+ "name": "execute isInSameSubnet",
+ "xml": "<execute plugin=\"com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool\" method=\"isInSameSubnet\">\n\t<parameter name=\"firstIPAddr\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`\" />\n\t<parameter name=\"secondIPAddr\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`\" />\n\t<parameter name=\"subnet\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`\" />\n\t<parameter name=\"ipType\" value=\"`$ip-type`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4605.416748046875,
+ "y": 3721.6909120082855,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b43b85f4.a3f6f"
+ ]
+ ]
+ },
+ {
+ "id": "2294588d.69be78",
+ "type": "switchNode",
+ "name": "switch tmp.address-family",
+ "xml": "<switch test='`$tmp.address-family`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4607.083904266357,
+ "y": 3628.3578984737396,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "594b959.c2361ec",
+ "9b3a3849.f2667"
+ ]
+ ]
+ },
+ {
+ "id": "594b959.c2361ec",
+ "type": "outcome",
+ "name": "ipv4",
+ "xml": "<outcome value='ipv4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4810.417166392008,
+ "y": 3601.6911288102465,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6a520cb3.77f044"
+ ]
+ ]
+ },
+ {
+ "id": "9b3a3849.f2667",
+ "type": "outcome",
+ "name": "ipv6",
+ "xml": "<outcome value='ipv6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4810.416839599609,
+ "y": 3648.3576562404633,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7af13a32.5ffc94"
+ ]
+ ]
+ },
+ {
+ "id": "6a520cb3.77f044",
+ "type": "set",
+ "name": "set ip-type parameter to IPv4",
+ "xml": "<set>\n<parameter name='ip-type' value='IPv4' />\n",
+ "comments": "",
+ "x": 5007.083652496338,
+ "y": 3600.024602651596,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "7af13a32.5ffc94",
+ "type": "set",
+ "name": "set ip-type parameter to IPv6",
+ "xml": "<set>\n<parameter name='ip-type' value='IPv6' />\n",
+ "comments": "",
+ "x": 5012.083530426025,
+ "y": 3648.3576753139496,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ab82723f.61758",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4945.416778564453,
+ "y": 3721.3576753139496,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b1e91b4.62d23e8",
+ "7d551750.2413e8"
+ ]
+ ]
+ },
+ {
+ "id": "b1e91b4.62d23e8",
+ "type": "set",
+ "name": "set subnet-id",
+ "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
+ "comments": "",
+ "x": 5123.750099182129,
+ "y": 3698.024162054062,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "7d551750.2413e8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 5108.750102996826,
+ "y": 3744.6911561489105,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "99f86360.f7c048",
+ "type": "switchNode",
+ "name": "switch subnet-id",
+ "xml": "<switch test='`$subnet-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3122.083023071289,
+ "y": 3661.6914958953857,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3596c952.3e6b56"
+ ]
+ ]
+ },
+ {
+ "id": "3596c952.3e6b56",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3278.7495880126953,
+ "y": 3661.691431045532,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6bb9a9d2.d4614"
+ ]
+ ]
+ },
+ {
+ "id": "6bb9a9d2.d4614",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3427.082778930664,
+ "y": 3660.024471282959,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1c39b653.2b576a",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "5e59b7e1.f58dd8",
+ "type": "set",
+ "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />\n",
+ "comments": "",
+ "x": 3233.749668121338,
+ "y": 3738.3582668304443,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "fcdfebce.a935a8",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 587.0832633972168,
+ "y": 3333.3575048446655,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b43b85f4.a3f6f",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4792.083351135254,
+ "y": 3721.6914002895355,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ab82723f.61758"
+ ]
+ ]
+ },
+ {
+ "id": "9291e114.ac1f58",
+ "type": "set",
+ "name": "set network-id",
+ "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />\n",
+ "comments": "",
+ "x": 2165.4165077209473,
+ "y": 2906.690965652466,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "67190c0.7b4b2f4",
+ "type": "switchNode",
+ "name": "switch nfc-naming-code",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1363.7499732971191,
+ "y": 4521.6906933784485,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fbe686e0.5f0fd",
+ "957bd493.746db8"
+ ]
+ ]
+ },
+ {
+ "id": "fbe686e0.5f0fd",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1548.7499198913574,
+ "y": 4496.690512180328,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "accede8.fdef6a"
+ ]
+ ]
+ },
+ {
+ "id": "957bd493.746db8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1546.8451919555664,
+ "y": 4543.476339817047,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3d2d20a5.318a68"
+ ]
+ ]
+ },
+ {
+ "id": "accede8.fdef6a",
+ "type": "set",
+ "name": "set tmp.nfc-naming-code to DEFAULT",
+ "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='DEFAULT' />\n",
+ "comments": "",
+ "x": 1780.416690826416,
+ "y": 4495.023862361908,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3d2d20a5.318a68",
+ "type": "set",
+ "name": "set tmp.nfc-naming-code",
+ "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />\n",
+ "comments": "",
+ "x": 1737.0832023620605,
+ "y": 4543.357360363007,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "2591369f.6e45f2",
+ "type": "switchNode",
+ "name": "switch nfc-function",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1352.0833053588867,
+ "y": 4620.0238671302795,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "db65fbda.8eb47",
+ "25e9a13b.27b69e"
+ ]
+ ]
+ },
+ {
+ "id": "db65fbda.8eb47",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1548.749912261963,
+ "y": 4595.0236649513245,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "402342b6.e54cbc"
+ ]
+ ]
+ },
+ {
+ "id": "25e9a13b.27b69e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1546.8451843261719,
+ "y": 4641.809492588043,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fc9c94e4.1cab6"
+ ]
+ ]
+ },
+ {
+ "id": "402342b6.e54cbc",
+ "type": "set",
+ "name": "set tmp.nfc-function to DEFAULT",
+ "xml": "<set>\n<parameter name='tmp.nfc-function' value='DEFAULT' />\n",
+ "comments": "",
+ "x": 1760.4166946411133,
+ "y": 4593.356873989105,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "fc9c94e4.1cab6",
+ "type": "set",
+ "name": "set tmp.nfc-function",
+ "xml": "<set>\n<parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />\n",
+ "comments": "",
+ "x": 1718.7498245239258,
+ "y": 4641.690535068512,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "56804039.82c95",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2025.4166221618652,
+ "y": 5518.690894603729,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d7344243.b04a2"
+ ]
+ ]
+ },
+ {
+ "id": "d7344243.b04a2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2223.7500915527344,
+ "y": 5518.358049869537,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1b4d007d.b0d738"
+ ]
+ ]
+ },
+ {
+ "id": "a50b0d5a.ce5908",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2028.7499656677246,
+ "y": 5678.357342243195,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ecf473bc.4b56a8"
+ ]
+ ]
+ },
+ {
+ "id": "ecf473bc.4b56a8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2227.0834350585938,
+ "y": 5678.024497509003,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b14df7f0.70279"
+ ]
+ ]
+ },
+ {
+ "id": "f2b022e3.1f756",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1932.0832481384277,
+ "y": 6256.690762042999,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cd3cd499.458be8",
+ "8f630208.bc1d7"
+ ]
+ ]
+ },
+ {
+ "id": "d27afbea.8fdbb",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1933.7499961853027,
+ "y": 6571.690773487091,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "636270ad.cb1f1",
+ "8293c8c0.560c58"
+ ]
+ ]
+ },
+ {
+ "id": "8f630208.bc1d7",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2148.7501945495605,
+ "y": 6315.023932933807,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a6245c2f.d57048"
+ ]
+ ]
+ },
+ {
+ "id": "c5f5f167.b223a",
+ "type": "save",
+ "name": "save vip-ipv4-address-list relationship to cp",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2823.7501182556152,
+ "y": 6315.023771762848,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "af4f9563.46c848",
+ "20889d25.78e392"
+ ]
+ ]
+ },
+ {
+ "id": "24613f9d.2d98c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3215.583209991455,
+ "y": 6288.341553211212,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4923f1db.2fcc2",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "215b3725.6db0e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3215.5832862854004,
+ "y": 6341.34131193161,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "97a750a7.0acbc8",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "af4f9563.46c848",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3058.7500953674316,
+ "y": 6288.357223033905,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "24613f9d.2d98c"
+ ]
+ ]
+ },
+ {
+ "id": "20889d25.78e392",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3067.3216285705566,
+ "y": 6340.976367473602,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "215b3725.6db0e8"
+ ]
+ ]
+ },
+ {
+ "id": "8293c8c0.560c58",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2150.416591644287,
+ "y": 6638.357342243195,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "69d9fcf7.12a64c"
+ ]
+ ]
+ },
+ {
+ "id": "d0a7f2e0.3a2078",
+ "type": "save",
+ "name": "save vip-ipv6-address-list relationship to cp",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2820.41654586792,
+ "y": 6636.690124988556,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "84935ce4.e84668",
+ "5e735e5d.b462a8"
+ ]
+ ]
+ },
+ {
+ "id": "32fbd7c1.249f1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3212.2496376037598,
+ "y": 6610.00790643692,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fc4213a2.47c98",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "d624a09c.620df",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3212.249713897705,
+ "y": 6663.007665157318,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fd80fcb3.880c8",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "84935ce4.e84668",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3055.4165229797363,
+ "y": 6610.023576259613,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "32fbd7c1.249f1"
+ ]
+ ]
+ },
+ {
+ "id": "5e735e5d.b462a8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3063.9880561828613,
+ "y": 6662.64272069931,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d624a09c.620df"
+ ]
+ ]
+ },
+ {
+ "id": "a6245c2f.d57048",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2402.083263397217,
+ "y": 6315.023609638214,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "372012a9.b14566"
+ ]
+ ]
+ },
+ {
+ "id": "372012a9.b14566",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2588.7501068115234,
+ "y": 6315.02409696579,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c5f5f167.b223a"
+ ]
+ ]
+ },
+ {
+ "id": "69d9fcf7.12a64c",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2398.749843597412,
+ "y": 6636.690350055695,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fc024c49.f1c3f"
+ ]
+ ]
+ },
+ {
+ "id": "fc024c49.f1c3f",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2585.4166870117188,
+ "y": 6636.69083738327,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d0a7f2e0.3a2078"
+ ]
+ ]
+ },
+ {
+ "id": "1d4a09e3.74f01e",
+ "type": "comment",
+ "name": "SELF-SERVE FORK",
+ "info": "",
+ "comments": "",
+ "x": 748.4642944335938,
+ "y": 968.7976198196411,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "bb6a45ed.04707",
+ "type": "comment",
+ "name": "First, count the subnets for this address family",
+ "info": "",
+ "comments": "",
+ "x": 2763.750400543213,
+ "y": 3247.999765396118,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "b1ade774.cfc288",
+ "type": "for",
+ "name": "for each subnet-data",
+ "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3137.0830879211426,
+ "y": 3543.000268936157,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1d2a481b.bb5bc8"
+ ]
+ ]
+ },
+ {
+ "id": "1d2a481b.bb5bc8",
+ "type": "switchNode",
+ "name": "address-families match?",
+ "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3363.749713897705,
+ "y": 3543.000268936157,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "79d9b537.c3936c"
+ ]
+ ]
+ },
+ {
+ "id": "79d9b537.c3936c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3543.7496795654297,
+ "y": 3543.000675201416,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d1d8beb4.cea2d8"
+ ]
+ ]
+ },
+ {
+ "id": "4ca198d0.a53ec8",
+ "type": "set",
+ "name": "set af-count to 0",
+ "xml": "<set>\n<parameter name='af-count' value='0' />\n",
+ "comments": "",
+ "x": 2618.749973297119,
+ "y": 3289.6665172576904,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "70a514e0.1d9e4c",
+ "type": "set",
+ "name": "increment af-count",
+ "xml": "<set>\n<parameter name='af-count' value='`$af-count + 1`' />\n",
+ "comments": "",
+ "x": 3367.083339691162,
+ "y": 3356.333267211914,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "bdf7e6b7.6ee818",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3183.749713897705,
+ "y": 3337.999952316284,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "70a514e0.1d9e4c",
+ "5bb16a61.6e69bc"
+ ]
+ ]
+ },
+ {
+ "id": "5bb16a61.6e69bc",
+ "type": "set",
+ "name": "set subnet-id",
+ "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
+ "comments": "",
+ "x": 3348.7497596740723,
+ "y": 3311.3332653045654,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "791dbcea.c3f15c",
+ "type": "switchNode",
+ "name": "switch af-count",
+ "xml": "<switch test='`$af-count`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2608.750385284424,
+ "y": 3526.3334341049194,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ed47a0ef.b1bf78",
+ "79ae7762.a4525"
+ ]
+ ]
+ },
+ {
+ "id": "ed47a0ef.b1bf78",
+ "type": "outcome",
+ "name": "1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2768.7499046325684,
+ "y": 3424.666603088379,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e053fb41.4c10f8"
+ ]
+ ]
+ },
+ {
+ "id": "e053fb41.4c10f8",
+ "type": "set",
+ "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\n value='`$subnet-id`' />\n",
+ "comments": "",
+ "x": 3042.083209991455,
+ "y": 3422.999952316284,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "79ae7762.a4525",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2768.7498207092285,
+ "y": 3626.333522796631,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f9e96cae.86b4f8"
+ ]
+ ]
+ },
+ {
+ "id": "f9e96cae.86b4f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2925.41646194458,
+ "y": 3626.333204269409,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a683f1c3.23c0e",
+ "b1ade774.cfc288",
+ "99f86360.f7c048",
+ "5e59b7e1.f58dd8"
+ ]
+ ]
+ },
+ {
+ "id": "d1d8beb4.cea2d8",
+ "type": "switchNode",
+ "name": "switch network-start-address",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3738.749858856201,
+ "y": 3541.3335189819336,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2066aba2.d3bb4c",
+ "f3e101cd.85b1b8"
+ ]
+ ]
+ },
+ {
+ "id": "2066aba2.d3bb4c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 3935.416706085205,
+ "y": 3476.333129644394,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c6a0914d.3826e8"
+ ]
+ ]
+ },
+ {
+ "id": "f3e101cd.85b1b8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3928.512104034424,
+ "y": 3610.6190412044525,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4cd6ad1.9e140d4"
+ ]
+ ]
+ },
+ {
+ "id": "4cd6ad1.9e140d4",
+ "type": "switchNode",
+ "name": "switch cidr-mask",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4083.749897003174,
+ "y": 3609.6662480831146,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f5b0bc14.89cdb8",
+ "78b8442f.309bb4"
+ ]
+ ]
+ },
+ {
+ "id": "f5b0bc14.89cdb8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 4238.749973297119,
+ "y": 3539.66654753685,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "892836a6.bb30b8"
+ ]
+ ]
+ },
+ {
+ "id": "78b8442f.309bb4",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4241.845769882202,
+ "y": 3672.2856347560883,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8baea399.050c9"
+ ]
+ ]
+ },
+ {
+ "id": "67a6a045.51b5d",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2110.4165840148926,
+ "y": 3146.333204269409,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "14f67782.825778"
+ ]
+ ]
+ },
+ {
+ "id": "c6a0914d.3826e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4080.416633605957,
+ "y": 3476.3328969478607,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "38e6ba0e.ecd3ae",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "892836a6.bb30b8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4385.416488647461,
+ "y": 3537.9997642040253,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5e50004f.2c9f",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "eafa8b76.275b48",
+ "type": "comment",
+ "name": "Ignore address families with no addresses",
+ "info": "",
+ "comments": "",
+ "x": 2384.74995803833,
+ "y": 3076.666700363159,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f5615f88.05ae28",
+ "type": "switchNode",
+ "name": "switch invariant-uuid",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1355.4167976379395,
+ "y": 4706.333078384399,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "32f079b9.ff27d6",
+ "1e96f66.5d21f8a"
+ ]
+ ]
+ },
+ {
+ "id": "32f079b9.ff27d6",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1537.083209991455,
+ "y": 4682.999708175659,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f9cc9731.038f7"
+ ]
+ ]
+ },
+ {
+ "id": "1e96f66.5d21f8a",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1535.178482055664,
+ "y": 4729.785535812378,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c87af5c.2b49f88"
+ ]
+ ]
+ },
+ {
+ "id": "f9cc9731.038f7",
+ "type": "save",
+ "name": "save vnfc to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1698.7498359680176,
+ "y": 4684.666700363159,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d4c69512.b7a85",
+ "cb5ae333.4bb6c"
+ ]
+ ]
+ },
+ {
+ "id": "a6f8df46.880ce8",
+ "type": "switchNode",
+ "name": "switch input cloud-owner",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 614.4641952514648,
+ "y": 358.65472888946533,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6677fe8a.aff6a",
+ "6295c766.2daaa8"
+ ]
+ ]
+ },
+ {
+ "id": "6677fe8a.aff6a",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 797.7975692749023,
+ "y": 328.65471744537354,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "39261ade.66ad8e"
+ ]
+ ]
+ },
+ {
+ "id": "6295c766.2daaa8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 797.5594749450684,
+ "y": 369.6072111129761,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a2677766.fe3f"
+ ]
+ ]
+ },
+ {
+ "id": "39261ade.66ad8e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 932.7975234985352,
+ "y": 326.98805713653564,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a2677766.fe3f",
+ "type": "set",
+ "name": "set prop.cloud-region.cloud-owner",
+ "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\n",
+ "comments": "",
+ "x": 1014.4641799926758,
+ "y": 368.6547384262085,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "d918a5d3.4b678",
+ "type": "call",
+ "name": "call self-serve-vf-module-forking-logic",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 646.0515670776367,
+ "y": 910.048059463501,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7933c6b5.bef96",
+ "type": "switchNode",
+ "name": "switch ss.self-serve-flag",
+ "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 604.1943054199219,
+ "y": 1137.0481281280518,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "aa4d9d31.8db2d",
+ "8b34e2b6.f12a5"
+ ]
+ ]
+ },
+ {
+ "id": "aa4d9d31.8db2d",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 824.908504486084,
+ "y": 1254.6190271377563,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b2cbded2.837b2"
+ ]
+ ]
+ },
+ {
+ "id": "8b34e2b6.f12a5",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 825.4799575805664,
+ "y": 1013.4766645431519,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "be10b89.7317448"
+ ]
+ ]
+ },
+ {
+ "id": "66d0262b.c1316",
+ "type": "call",
+ "name": "call check for VNF-API-preload and copy",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 657.2499923706055,
+ "y": 7316.2509298324585,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b097fd2d.1c3e2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 979.9999618530273,
+ "y": 487.6302709579468,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7e3f0173.cdd7c8",
+ "52adbd59.e3948c"
+ ]
+ ]
+ },
+ {
+ "id": "52adbd59.e3948c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1167.9166450500488,
+ "y": 471.26124906539917,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2b23f970.b0e516",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1082.2022666931152,
+ "y": 536.1183648109436,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fd16e118.302da8",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "fd16e118.302da8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_MODULE_MODEL table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1279.5236701965332,
+ "y": 514.6540641784668,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "19ca61b5.8fa5c6",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1096.4879722595215,
+ "y": 581.2612175941467,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cb67a353.3c75b",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "cb67a353.3c75b",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1291.130859375,
+ "y": 558.2255039215088,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "57fdbbee.7122f4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1058.095230102539,
+ "y": 709.3326988220215,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f134d1f3.94396",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "f134d1f3.94396",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"There are no VNFs defined in MD-SAL\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1265.0594863891602,
+ "y": 680.3684234619141,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a0d2ddbe.4ce55",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 922.3809356689453,
+ "y": 817.3326988220215,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bb2e5ad9.46ca68",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "bb2e5ad9.46ca68",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1124.345230102539,
+ "y": 792.6898679733276,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b91cfedb.3fa03",
+ "type": "call",
+ "name": "call self-serve-vf-module-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1247.3325996398926,
+ "y": 926.1062297821045,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "70c27670.277bc"
+ ]
+ ]
+ },
+ {
+ "id": "70c27670.277bc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1467.6301803588867,
+ "y": 925.5942611694336,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "adee9682.834c08"
+ ]
+ ]
+ },
+ {
+ "id": "2b74d386.947184",
+ "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": 1200.035270690918,
+ "y": 1171.367787361145,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f3642c27.ec6008",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1186.2494812011719,
+ "y": 1017.1094055175781,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d714905.ce5a3f",
+ "type": "set",
+ "name": "set order-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 1255.2732429504395,
+ "y": 971.0702590942383,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "be10b89.7317448",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 996.3687133789062,
+ "y": 1012.5700912475586,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b91cfedb.3fa03",
+ "d714905.ce5a3f",
+ "f3642c27.ec6008",
+ "2b74d386.947184",
+ "57df4d97.1b3e74",
+ "60730953.c387"
+ ]
+ ]
+ },
+ {
+ "id": "7e3f0173.cdd7c8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1706.5477905273438,
+ "y": 1193.904673576355,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "78f1021d.4797bc",
+ "d65a69c8.cf6ba"
+ ]
+ ]
+ },
+ {
+ "id": "adee9682.834c08",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1613.6309051513672,
+ "y": 924.9756164550781,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f38280a4.feb028",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "f38280a4.feb028",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1811.3096618652344,
+ "y": 904.2613258361816,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "41d32aa.5f68754",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id\n + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2518.750015258789,
+ "y": 1423.4688367843628,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bdb7e590.4bbf98",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2324.8211059570312,
+ "y": 1442.9331254959106,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "41d32aa.5f68754",
+ "1d6f9b4e.71254d"
+ ]
+ ]
+ },
+ {
+ "id": "e750571d.ca626",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1029.8213348388672,
+ "y": 1660.5997676849365,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1a7b6a78.6a325e",
+ "1d6f9b4e.71254d"
+ ]
+ ]
+ },
+ {
+ "id": "71cefe31.79b508",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1031.488021850586,
+ "y": 1703.933141708374,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "808569e9.5d9618",
+ "1d6f9b4e.71254d"
+ ]
+ ]
+ },
+ {
+ "id": "1a7b6a78.6a325e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Cloud region not found in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1233.75,
+ "y": 1637.3855438232422,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "808569e9.5d9618",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving cloud region from AAI. Is AAI down?\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1229.1667404174805,
+ "y": 1685.7188806533813,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2b8167ac.ee8e3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 914.4045486450195,
+ "y": 1884.599820137024,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b31a2d90.6e6418",
+ "1d6f9b4e.71254d"
+ ]
+ ]
+ },
+ {
+ "id": "b31a2d90.6e6418",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1107.0832061767578,
+ "y": 1857.3855504989624,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1d6f9b4e.71254d",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1708.5714492797852,
+ "y": 2145.540556907654,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "caca347e.8787d",
+ "a38241eb.287ec8"
+ ]
+ ]
+ },
+ {
+ "id": "20ed866d.bb0ce2",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2823.74991607666,
+ "y": 2633.7741470336914,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9af3e55f.6087e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2441.011405944824,
+ "y": 2684.19135761261,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "20ed866d.bb0ce2",
+ "9ea0a8d5.338e78",
+ "bb2b8a64.4eda98"
+ ]
+ ]
+ },
+ {
+ "id": "b201b2ed.f32f68",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3002.083209991455,
+ "y": 2324.524369239807,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c392950a.4cd7e",
+ "9af3e55f.6087e"
+ ]
+ ]
+ },
+ {
+ "id": "c392950a.4cd7e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3201.6664505004883,
+ "y": 2291.1673135757446,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "886e3c52.8c2238",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2173.987762451172,
+ "y": 2472.1076765060425,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3be3b1ce.879d46",
+ "9af3e55f.6087e"
+ ]
+ ]
+ },
+ {
+ "id": "3be3b1ce.879d46",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving preload-information\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2379.999870300293,
+ "y": 2446.750412940979,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b6c26cf.773831",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4247.083518981934,
+ "y": 4512.246376037598,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f3cab335.7ec9f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 3859.3447341918945,
+ "y": 4558.913317203522,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b6c26cf.773831",
+ "3a601dac.7a4482",
+ "aee71bd7.cb4458"
+ ]
+ ]
+ },
+ {
+ "id": "4023444f.ec71fc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VNFC network role '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n + ' is not found in VNF network list'\n `\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1942.0833206176758,
+ "y": 2955.718928337097,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "38e6ba0e.ecd3ae",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have network-start-address populated'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4271.666809082031,
+ "y": 3431.413005590439,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5e50004f.2c9f",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have cidr-mask populated'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4586.666831970215,
+ "y": 3508.9130125045776,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1c39b653.2b576a",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Not able to find VNF network subnet that contains address '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address\n `\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3634.1667861938477,
+ "y": 3628.9130296707153,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d4e308ce.5712b",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VFC_RELATED_NETWORK_ROLE table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2074.861038208008,
+ "y": 3865.441397666931,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e1873883.a0b338",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find related network '\n + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2882.361099243164,
+ "y": 4050.4411458969116,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "64b6a50b.0e40cc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error saving vnfc to AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2258.7499465942383,
+ "y": 4673.080787658691,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b8f70cec.245ee",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3735.555435180664,
+ "y": 5868.081328392029,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "deea8b7a.34ee38",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 3349.066925048828,
+ "y": 5910.998540878296,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b8f70cec.245ee",
+ "c7108bf6.17f21",
+ "eb62798f.37c47"
+ ]
+ ]
+ },
+ {
+ "id": "ecec95d0.f03d18",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating vnfc relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1896.09130859375,
+ "y": 4786.83000087738,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4b5a4f9a.72aaf8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Not-found error updating vnfc relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1895.5556297302246,
+ "y": 4843.794567108154,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "56c543eb.6150dc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error saving cp object to AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2338.055639266968,
+ "y": 5013.080267906189,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d01f264c.61c318",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2993.0557022094727,
+ "y": 5465.302522659302,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "64482d7f.371044",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2995.5557022094727,
+ "y": 5527.802525520325,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7a163627.fcef3",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network and vlan-tag in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3324.1273040771484,
+ "y": 5625.302538871765,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "57dc1477.8da4b4",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network and vlan-tag\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3326.6274032592773,
+ "y": 5687.802539825439,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a7be1c39.6ee63",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv4-address-list object in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4015.9730072021484,
+ "y": 5096.552495002747,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a4494b11.30c988",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv4-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4013.4730072021484,
+ "y": 5175.3025007247925,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3b6a1bff.11e25c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv4-address-list relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4015.97274017334,
+ "y": 5235.302507400513,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1d21480c.1addf8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv6-address-list object in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4019.7227478027344,
+ "y": 5285.302512168884,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e3d10ed9.82b7b8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv6-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4018.472480773926,
+ "y": 5346.552515029907,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fedf80c9.88e5f",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv6-address-list relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4019.722480773926,
+ "y": 5406.5525159835815,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aee903cd.9f721",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4429.722415924072,
+ "y": 5532.802444458008,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b8d50b6.e90cc78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 4049.483901977539,
+ "y": 5577.469656944275,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "aee903cd.9f721",
+ "28125649.296d72",
+ "a39b4b61.59b038"
+ ]
+ ]
+ },
+ {
+ "id": "8395e0d5.a4ecb8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3853.1943283081055,
+ "y": 6997.246689796448,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "269063c8.ce5a84",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 3465.455551147461,
+ "y": 7047.663359642029,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8395e0d5.a4ecb8",
+ "8d26e950.2b598",
+ "a7b746c4.2d389"
+ ]
+ ]
+ },
+ {
+ "id": "fd80fcb3.880c8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3403.194622039795,
+ "y": 6635.996907234192,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fc4213a2.47c98",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3396.944892883301,
+ "y": 6572.247441291809,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "97a750a7.0acbc8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3408.194625854492,
+ "y": 6323.496886253357,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4923f1db.2fcc2",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3408.194892883301,
+ "y": 6262.247422218323,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "84c51507.94d668",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv6-address-list relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2775.6945877075195,
+ "y": 6523.496897697449,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4a19d7b6.f2c47",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv6-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2774.444580078125,
+ "y": 6465.997433662415,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "48c2cba4.91f6cc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv6-address-list\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2438.194564819336,
+ "y": 6409.746890068054,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "37375282.76ddb6",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error saving vip-ipv6-address-list in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2438.194564819336,
+ "y": 6355.996887207031,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bdc62da9.93398",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2784.4445838928223,
+ "y": 6198.496878623962,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c60c031b.634f38",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2785.6945877075195,
+ "y": 6140.996874809265,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5573d94b.dc5",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv4-address-list\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2441.944564819336,
+ "y": 6097.246870994568,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f4049c01.0aeaf",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error saving vip-ipv4-address-list in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2438.194564819336,
+ "y": 6029.746867179871,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "21dc9b2.c9b4164",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No l3-network found in AAI for network ID '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1935.6945304870605,
+ "y": 5954.746864318848,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c98dc3b.19af54",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vf-module relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1936.9445266723633,
+ "y": 5895.996856212616,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "23db4204.137326",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vf-module in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1088.749984741211,
+ "y": 4326.830564498901,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c333832f.3cfc3",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1092.499984741211,
+ "y": 4403.080567359924,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9f112544.7f8a58",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 476.07337188720703,
+ "y": 7964.7099623680115,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "84fdd3bf.927fd",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT vf-module",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $tmp.vf-module.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=\"vf-module-assign\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 573.4065093994141,
+ "y": 7823.908843040466,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "48031f36.06a36",
+ "61c1ba7d.9ba324"
+ ]
+ ]
+ },
+ {
+ "id": "48031f36.06a36",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 854.1906814575195,
+ "y": 7844.6049218177795,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b517797c.221e9"
+ ]
+ ]
+ },
+ {
+ "id": "61c1ba7d.9ba324",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 846.6193161010742,
+ "y": 7803.10494184494,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b517797c.221e9"
+ ]
+ ]
+ },
+ {
+ "id": "b517797c.221e9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1055.5494270324707,
+ "y": 7823.273902416229,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3d40ba87.1beba6",
+ "1a40ddac.06f67a"
+ ]
+ ]
+ },
+ {
+ "id": "91e9c48a.4b386",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1809.799674987793,
+ "y": 7965.4422726631165,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1a40ddac.06f67a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1428.846923828125,
+ "y": 8017.465929508209,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "91e9c48a.4b386",
+ "c1b9561e.c76ae8",
+ "c58f8414.25a99"
+ ]
+ ]
+ },
+ {
+ "id": "3d40ba87.1beba6",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error doing PUT of vf-module\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1260.0498428344727,
+ "y": 7795.798916339874,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4c0ccb17.3b1804",
+ "type": "comment",
+ "name": "This should have been removed from Dublin",
+ "info": "",
+ "comments": "",
+ "x": 728.7499923706055,
+ "y": 7285.302035331726,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "b13baffe.18c468",
+ "type": "set",
+ "name": "Initialize SO 500 reponse params",
+ "xml": "<set>\n<parameter name=\"so.ack-final-indicator\" value=\"Y\" />\n<parameter name=\"so.response-code\" value=\"500\" />\n<parameter name=\"so.notification-url\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`\" />\n<parameter name=\"so.svc-request-id\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\" />\n<parameter name=\"so.service-type\" value=\"`$vf-module-topology-operation-input.service-information.subscription-service-type`\" />\n<parameter name=\"so.service-instance-id\" value=\"`$vf-module-topology-operation-input.service-information.service-instance-id`\" />",
+ "comments": "",
+ "x": 644.9999313354492,
+ "y": 270.02429485321045,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "78f1021d.4797bc",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2013.749870300293,
+ "y": 1172.3854970932007,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "caca347e.8787d",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2021.2499160766602,
+ "y": 2124.6077165603638,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "60730953.c387",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1309.9998931884766,
+ "y": 1120.3020401000977,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "57df4d97.1b3e74",
+ "type": "set",
+ "name": "set so.reponse-code = 200",
+ "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
+ "comments": "",
+ "x": 1238.7499160766602,
+ "y": 1064.0520524978638,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "9ea0a8d5.338e78",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2766.249897003174,
+ "y": 2684.330011367798,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3a601dac.7a4482",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4188.888832092285,
+ "y": 4559.885304450989,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "28125649.296d72",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4371.388870239258,
+ "y": 5576.691199302673,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c7108bf6.17f21",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3672.638832092285,
+ "y": 5913.496632575989,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8d26e950.2b598",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3792.638832092285,
+ "y": 7047.524464607239,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c1b9561e.c76ae8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1750.694320678711,
+ "y": 8018.21951341629,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a1c5d05.89a983",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 594.4444427490234,
+ "y": 8071.97101354599,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5b817e7f.0206",
+ "type": "set",
+ "name": "set so.reponse-code = 200",
+ "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
+ "comments": "",
+ "x": 524.4444427490234,
+ "y": 8017.942268848419,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c58f8414.25a99",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 1631.9443817138672,
+ "y": 8066.969216823578,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "a7b746c4.2d389",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 3672.361000061035,
+ "y": 7096.135304450989,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "eb62798f.37c47",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 3551.111000061035,
+ "y": 5958.774464607239,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "a39b4b61.59b038",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 4254.861000061035,
+ "y": 5621.274464607239,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "aee71bd7.cb4458",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 4069.861000061035,
+ "y": 4604.052296638489,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "bb2b8a64.4eda98",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 2649.99991607666,
+ "y": 2730.4409685134888,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "a38241eb.287ec8",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 1902.4999160766602,
+ "y": 2166.2742204666138,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "d65a69c8.cf6ba",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 1893.7499160766602,
+ "y": 1215.0243425369263,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "7e168e6e.8d02f8",
+ "type": "set",
+ "name": "copy vf-module data",
+ "xml": "<set>\n<parameter name='vf-module-data.'\n value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.' />\n",
+ "comments": "",
+ "x": 493.0711898803711,
+ "y": 7468.457430839539,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c1894905.cb3d58",
+ "type": "execute",
+ "name": "generate vf-module URL (sub service-instance-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.vf-module`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.service-topology.service-topology-identifier.service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.1782302856445,
+ "y": 7552.745089530945,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7badb381.1fbf0c",
+ "type": "execute",
+ "name": "generate vf-module URL (sub vnf-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 546.821044921875,
+ "y": 7597.923043251038,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2d6c7dfc.640b9a",
+ "type": "execute",
+ "name": "generate vf-module URL (sub vf-module-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.vf-module.url\"/>\n <parameter name=\"target\" value=\"{vf-module-id}\"/>\n <parameter name=\"replacement\" value=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 571.9997024536133,
+ "y": 7644.530034065247,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bcdb4bf7.c65098",
+ "type": "comment",
+ "name": "'New' version of DG, called for flows where SO expects async response (so-bpmn-infra)",
+ "info": "",
+ "comments": "",
+ "x": 528,
+ "y": 64,
+ "z": "34265cd.7205424",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.json
new file mode 100644
index 00000000..9411b85e
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.json
@@ -0,0 +1,6528 @@
+[
+ {
+ "id": "d899f0c1.6bd748",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 140,
+ "y": 125.02430057525635,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "aaa14e6d.86dda8"
+ ]
+ ]
+ },
+ {
+ "id": "aaa14e6d.86dda8",
+ "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": 253.85713577270508,
+ "y": 164.8338384628296,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "769bc2ea.c9d65c"
+ ]
+ ]
+ },
+ {
+ "id": "769bc2ea.c9d65c",
+ "type": "method",
+ "name": "method vf-module-topology-operation-assign-sync",
+ "xml": "<method rpc='vf-module-topology-operation-assign-sync' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 253.42862701416016,
+ "y": 205.02430057525635,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b1406c81.923cc"
+ ]
+ ]
+ },
+ {
+ "id": "a460891c.0d1ba",
+ "type": "comment",
+ "name": "vf-module-topology-operation-assign-sync",
+ "info": "",
+ "comments": "",
+ "x": 398.32110595703125,
+ "y": 51,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6fdfcdf3.2ecd44",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 545.1905097961426,
+ "y": 380.548122882843,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5fb65925.ac9",
+ "f896fbfa.e4db38"
+ ]
+ ]
+ },
+ {
+ "id": "5fb65925.ac9",
+ "type": "outcome",
+ "name": "CreateVfModuleInstance",
+ "xml": "<outcome value='CreateVfModuleInstance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 807.2381248474121,
+ "y": 357.6910090446472,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a252c97a.96867"
+ ]
+ ]
+ },
+ {
+ "id": "f896fbfa.e4db38",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 750.9047698974609,
+ "y": 403.07199811935425,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "acc70f07.86c54"
+ ]
+ ]
+ },
+ {
+ "id": "a252c97a.96867",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 997.0952892303467,
+ "y": 357.69104051589966,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "acc70f07.86c54",
+ "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=\"If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'\" />\n",
+ "comments": "",
+ "x": 1015.9047775268555,
+ "y": 403.40531063079834,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c5b83baf.fcb2b8",
+ "type": "get-resource",
+ "name": "get-resource VF_MODULE_MODEL",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-module-model'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.5237770080566,
+ "y": 471.6910729408264,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2d0c3ac2.95728e",
+ "71d0e645.eeba9"
+ ]
+ ]
+ },
+ {
+ "id": "986ddeb5.121a08",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`\" />\n",
+ "comments": "",
+ "x": 1033.9521980285645,
+ "y": 496.1195454597473,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2d0c3ac2.95728e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 858.3094673156738,
+ "y": 452.0719037055969,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a604e12e.a8eed8"
+ ]
+ ]
+ },
+ {
+ "id": "71d0e645.eeba9",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 866.8808975219727,
+ "y": 496.3576169013977,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "986ddeb5.121a08"
+ ]
+ ]
+ },
+ {
+ "id": "a604e12e.a8eed8",
+ "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 reading VF_MODULE_MODEL table\" />\n",
+ "comments": "",
+ "x": 1033.309398651123,
+ "y": 451.21480417251587,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "58f29161.867a9",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 587.6190414428711,
+ "y": 680.2624082565308,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4d071976.5050c",
+ "c3315f66.868788"
+ ]
+ ]
+ },
+ {
+ "id": "4d071976.5050c",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 828.3333129882812,
+ "y": 657.4051485061646,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "550ea296.96c2cc"
+ ]
+ ]
+ },
+ {
+ "id": "c3315f66.868788",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 828.0951538085938,
+ "y": 698.3576669692993,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1218b6d8.cadda9"
+ ]
+ ]
+ },
+ {
+ "id": "43e1e208.1c9204",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 166.19043731689453,
+ "y": 3161.92930662632,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "badfdbc9.022e2",
+ "1265e597.326aea",
+ "d904000a.ab2f38",
+ "b9dd9667.33695",
+ "b4b281fa.e85d5",
+ "68dfa5ea.e5019c",
+ "a1e477f0.0b584",
+ "fa229a92.ce9da8",
+ "43deefc2.c1bae8",
+ "2312018e.28175e",
+ "bab10e90.55c028",
+ "5554f045.52dd38",
+ "dd4f4eeb.8d24e",
+ "7af69df8.0374dc",
+ "453e667a.37bcb",
+ "5245ba39.530f94",
+ "fee3a1a8.2d1ad8",
+ "a61a195a.95b1e8",
+ "7314ccc5.2134a4",
+ "ad9d0c92.4b3468",
+ "9535b7df.620268",
+ "cf140a5d.20d0a",
+ "c8b952a9.c78298",
+ "e5e2fde7.2191d",
+ "8534c826.13da18",
+ "75790bd1.e8defc",
+ "c898fd55.fa0688",
+ "f1de476.813b738",
+ "cc91d00d.836b9",
+ "709b1630.8dd8b8",
+ "6f90d0a3.4f5888"
+ ]
+ ]
+ },
+ {
+ "id": "550ea296.96c2cc",
+ "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=\"There are no VNFs defined in MD-SAL\" />\n",
+ "comments": "",
+ "x": 994.999927520752,
+ "y": 656.6909036636353,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "1218b6d8.cadda9",
+ "type": "for",
+ "name": "for each vnf",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 990.3332977294922,
+ "y": 698.0242853164673,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9a0906d8.7ab488"
+ ]
+ ]
+ },
+ {
+ "id": "9a0906d8.7ab488",
+ "type": "switchNode",
+ "name": "switch service data vnf == input vnf",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1241.6665954589844,
+ "y": 697.6910133361816,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "34a2a2c8.9ed3d6"
+ ]
+ ]
+ },
+ {
+ "id": "34a2a2c8.9ed3d6",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1471.6666069030762,
+ "y": 697.0243263244629,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "38dbdaf8.de3b36"
+ ]
+ ]
+ },
+ {
+ "id": "169ef671.ac8942",
+ "type": "set",
+ "name": "set vnf-index to -1",
+ "xml": "<set>\n<parameter name='vnf-index' value='-1' />\n",
+ "comments": "",
+ "x": 536.6666641235352,
+ "y": 611.6909074783325,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "8699ebe3.da5b5",
+ "type": "set",
+ "name": "set vnf-index to idx",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 1793.3332443237305,
+ "y": 668.024284362793,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "3a7d1430.c71c54",
+ "type": "switchNode",
+ "name": "switch vnf-index",
+ "xml": "<switch test='`$vnf-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 526.6666717529297,
+ "y": 748.3576040267944,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d200952e.82a"
+ ]
+ ]
+ },
+ {
+ "id": "d200952e.82a",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 705.000057220459,
+ "y": 747.6909799575806,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "df336439.6441b8"
+ ]
+ ]
+ },
+ {
+ "id": "df336439.6441b8",
+ "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=\"`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`\" />\n",
+ "comments": "",
+ "x": 864.9999656677246,
+ "y": 747.0242834091187,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "badfdbc9.022e2",
+ "type": "switchNode",
+ "name": "switch vf-module_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 543.3333930969238,
+ "y": 1378.3578004837036,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "46bc83ea.153584",
+ "6bf719df.db171"
+ ]
+ ]
+ },
+ {
+ "id": "46bc83ea.153584",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 800.7143478393555,
+ "y": 1345.5005741119385,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a719934f.fd479"
+ ]
+ ]
+ },
+ {
+ "id": "a719934f.fd479",
+ "type": "set",
+ "name": "set vf-module-index=0",
+ "xml": "<set>\n<parameter name='vf-module-index' value='0' />\n",
+ "comments": "",
+ "x": 988.3333854675293,
+ "y": 1346.1673488616943,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6bf719df.db171",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 801.1428909301758,
+ "y": 1409.7864322662354,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8d56de21.005688"
+ ]
+ ]
+ },
+ {
+ "id": "7bb74faf.1a3bf",
+ "type": "set",
+ "name": "set vf-module-index = vf-module_length",
+ "xml": "<set>\n<parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n",
+ "comments": "",
+ "x": 1186.3334312438965,
+ "y": 1389.97682762146,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "20d53539.793ec2",
+ "type": "for",
+ "name": "for each existing VF module",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1145.428524017334,
+ "y": 1434.072057723999,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c80b7ff5.a77ae8"
+ ]
+ ]
+ },
+ {
+ "id": "8d56de21.005688",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 937.8571701049805,
+ "y": 1409.7863578796387,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7bb74faf.1a3bf",
+ "20d53539.793ec2"
+ ]
+ ]
+ },
+ {
+ "id": "c80b7ff5.a77ae8",
+ "type": "switchNode",
+ "name": "switch vf-module-information.vf-module-id == service-data.vnfs.vnf[].vf-modules.vf-module[].vf-module-id",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1649.0476264953613,
+ "y": 1433.6434688568115,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4b42022b.8dc95c"
+ ]
+ ]
+ },
+ {
+ "id": "4b42022b.8dc95c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2091.666675567627,
+ "y": 1433.2149200439453,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b16fc4ad.46cbc"
+ ]
+ ]
+ },
+ {
+ "id": "b16fc4ad.46cbc",
+ "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=\"`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id\n + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`\" />\n",
+ "comments": "",
+ "x": 2243.5715560913086,
+ "y": 1433.2149066925049,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6bc28de3.9197f4",
+ "type": "comment",
+ "name": "make sure this VF module doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1675.4999732971191,
+ "y": 1388.2709608078003,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "1265e597.326aea",
+ "type": "set",
+ "name": "set new vf-module_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\n",
+ "comments": "",
+ "x": 553.9999732971191,
+ "y": 1489.3576555252075,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "d904000a.ab2f38",
+ "type": "set",
+ "name": "set vf-module-topology data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\n<parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\n<parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\n",
+ "comments": "",
+ "x": 560.4999923706055,
+ "y": 1601.857762336731,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "8e6d01f4.b1a178",
+ "type": "set",
+ "name": "set aic-clli",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
+ "comments": "",
+ "x": 1321.4522514343262,
+ "y": 1761.0956888198853,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "b9dd9667.33695",
+ "type": "switchNode",
+ "name": "switch aic-clli",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 520.4999122619629,
+ "y": 1875.0480289459229,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4138e9bf.74e39"
+ ]
+ ]
+ },
+ {
+ "id": "4138e9bf.74e39",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 665.7856025695801,
+ "y": 1875.0480976104736,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d3d7ad76.5bcb38"
+ ]
+ ]
+ },
+ {
+ "id": "d3d7ad76.5bcb38",
+ "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=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "x": 812.9284629821777,
+ "y": 1874.6195316314697,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "b4b281fa.e85d5",
+ "type": "get-resource",
+ "name": "get-resource cloud region",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 559.3571281433105,
+ "y": 1675.1913003921509,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c2f7e9d3.776b",
+ "1f1578fa.24f767"
+ ]
+ ]
+ },
+ {
+ "id": "1f1578fa.24f767",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 773.6033210754395,
+ "y": 1693.3421564102173,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "657da328.17e1b4"
+ ]
+ ]
+ },
+ {
+ "id": "657da328.17e1b4",
+ "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 retrieving cloud region from AAI\" />\n",
+ "comments": "",
+ "x": 948.6032943725586,
+ "y": 1693.3421926498413,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c2f7e9d3.776b",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 782.5319175720215,
+ "y": 1651.6278896331787,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f1454109.93f188"
+ ]
+ ]
+ },
+ {
+ "id": "f1454109.93f188",
+ "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=\"Cloud region not found in AAI\" />\n",
+ "comments": "",
+ "x": 948.8811950683594,
+ "y": 1650.933466911316,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "38dbdaf8.de3b36",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1620.0000686645508,
+ "y": 695.9440250396729,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8699ebe3.da5b5",
+ "bf6a8dc5.58a6a8"
+ ]
+ ]
+ },
+ {
+ "id": "bf6a8dc5.58a6a8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1755.0000343322754,
+ "y": 717.6106109619141,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9382afb.71420d",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-module-model.invariant-uuid`' />\n",
+ "comments": "",
+ "x": 934.833251953125,
+ "y": 1916.44402217865,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "68dfa5ea.e5019c",
+ "type": "switchNode",
+ "name": "switch input model-invariant-uuid",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 578.6903266906738,
+ "y": 1939.2684659957886,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e49707ca.7af328",
+ "812a586e.32e2f"
+ ]
+ ]
+ },
+ {
+ "id": "e49707ca.7af328",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 784.3569984436035,
+ "y": 1916.4114294052124,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9382afb.71420d"
+ ]
+ ]
+ },
+ {
+ "id": "812a586e.32e2f",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 785.7855949401855,
+ "y": 1960.6970205307007,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b87936af.b7f308"
+ ]
+ ]
+ },
+ {
+ "id": "b87936af.b7f308",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n",
+ "comments": "",
+ "x": 940.0713310241699,
+ "y": 1960.1255927085876,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "118d8bd8.da309c",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$db.vf-module-model.uuid`' />\n",
+ "comments": "",
+ "x": 935.7855224609375,
+ "y": 2004.9826984405518,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a1e477f0.0b584",
+ "type": "switchNode",
+ "name": "switch input model-uuid",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 551.3093452453613,
+ "y": 2027.8072032928467,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6305d1b8.c1dda8",
+ "ccca0eb9.c0c188"
+ ]
+ ]
+ },
+ {
+ "id": "6305d1b8.c1dda8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 785.3093185424805,
+ "y": 2004.950135231018,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "118d8bd8.da309c"
+ ]
+ ]
+ },
+ {
+ "id": "ccca0eb9.c0c188",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 786.7379150390625,
+ "y": 2049.2357263565063,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6b7d1d6.80304e4"
+ ]
+ ]
+ },
+ {
+ "id": "6b7d1d6.80304e4",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\n",
+ "comments": "",
+ "x": 941.0236511230469,
+ "y": 2048.6642985343933,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e5be2743.5d4508",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$db.vf-module-model.version`' />\n",
+ "comments": "",
+ "x": 932.9284553527832,
+ "y": 2093.8399057388306,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "fa229a92.ce9da8",
+ "type": "switchNode",
+ "name": "switch input model-version",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 559.4522171020508,
+ "y": 2116.6643505096436,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "34c4c596.157f8a",
+ "847f3b10.726578"
+ ]
+ ]
+ },
+ {
+ "id": "34c4c596.157f8a",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 782.4522018432617,
+ "y": 2093.807312965393,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e5be2743.5d4508"
+ ]
+ ]
+ },
+ {
+ "id": "847f3b10.726578",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.8807983398438,
+ "y": 2138.0929040908813,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9764857e.e18c18"
+ ]
+ ]
+ },
+ {
+ "id": "9764857e.e18c18",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n",
+ "comments": "",
+ "x": 938.1665344238281,
+ "y": 2137.5214762687683,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9b53eb1f.f2e23",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$db.vf-module-model.name`' />\n",
+ "comments": "",
+ "x": 932.9284553527832,
+ "y": 2180.9827280044556,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "43deefc2.c1bae8",
+ "type": "switchNode",
+ "name": "switch input model-name",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 554.4522171020508,
+ "y": 2203.8071727752686,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1728f46d.49d514",
+ "c03e99e4.3d5358"
+ ]
+ ]
+ },
+ {
+ "id": "1728f46d.49d514",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 782.4522018432617,
+ "y": 2180.950135231018,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9b53eb1f.f2e23"
+ ]
+ ]
+ },
+ {
+ "id": "c03e99e4.3d5358",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.8807983398438,
+ "y": 2225.2357263565063,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f18842f5.5d912"
+ ]
+ ]
+ },
+ {
+ "id": "f18842f5.5d912",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\n",
+ "comments": "",
+ "x": 938.1665344238281,
+ "y": 2224.6642985343933,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2312018e.28175e",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n",
+ "comments": "",
+ "x": 568.9045524597168,
+ "y": 2276.316162109375,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "bab10e90.55c028",
+ "type": "set",
+ "name": "set vf-module-id",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n",
+ "comments": "",
+ "x": 522.0951995849609,
+ "y": 1545.0393381118774,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5554f045.52dd38",
+ "type": "for",
+ "name": "for each cloud-region relationship",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 581.6109428405762,
+ "y": 1763.6979837417603,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "65c117a1.56bd9"
+ ]
+ ]
+ },
+ {
+ "id": "65c117a1.56bd9",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 829.2894859313965,
+ "y": 1763.4479131698608,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b53c4970.3c3e18"
+ ]
+ ]
+ },
+ {
+ "id": "b53c4970.3c3e18",
+ "type": "outcome",
+ "name": "complex",
+ "xml": "<outcome value='complex'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 998.7538070678711,
+ "y": 1762.8407354354858,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "31580412.a83eb4"
+ ]
+ ]
+ },
+ {
+ "id": "1e303b58.a257cd",
+ "type": "execute",
+ "name": "split related-link",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1338.848964691162,
+ "y": 1717.269310951233,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "31580412.a83eb4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1158.51566696167,
+ "y": 1763.9360990524292,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1e303b58.a257cd",
+ "7debff63.6d9ad",
+ "8e6d01f4.b1a178"
+ ]
+ ]
+ },
+ {
+ "id": "7debff63.6d9ad",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1308.5156288146973,
+ "y": 1807.269395828247,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "43097907.f1acb8",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "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": 559.0476226806641,
+ "y": 234.5481081008911,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7314ccc5.2134a4",
+ "type": "set",
+ "name": "set order-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
+ "comments": "",
+ "x": 464.2622375488281,
+ "y": 7372.904296875,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9535b7df.620268",
+ "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": 403.8335418701172,
+ "y": 7486.522626876831,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a61a195a.95b1e8",
+ "type": "set",
+ "name": "copy input data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\n value='$vf-module-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\n value='$vf-module-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\n value='$vf-module-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\n value='$vf-module-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\n value='$vf-module-topology-operation-input.vf-module-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\n value='$vf-module-topology-operation-input.vf-module-request-input.' />\n\n",
+ "comments": "",
+ "x": 420.11924743652344,
+ "y": 7229.252753674984,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "fee3a1a8.2d1ad8",
+ "type": "set",
+ "name": "copy vf-module-topology data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />\n",
+ "comments": "",
+ "x": 465.00025177001953,
+ "y": 7181.038265645504,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "ad9d0c92.4b3468",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 398.71449279785156,
+ "y": 7438.752443313599,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7af69df8.0374dc",
+ "type": "save",
+ "name": "update vf-module",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vf-module-name\" value=\"`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vf-module-object-path`\" />\n<parameter name=\"automated-assignment\" value=\"`$automated-assignment`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 484.1429786682129,
+ "y": 4383.039919495583,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ff28151e.c99568",
+ "84d4e577.067c6"
+ ]
+ ]
+ },
+ {
+ "id": "829bb1f4.830f08",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
+ "comments": "",
+ "x": 989.1906547546387,
+ "y": 4417.801350176334,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "ff28151e.c99568",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 659.2146186828613,
+ "y": 4351.420541405678,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c0a6d69d.c741f8"
+ ]
+ ]
+ },
+ {
+ "id": "84d4e577.067c6",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 667.7859916687012,
+ "y": 4420.039631426334,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9fa62cc3.2f0038"
+ ]
+ ]
+ },
+ {
+ "id": "f3f4159f.aadd9",
+ "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 vf-module in AAI\" />\n",
+ "comments": "",
+ "x": 994.2145729064941,
+ "y": 4369.564098000526,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "dd4f4eeb.8d24e",
+ "type": "set",
+ "name": "set vf-module-object-path",
+ "xml": "<set>\n<parameter name='vf-module-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $vf-module-topology-operation-input.vf-module-information.vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
+ "comments": "",
+ "x": 507.80978775024414,
+ "y": 4258.564148545265,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "98920223.9d1788",
+ "type": "save",
+ "name": "save vf-module relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module:relationship-list\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1277.8335342407227,
+ "y": 5941.192313909531,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3760c1b8.f1b83e",
+ "e7d6710.a6ccc1"
+ ]
+ ]
+ },
+ {
+ "id": "3760c1b8.f1b83e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1497.666877746582,
+ "y": 5912.064058065414,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5010a64f.2f3dc"
+ ]
+ ]
+ },
+ {
+ "id": "e7d6710.a6ccc1",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1506.238410949707,
+ "y": 5964.683202505112,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4bde1cab.c0624c"
+ ]
+ ]
+ },
+ {
+ "id": "da526891.6d6948",
+ "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 vf-module relationships in AAI\" />\n",
+ "comments": "",
+ "x": 1832.6670112609863,
+ "y": 5931.873954534531,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "453e667a.37bcb",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 457.50025939941406,
+ "y": 5706.5258667469025,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9e617b8e.e0967"
+ ]
+ ]
+ },
+ {
+ "id": "b22bc2e1.6fc3a8",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 854.5002708435059,
+ "y": 6125.192698955536,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e3a4933c.85a3c8"
+ ]
+ ]
+ },
+ {
+ "id": "91bf4a81.2bbfb",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No l3-network found in AAI for network ID '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n",
+ "comments": "",
+ "x": 1834.5003852844238,
+ "y": 5981.858495473862,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5245ba39.530f94",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 431.92879486083984,
+ "y": 7073.571922242641,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "801c847a.0c2ab8"
+ ]
+ ]
+ },
+ {
+ "id": "801c847a.0c2ab8",
+ "type": "for",
+ "name": "for each vm",
+ "xml": "<for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 626.928825378418,
+ "y": 7072.904930055141,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9048210a.638ad"
+ ]
+ ]
+ },
+ {
+ "id": "1404a29d.dfd36d",
+ "type": "save",
+ "name": "save VIPR_CONFIGURATION",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1018.5955276489258,
+ "y": 7095.57258027792,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "698fdfc8.5c59c"
+ ]
+ ]
+ },
+ {
+ "id": "2fc7ee54.674b22",
+ "type": "comment",
+ "name": "Not a failure",
+ "info": "",
+ "comments": "",
+ "x": 1538.5954284667969,
+ "y": 7095.572585046291,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "698fdfc8.5c59c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1228.5955123901367,
+ "y": 7095.572730004787,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "46d81bad.b0cf7c"
+ ]
+ ]
+ },
+ {
+ "id": "46d81bad.b0cf7c",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1371.928955078125,
+ "y": 7095.572567880154,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "87a12e16.c1c8e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1401.9290771484375,
+ "y": 7046.904281556606,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "faaa33d2.7941d8"
+ ]
+ ]
+ },
+ {
+ "id": "7a365224.c1009c",
+ "type": "comment",
+ "name": "Not a failure",
+ "info": "",
+ "comments": "",
+ "x": 1725.2621307373047,
+ "y": 7045.2381038069725,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "faaa33d2.7941d8",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1547.929012298584,
+ "y": 7046.904914796352,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9048210a.638ad",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 795.2622184753418,
+ "y": 7071.904774606228,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "cc3d7eaa.03db28",
+ "1404a29d.dfd36d"
+ ]
+ ]
+ },
+ {
+ "id": "cc3d7eaa.03db28",
+ "type": "delete",
+ "name": "delete any pre-existing records in VIPR_CONFIGURATION",
+ "xml": "<delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\n AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\n AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1108.5955429077148,
+ "y": 7047.238914430141,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "87a12e16.c1c8e"
+ ]
+ ]
+ },
+ {
+ "id": "c0a6d69d.c741f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 817.500186920166,
+ "y": 4351.191212296486,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f3f4159f.aadd9",
+ "6f96a138.acc9c8"
+ ]
+ ]
+ },
+ {
+ "id": "9fa62cc3.2f0038",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 818.5001029968262,
+ "y": 4417.857502520084,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "829bb1f4.830f08",
+ "6f96a138.acc9c8"
+ ]
+ ]
+ },
+ {
+ "id": "5010a64f.2f3dc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1666.1668815612793,
+ "y": 5911.858327627182,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "da526891.6d6948",
+ "b976bf80.a00868"
+ ]
+ ]
+ },
+ {
+ "id": "4bde1cab.c0624c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1661.1668815612793,
+ "y": 5964.85817027092,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "91bf4a81.2bbfb",
+ "b976bf80.a00868"
+ ]
+ ]
+ },
+ {
+ "id": "6529b298.61d4a4",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get preload-list",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`\" />\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-preload\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1003.3333778381348,
+ "y": 2421.1915349960327,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8fa815b3.c373e8",
+ "d50aff26.86ca6"
+ ]
+ ]
+ },
+ {
+ "id": "8fa815b3.c373e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1266.6666933695474,
+ "y": 2384.524751345316,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "72fd863f.96d978"
+ ]
+ ]
+ },
+ {
+ "id": "d50aff26.86ca6",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1269.9999809265137,
+ "y": 2459.5247468948364,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3381b8ad.4cf26"
+ ]
+ ]
+ },
+ {
+ "id": "72fd863f.96d978",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1428.333381652832,
+ "y": 2382.8580360412598,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ddcdfbdc.02069"
+ ]
+ ]
+ },
+ {
+ "id": "3381b8ad.4cf26",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1424.9999885559082,
+ "y": 2459.5245885849,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5fd67b5c.1966a4"
+ ]
+ ]
+ },
+ {
+ "id": "ddcdfbdc.02069",
+ "type": "switchNode",
+ "name": "switch mdsal-preload.response-code",
+ "xml": "<switch test='`$mdsal-preload.response-code`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1656.6666831970215,
+ "y": 2382.8580770492554,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1032eb5c.8c7bfd",
+ "fe3501c8.ebdf28"
+ ]
+ ]
+ },
+ {
+ "id": "1032eb5c.8c7bfd",
+ "type": "outcome",
+ "name": "404 (not found)",
+ "xml": "<outcome value='404'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1908.3334197998047,
+ "y": 2346.191451072693,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a37b13e8.33b938"
+ ]
+ ]
+ },
+ {
+ "id": "a37b13e8.33b938",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-no-preload",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2304.9998893737793,
+ "y": 2344.5245790481567,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "233356b2.248a72"
+ ]
+ ]
+ },
+ {
+ "id": "233356b2.248a72",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2675.0000381469727,
+ "y": 2342.858115196228,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5f9b54a9.c1cdd4"
+ ]
+ ]
+ },
+ {
+ "id": "c88feb78.b7ccd",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n",
+ "comments": "",
+ "x": 2983.3334159851074,
+ "y": 2374.5248517990112,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "fe3501c8.ebdf28",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1883.3334999084473,
+ "y": 2402.8579416275024,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f6f1c5d8.dc0ab"
+ ]
+ ]
+ },
+ {
+ "id": "7a69f1ed.4762a8",
+ "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 retrieving preload-information\" />\n",
+ "comments": "",
+ "x": 2196.666404724121,
+ "y": 2419.52436542511,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5fd67b5c.1966a4",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-preload",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1788.3332786560059,
+ "y": 2461.191336631775,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "eeab2ed9.18515"
+ ]
+ ]
+ },
+ {
+ "id": "eeab2ed9.18515",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2144.000141143799,
+ "y": 2459.5249547958374,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4331007b.e83998"
+ ]
+ ]
+ },
+ {
+ "id": "ff44880b.925a9",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n",
+ "comments": "",
+ "x": 2452.333393096924,
+ "y": 2481.191849708557,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9e617b8e.e0967",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 648.0003280639648,
+ "y": 5707.35910153389,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b22bc2e1.6fc3a8",
+ "938e3050.854e5"
+ ]
+ ]
+ },
+ {
+ "id": "938e3050.854e5",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 899.0003776550293,
+ "y": 4912.025192737579,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6085493.53a3238"
+ ]
+ ]
+ },
+ {
+ "id": "bf5629c7.b8c548",
+ "type": "save",
+ "name": "save vnfc to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1625.00044631958,
+ "y": 4720.3591232299805,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "57f9125a.f4f11c",
+ "c29ebd4.1b8af4"
+ ]
+ ]
+ },
+ {
+ "id": "6085493.53a3238",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1067.3336791992188,
+ "y": 4912.692019939423,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "efdceadd.e8246",
+ "1fc575ba.ed4b2a",
+ "1a5d8b36.aeca65",
+ "6f6678f2.1bf2e",
+ "c11e7bb7.050ab8",
+ "dc86b143.7bc0f"
+ ]
+ ]
+ },
+ {
+ "id": "57f9125a.f4f11c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1816.0004844665527,
+ "y": 4672.692457199097,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e06eae25.746e28"
+ ]
+ ]
+ },
+ {
+ "id": "25a824ba.d2e37c",
+ "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 saving vnfc to AAI\" />\n",
+ "comments": "",
+ "x": 2155.0006370544434,
+ "y": 4706.835712790489,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e06eae25.746e28",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1981.1671714782715,
+ "y": 4686.820290505886,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "25a824ba.d2e37c",
+ "3db10379.cadefc"
+ ]
+ ]
+ },
+ {
+ "id": "1a5d8b36.aeca65",
+ "type": "save",
+ "name": "save vnfc relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vf-module\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id +\n '/vf-modules/vf-module/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1291.9049644470215,
+ "y": 4820.978354930878,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fbea59e9.f333f",
+ "14799014.2fab18"
+ ]
+ ]
+ },
+ {
+ "id": "7572056c.67fde4",
+ "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 vnfc relationships in AAI\" />\n",
+ "comments": "",
+ "x": 1801.904899597168,
+ "y": 4812.64519071579,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "7a494aad.c286a4",
+ "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=\"Not-found error updating vnfc relationships\" />\n",
+ "comments": "",
+ "x": 1797.0718078613281,
+ "y": 4864.296397686005,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "3e10eb95.8e38dc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1623.7381553649902,
+ "y": 4794.29597902298,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7572056c.67fde4",
+ "3db10379.cadefc"
+ ]
+ ]
+ },
+ {
+ "id": "eb8fe9e3.991998",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1623.7382316589355,
+ "y": 4847.295737743378,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7a494aad.c286a4",
+ "3db10379.cadefc"
+ ]
+ ]
+ },
+ {
+ "id": "fbea59e9.f333f",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1466.9050407409668,
+ "y": 4794.311648845673,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3e10eb95.8e38dc"
+ ]
+ ]
+ },
+ {
+ "id": "14799014.2fab18",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1475.4765739440918,
+ "y": 4846.93079328537,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "eb8fe9e3.991998"
+ ]
+ ]
+ },
+ {
+ "id": "efdceadd.e8246",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1289.3810844421387,
+ "y": 5237.834763050079,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bc7e2484.e69228"
+ ]
+ ]
+ },
+ {
+ "id": "cf140a5d.20d0a",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 509.9999885559082,
+ "y": 2545.73858499527,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "502f6d13.ee70cc",
+ "type": "for",
+ "name": "for each vnfc-subnetwork-role",
+ "xml": "<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1745.3336219787598,
+ "y": 5201.025196552277,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3183d8e5.672be"
+ ]
+ ]
+ },
+ {
+ "id": "3183d8e5.672be",
+ "type": "for",
+ "name": "for each vnfc-address-family",
+ "xml": "<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2012.6669654846191,
+ "y": 5200.025684833527,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "779f95e4.f78a8c"
+ ]
+ ]
+ },
+ {
+ "id": "5357cf02.932768",
+ "type": "for",
+ "name": "for each vnfc-ip-address",
+ "xml": "<for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2444.666576385498,
+ "y": 5266.691384315491,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3c7bceb4.1549ba"
+ ]
+ ]
+ },
+ {
+ "id": "779f95e4.f78a8c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2223.666736602783,
+ "y": 5200.025141239166,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a3b35b4c.65bd08",
+ "5357cf02.932768"
+ ]
+ ]
+ },
+ {
+ "id": "a3b35b4c.65bd08",
+ "type": "set",
+ "name": "set tmp.address-family",
+ "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
+ "comments": "",
+ "x": 2443.667064666748,
+ "y": 5120.025038719177,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "3c7bceb4.1549ba",
+ "type": "switchNode",
+ "name": "switch address family",
+ "xml": "<switch test='`$tmp.address-family`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2683.6666679382324,
+ "y": 5265.025206565857,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3dbb3b5c.4b19bc",
+ "5644f796.d8b738"
+ ]
+ ]
+ },
+ {
+ "id": "3dbb3b5c.4b19bc",
+ "type": "outcome",
+ "name": "ipv4",
+ "xml": "<outcome value='ipv4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2880.809673309326,
+ "y": 5168.596467018127,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "98a03a47.d1bb1"
+ ]
+ ]
+ },
+ {
+ "id": "5644f796.d8b738",
+ "type": "outcome",
+ "name": "ipv6",
+ "xml": "<outcome value='ipv6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2878.4287452697754,
+ "y": 5348.358498573303,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "831b99d7.14637"
+ ]
+ ]
+ },
+ {
+ "id": "8eaadf17.3b8f38",
+ "type": "comment",
+ "name": "Fixed IPs",
+ "info": "",
+ "comments": "",
+ "x": 1762.3336372375488,
+ "y": 5162.692573547363,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9054c457.8f5da",
+ "type": "save",
+ "name": "save l3-interface-ipv4-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv4-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3324.1428031921387,
+ "y": 5116.929546991985,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2621f47c.ef48fc"
+ ]
+ ]
+ },
+ {
+ "id": "98a03a47.d1bb1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3030.809673309326,
+ "y": 5168.59638563792,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9054c457.8f5da",
+ "cff14283.064d58"
+ ]
+ ]
+ },
+ {
+ "id": "ef84b8c0.919f68",
+ "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 creating l3-interface-ipv4-address-list object in AAI\" />\n",
+ "comments": "",
+ "x": 3907.4763221740723,
+ "y": 5135.263206164043,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "74ceecc0.c34db4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3737.642677307129,
+ "y": 5116.914039293926,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ef84b8c0.919f68",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "2621f47c.ef48fc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3580.8095626831055,
+ "y": 5116.929709116619,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "74ceecc0.c34db4"
+ ]
+ ]
+ },
+ {
+ "id": "cff14283.064d58",
+ "type": "save",
+ "name": "save l3-interface-ipv4-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv4-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3319.1430473327637,
+ "y": 5215.262965838116,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "298ae030.16817",
+ "72d565c9.1fdcd4"
+ ]
+ ]
+ },
+ {
+ "id": "6ca890e0.85d5d",
+ "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 l3-interface-ipv4-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "x": 3905.809429168701,
+ "y": 5206.929637591045,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5bb6eebc.15be48",
+ "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=\"Not-found error updating l3-interface-ipv4-address-list relationships\" />\n",
+ "comments": "",
+ "x": 3905.976291656494,
+ "y": 5256.914095560711,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "602f85ca.3af6ec",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3739.309299468994,
+ "y": 5186.914010683697,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6ca890e0.85d5d",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "671adf60.dbe2f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3739.3093757629395,
+ "y": 5239.913769404095,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5bb6eebc.15be48",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "298ae030.16817",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3582.4761848449707,
+ "y": 5186.92968050639,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "602f85ca.3af6ec"
+ ]
+ ]
+ },
+ {
+ "id": "72d565c9.1fdcd4",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3591.0477180480957,
+ "y": 5239.548824946087,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "671adf60.dbe2f"
+ ]
+ ]
+ },
+ {
+ "id": "13f0f3c7.903904",
+ "type": "save",
+ "name": "save l3-interface-ipv6-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv6-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3322.9525413513184,
+ "y": 5295.977602958679,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "cd295240.6fd0c"
+ ]
+ ]
+ },
+ {
+ "id": "831b99d7.14637",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3029.619411468506,
+ "y": 5347.644441604614,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "13f0f3c7.903904",
+ "9e5eb4e4.990e68"
+ ]
+ ]
+ },
+ {
+ "id": "91bc7464.bf1b48",
+ "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 creating l3-interface-ipv6-address-list object in AAI\" />\n",
+ "comments": "",
+ "x": 3906.286060333252,
+ "y": 5314.311262130737,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2ba2dbf4.a9426c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3736.4524154663086,
+ "y": 5295.96209526062,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "91bc7464.bf1b48",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "cd295240.6fd0c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3579.619300842285,
+ "y": 5295.977765083313,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2ba2dbf4.a9426c"
+ ]
+ ]
+ },
+ {
+ "id": "9e5eb4e4.990e68",
+ "type": "save",
+ "name": "save l3-interface-ipv6-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv6-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3317.9527854919434,
+ "y": 5394.31102180481,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "821e155.0c03768",
+ "d1daf5a7.4e5038"
+ ]
+ ]
+ },
+ {
+ "id": "702086e5.a87928",
+ "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 l3-interface-ipv6-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "x": 3904.619167327881,
+ "y": 5385.977693557739,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "810daf5d.d981a",
+ "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=\"Not-found error updating l3-interface-ipv6-address-list relationships\" />\n",
+ "comments": "",
+ "x": 3908.1193885803223,
+ "y": 5432.628710031509,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a387fb05.ace298",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3738.119037628174,
+ "y": 5365.962066650391,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "702086e5.a87928",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "2e5a57f5.b0c6d",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3738.119113922119,
+ "y": 5418.961825370789,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "810daf5d.d981a",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "821e155.0c03768",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3581.2859230041504,
+ "y": 5365.9777364730835,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a387fb05.ace298"
+ ]
+ ]
+ },
+ {
+ "id": "d1daf5a7.4e5038",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3589.8574562072754,
+ "y": 5418.596880912781,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2e5a57f5.b0c6d"
+ ]
+ ]
+ },
+ {
+ "id": "e3a4933c.85a3c8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1044.3335914611816,
+ "y": 6124.692138195038,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "977e1113.8ffe08",
+ "98920223.9d1788",
+ "4e4aa877.9d0b4",
+ "509b4c19.fe40b4"
+ ]
+ ]
+ },
+ {
+ "id": "41944760.d8c68",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1692.3337669372559,
+ "y": 6247.025886058807,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "61dec192.4d7148"
+ ]
+ ]
+ },
+ {
+ "id": "c022e9c3.807898",
+ "type": "save",
+ "name": "save vip-ipv4-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv4-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >\n<parameter name=\"vip-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`\" />\n<parameter name=\"vip-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1775.3336219787598,
+ "y": 6078.358897686005,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7a0ce7a9.67d428",
+ "8bc67e6d.794ba8"
+ ]
+ ]
+ },
+ {
+ "id": "4e4aa877.9d0b4",
+ "type": "for",
+ "name": "for each floating ipv4 address",
+ "xml": "<for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1283.3336143493652,
+ "y": 6136.358970165253,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ad98d310.ff19b"
+ ]
+ ]
+ },
+ {
+ "id": "ad98d310.ff19b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1509.3336143493652,
+ "y": 6134.358970165253,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c022e9c3.807898",
+ "db158df8.1167b",
+ "41944760.d8c68"
+ ]
+ ]
+ },
+ {
+ "id": "7ef8032.ed11efc",
+ "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 saving vip-ipv4-address-list in AAI\" />\n",
+ "comments": "",
+ "x": 2337.3336219787598,
+ "y": 6068.358897686005,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e03d6e17.c3c688",
+ "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=\"Not-found error saving vip-ipv4-address-list\" />\n",
+ "comments": "",
+ "x": 2337.5004844665527,
+ "y": 6118.34335565567,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "fbbe1588.40205",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2170.8334922790527,
+ "y": 6048.343270778656,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7ef8032.ed11efc",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "2a573c62.740a54",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2170.833568572998,
+ "y": 6101.343029499054,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e03d6e17.c3c688",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "7a0ce7a9.67d428",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2014.0003776550293,
+ "y": 6048.358940601349,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fbbe1588.40205"
+ ]
+ ]
+ },
+ {
+ "id": "8bc67e6d.794ba8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2022.5719108581543,
+ "y": 6100.978085041046,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2a573c62.740a54"
+ ]
+ ]
+ },
+ {
+ "id": "4d116331.dbe40c",
+ "type": "save",
+ "name": "save vip-ipv4-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2111.000217437744,
+ "y": 6191.0255608558655,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5c248e68.67eca8",
+ "b00109fd.7018a"
+ ]
+ ]
+ },
+ {
+ "id": "194ccbea.7b2314",
+ "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 vip-ipv4-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "x": 2680.6666259765625,
+ "y": 6183.025530397892,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "24399d85.a919ca",
+ "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=\"Not-found error updating vip-ipv4-address-list relationships\" />\n",
+ "comments": "",
+ "x": 2680.833595275879,
+ "y": 6233.009704113007,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "215feb82.3c18c4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2514.1664962768555,
+ "y": 6163.009903490543,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "194ccbea.7b2314",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "bd320fdf.1dd3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2514.166572570801,
+ "y": 6216.009662210941,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "24399d85.a919ca",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "5c248e68.67eca8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2357.333381652832,
+ "y": 6163.025573313236,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "215feb82.3c18c4"
+ ]
+ ]
+ },
+ {
+ "id": "b00109fd.7018a",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2365.904914855957,
+ "y": 6215.6447177529335,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bd320fdf.1dd3"
+ ]
+ ]
+ },
+ {
+ "id": "14908e4.0b7c572",
+ "type": "save",
+ "name": "save vip-ipv6-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv6-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >\n<parameter name=\"vip-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`\" />\n<parameter name=\"vip-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1778.66695022583,
+ "y": 6401.691581249237,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5b0cff7c.4a4298",
+ "31df6b80.4ae1ac"
+ ]
+ ]
+ },
+ {
+ "id": "509b4c19.fe40b4",
+ "type": "for",
+ "name": "for each floating ipv6 address",
+ "xml": "<for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1286.6669425964355,
+ "y": 6458.691653728485,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3c84431b.8f327c"
+ ]
+ ]
+ },
+ {
+ "id": "3c84431b.8f327c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1512.6669425964355,
+ "y": 6457.691653728485,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "14908e4.0b7c572",
+ "c9260312.daf868",
+ "5aa22816.429f48"
+ ]
+ ]
+ },
+ {
+ "id": "dd2eb416.73c908",
+ "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 saving vip-ipv6-address-list in AAI\" />\n",
+ "comments": "",
+ "x": 2340.66695022583,
+ "y": 6391.691581249237,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "10c3fbcd.513b94",
+ "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=\"Not-found error saving vip-ipv6-address-list\" />\n",
+ "comments": "",
+ "x": 2340.833812713623,
+ "y": 6441.676039218903,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "28179059.d61ef8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2174.166820526123,
+ "y": 6371.675954341888,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "dd2eb416.73c908",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "35207268.e2e96e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2174.1668968200684,
+ "y": 6424.675713062286,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "10c3fbcd.513b94",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "5b0cff7c.4a4298",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2017.3337059020996,
+ "y": 6371.691624164581,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "28179059.d61ef8"
+ ]
+ ]
+ },
+ {
+ "id": "31df6b80.4ae1ac",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2025.9052391052246,
+ "y": 6424.310768604279,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "35207268.e2e96e"
+ ]
+ ]
+ },
+ {
+ "id": "be05c61f.2a3f48",
+ "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 vip-ipv6-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "x": 2674.0002059936523,
+ "y": 6504.6916318535805,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4ddaaa06.7ec0e4",
+ "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=\"Not-found error updating vip-ipv6-address-list relationships\" />\n",
+ "comments": "",
+ "x": 2674.1670684814453,
+ "y": 6554.676089823246,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6169d8f1.0fca9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2507.5000762939453,
+ "y": 6484.676004946232,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "be05c61f.2a3f48",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "104ad559.84aa1b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2507.5001525878906,
+ "y": 6537.67576366663,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4ddaaa06.7ec0e4",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "3625278f.94f36",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2350.666961669922,
+ "y": 6484.691674768925,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6169d8f1.0fca9"
+ ]
+ ]
+ },
+ {
+ "id": "dbaa45c3.a58ac8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2359.238494873047,
+ "y": 6537.310819208622,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "104ad559.84aa1b"
+ ]
+ ]
+ },
+ {
+ "id": "6bd05851.cda258",
+ "type": "save",
+ "name": "save vip-ipv6-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2106.3338050842285,
+ "y": 6513.358093738556,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3625278f.94f36",
+ "dbaa45c3.a58ac8"
+ ]
+ ]
+ },
+ {
+ "id": "6f96a138.acc9c8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1162.3334770202637,
+ "y": 4321.691486895084,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3db10379.cadefc",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2327.0004234313965,
+ "y": 4659.692221999168,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b976bf80.a00868",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2035.6670036315918,
+ "y": 5876.6920592188835,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2e738df3.a266b2",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2984.667133331299,
+ "y": 5995.691905498505,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "379792a1.9d134e",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4304.0001220703125,
+ "y": 5043.357985436916,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1fc575ba.ed4b2a",
+ "type": "set",
+ "name": "set created_flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\n",
+ "comments": "",
+ "x": 1269.0002479553223,
+ "y": 4760.691877782345,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "977e1113.8ffe08",
+ "type": "set",
+ "name": "set created-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\n",
+ "comments": "",
+ "x": 1239.6670036315918,
+ "y": 6008.6920592188835,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "db158df8.1167b",
+ "type": "set",
+ "name": "set created-ipv4-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\n",
+ "comments": "",
+ "x": 1712.6669692993164,
+ "y": 6136.6921390891075,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c9260312.daf868",
+ "type": "set",
+ "name": "set created-ipv6-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\n",
+ "comments": "",
+ "x": 1718.0003051757812,
+ "y": 6462.691742360592,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c29ebd4.1b8af4",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1819.0004234313965,
+ "y": 4720.692116677761,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e06eae25.746e28"
+ ]
+ ]
+ },
+ {
+ "id": "c8b952a9.c78298",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-vlan-tagging-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 602.6667823791504,
+ "y": 6800.691919803619,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "644ad1c5.87cc3"
+ ]
+ ]
+ },
+ {
+ "id": "644ad1c5.87cc3",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 947.0001983642578,
+ "y": 6800.025414943695,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "52273fde.82a9b"
+ ]
+ ]
+ },
+ {
+ "id": "52273fde.82a9b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1102.000072479248,
+ "y": 6800.025210857391,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "cf013b75.034798",
+ "6bc578d2.be185",
+ "d4d7a21f.792e98"
+ ]
+ ]
+ },
+ {
+ "id": "cf013b75.034798",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1450.3333625793457,
+ "y": 6745.025630712509,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6bc578d2.be185",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n",
+ "comments": "",
+ "x": 1278.6668014526367,
+ "y": 6843.358858704567,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "d4d7a21f.792e98",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1273.6666984558105,
+ "y": 6796.691714763641,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b1406c81.923cc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 240.8928680419922,
+ "y": 556.5714416503906,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "43097907.f1acb8",
+ "6fdfcdf3.2ecd44",
+ "c5b83baf.fcb2b8",
+ "169ef671.ac8942",
+ "58f29161.867a9",
+ "3a7d1430.c71c54",
+ "cfe429db.9ee878",
+ "59c722cd.d5e3ac",
+ "9ed32d4f.dbd058"
+ ]
+ ]
+ },
+ {
+ "id": "cc91d00d.836b9",
+ "type": "switchNode",
+ "name": "switch from-preload",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 531.904712677002,
+ "y": 2612.1672048568726,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "dade25b1.c84ca",
+ "947e2614.ca4708"
+ ]
+ ]
+ },
+ {
+ "id": "dade25b1.c84ca",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 703.8094444274902,
+ "y": 2589.548225402832,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a599121f.29119"
+ ]
+ ]
+ },
+ {
+ "id": "947e2614.ca4708",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 705.4760971069336,
+ "y": 2634.5480642318726,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f0b8dd3.f8d9fa"
+ ]
+ ]
+ },
+ {
+ "id": "a599121f.29119",
+ "type": "set",
+ "name": "set automated-assignment to true",
+ "xml": "<set>\n<parameter name='automated-assignment' value='true' />\n",
+ "comments": "",
+ "x": 918.8094291687012,
+ "y": 2587.88139629364,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "f0b8dd3.f8d9fa",
+ "type": "set",
+ "name": "set automated-assignment to false",
+ "xml": "<set>\n<parameter name='automated-assignment' value='false' />\n",
+ "comments": "",
+ "x": 917.142749786377,
+ "y": 2632.8813161849976,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5aa22816.429f48",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1693.4288368225098,
+ "y": 6561.572165966034,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5e28153d.aad85c"
+ ]
+ ]
+ },
+ {
+ "id": "375c5c4e.30f4cc",
+ "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=\"Test return\" />\n",
+ "comments": "",
+ "x": 158.00014877319336,
+ "y": 7041.359684050083,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e5e2fde7.2191d",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 510.66680908203125,
+ "y": 3972.358087539673,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d363401e.7355c"
+ ]
+ ]
+ },
+ {
+ "id": "d363401e.7355c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 701.166877746582,
+ "y": 3973.19132232666,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e3fa98f1.b438d"
+ ]
+ ]
+ },
+ {
+ "id": "e3fa98f1.b438d",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 902.6668090820312,
+ "y": 3972.358087539673,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "40b3e744.61964"
+ ]
+ ]
+ },
+ {
+ "id": "40b3e744.61964",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1092.500129699707,
+ "y": 3971.857526779175,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e55f887a.2c28b8"
+ ]
+ ]
+ },
+ {
+ "id": "e55f887a.2c28b8",
+ "type": "get-resource",
+ "name": "get-resource VFC_RELATED_NETWORK_ROLE",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid\n and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1382.0001029968262,
+ "y": 3970.358169555664,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "38728e09.f4cc2a",
+ "61cfce62.115458"
+ ]
+ ]
+ },
+ {
+ "id": "38728e09.f4cc2a",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1653.00004196167,
+ "y": 3875.024871826172,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9486bfbc.c85ee"
+ ]
+ ]
+ },
+ {
+ "id": "9486bfbc.c85ee",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1800.190559387207,
+ "y": 3873.57288646698,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ff352d2b.40694",
+ "f46bd80d.b62c1"
+ ]
+ ]
+ },
+ {
+ "id": "61cfce62.115458",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1641.333293914795,
+ "y": 4094.691343307495,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a9e83864.3544c8"
+ ]
+ ]
+ },
+ {
+ "id": "aeabd7d7.f9db5",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2059.66654586792,
+ "y": 4096.69109916687,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "777f849.576bdfc",
+ "65c58e18.2c5ff",
+ "de7a8e52.6c38f",
+ "d8f45dd9.fffaa",
+ "d55dcbe4.b448d8",
+ "dd07d863.1ec54",
+ "66d1505f.39733",
+ "9bb872f6.753258"
+ ]
+ ]
+ },
+ {
+ "id": "ff352d2b.40694",
+ "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 reading VFC_RELATED_NETWORK_ROLE table\" />\n",
+ "comments": "",
+ "x": 1952.3334159851074,
+ "y": 3870.358123779297,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "65c58e18.2c5ff",
+ "type": "for",
+ "name": "for each vnf network",
+ "xml": "<for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2254.6666831970215,
+ "y": 3964.0247554779053,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "287be929.0998de"
+ ]
+ ]
+ },
+ {
+ "id": "777f849.576bdfc",
+ "type": "set",
+ "name": "set found-related-network to false",
+ "xml": "<set>\n<parameter name='found-related-network' value='false' />\n",
+ "comments": "",
+ "x": 2294.666759490967,
+ "y": 3905.6915321350098,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "8af8893c.0f1fc8",
+ "type": "for",
+ "name": "for each related network",
+ "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2653.666645050049,
+ "y": 3940.6910190582275,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7e43f742.984c4"
+ ]
+ ]
+ },
+ {
+ "id": "287be929.0998de",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2442.6666831970215,
+ "y": 3964.0247554779053,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8af8893c.0f1fc8",
+ "44f2cc37.a78364"
+ ]
+ ]
+ },
+ {
+ "id": "7e43f742.984c4",
+ "type": "switchNode",
+ "name": "switch network-role matches",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role\n == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2905.666561126709,
+ "y": 3940.691095352173,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "13b580a4.638417"
+ ]
+ ]
+ },
+ {
+ "id": "a9e83864.3544c8",
+ "type": "for",
+ "name": "for each db related-network",
+ "xml": "<for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1845.6666679382324,
+ "y": 4095.35809135437,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "aeabd7d7.f9db5"
+ ]
+ ]
+ },
+ {
+ "id": "4c894758.36b448",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 326.6669120788574,
+ "y": 7001.359684050083,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "13b580a4.638417",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3105.666561126709,
+ "y": 3938.691095352173,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "32afed8d.51d1a2"
+ ]
+ ]
+ },
+ {
+ "id": "32afed8d.51d1a2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3259.666561126709,
+ "y": 3936.691095352173,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f204e763.59bda8",
+ "85e8b1c6.3df998",
+ "334d9e50.554812"
+ ]
+ ]
+ },
+ {
+ "id": "f204e763.59bda8",
+ "type": "set",
+ "name": "set found-related-network to true",
+ "xml": "<set>\n<parameter name='found-related-network' value='true' />\n",
+ "comments": "",
+ "x": 3491.666721343994,
+ "y": 3896.3576793670654,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "85e8b1c6.3df998",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3414.999897003174,
+ "y": 3983.024429321289,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "de7a8e52.6c38f",
+ "type": "switchNode",
+ "name": "switch found-related-network",
+ "xml": "<switch test='`$found-related-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2277.6666145324707,
+ "y": 4039.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b21eb0fb.04ea08"
+ ]
+ ]
+ },
+ {
+ "id": "b21eb0fb.04ea08",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2471.6666145324707,
+ "y": 4037.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "86e33f55.12f7a"
+ ]
+ ]
+ },
+ {
+ "id": "bc2b0b96.f1ccb",
+ "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=\"`'Unable to find related network '\n + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`\" />\n",
+ "comments": "",
+ "x": 2749.6666145324707,
+ "y": 4035.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "86e33f55.12f7a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2601.6666145324707,
+ "y": 4037.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bc2b0b96.f1ccb",
+ "f46bd80d.b62c1"
+ ]
+ ]
+ },
+ {
+ "id": "f46bd80d.b62c1",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2694.3334159851074,
+ "y": 3800.358123779297,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d8f45dd9.fffaa",
+ "type": "set",
+ "name": "set is-trunked and segmentation-id in vm-network",
+ "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />\n",
+ "comments": "",
+ "x": 2339.6666145324707,
+ "y": 4087.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "dd07d863.1ec54",
+ "type": "switchNode",
+ "name": "switch rn-index",
+ "xml": "<switch test='`$rn-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2227.6666145324707,
+ "y": 4195.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a5dcf4c4.8aa428"
+ ]
+ ]
+ },
+ {
+ "id": "d55dcbe4.b448d8",
+ "type": "set",
+ "name": "set rn-index to related network length",
+ "xml": "<set>\n<parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />\n",
+ "comments": "",
+ "x": 2299.6666145324707,
+ "y": 4139.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a5dcf4c4.8aa428",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2391.6666145324707,
+ "y": 4195.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "aaf887bc.8a7d1"
+ ]
+ ]
+ },
+ {
+ "id": "aaf887bc.8a7d1",
+ "type": "set",
+ "name": "set rn-index to 0",
+ "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
+ "comments": "",
+ "x": 2551.6666145324707,
+ "y": 4195.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "66d1505f.39733",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />\n",
+ "comments": "",
+ "x": 2251.6666145324707,
+ "y": 4247.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9bb872f6.753258",
+ "type": "set",
+ "name": "set new related network length",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
+ "comments": "",
+ "x": 2269.6666145324707,
+ "y": 4299.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "44f2cc37.a78364",
+ "type": "switchNode",
+ "name": "switch found-related-network",
+ "xml": "<switch test='`$found-related-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2666.6666679382324,
+ "y": 3988.357879638672,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "21303fe3.7cc7a8"
+ ]
+ ]
+ },
+ {
+ "id": "21303fe3.7cc7a8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2863.3335304260254,
+ "y": 3988.3582515716553,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c3c23e6e.f406e8"
+ ]
+ ]
+ },
+ {
+ "id": "c3c23e6e.f406e8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2993.3334159851074,
+ "y": 3986.691375732422,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "334d9e50.554812",
+ "type": "set",
+ "name": "save indexes",
+ "xml": "<set>\n<parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />\n<parameter name='saved-related-network-index' value='`$related-network-index`' />\n",
+ "comments": "",
+ "x": 3433.3336296081543,
+ "y": 3938.3582496643066,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "b8c9d127.4eec38",
+ "type": "execute",
+ "name": "generate cp-instance-id",
+ "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" >\n<parameter name=\"ctx-destination\" value=\"cp-instance-id\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1722.2381210327148,
+ "y": 4967.882302761078,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aaf32437.4cef88",
+ "type": "save",
+ "name": "save cp to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"cp\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\" >\n<parameter name=\"cp-instance-id\" value=\"`$cp-instance-id`\" />\n<parameter name=\"port-id\" value=\"0\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1703.90474319458,
+ "y": 5034.5488085746765,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "45f81af2.00ca24",
+ "cfdaff5f.4d6de8"
+ ]
+ ]
+ },
+ {
+ "id": "45f81af2.00ca24",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1892.9047241210938,
+ "y": 5010.215422093868,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b0518f34.cac6c"
+ ]
+ ]
+ },
+ {
+ "id": "b0518f34.cac6c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2060.0714721679688,
+ "y": 5026.009855687618,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a5df6a1f.787e3",
+ "3db10379.cadefc"
+ ]
+ ]
+ },
+ {
+ "id": "cfdaff5f.4d6de8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1897.9047241210938,
+ "y": 5059.881681859493,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b0518f34.cac6c"
+ ]
+ ]
+ },
+ {
+ "id": "a5df6a1f.787e3",
+ "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 creating cp object in AAI\" />\n",
+ "comments": "",
+ "x": 2225.5714836120605,
+ "y": 5037.8820605278015,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "bc7e2484.e69228",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1498.714443206787,
+ "y": 5237.167096614838,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "134d490c.25b81f",
+ "502f6d13.ee70cc",
+ "b8c9d127.4eec38",
+ "aaf32437.4cef88",
+ "9ac4ad9c.d842",
+ "7ff418af.f0a608"
+ ]
+ ]
+ },
+ {
+ "id": "134d490c.25b81f",
+ "type": "set",
+ "name": "set connection point data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'\n value='`$cp-instance-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'\n value='0' />\n",
+ "comments": "",
+ "x": 1734.2382850646973,
+ "y": 5112.406378269196,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "16d827bf.761bd",
+ "type": "comment",
+ "name": "Floating IPs",
+ "info": "",
+ "comments": "",
+ "x": 1295.0001029968262,
+ "y": 6094.691496551037,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9ac4ad9c.d842",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1718.3332862854004,
+ "y": 5508.691872119904,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "36b35f12.bc0638"
+ ]
+ ]
+ },
+ {
+ "id": "a55f1caf.a65878",
+ "type": "save",
+ "name": "save cp relationship to l3-network",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2356.6667671203613,
+ "y": 5508.358379840851,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2783a294.d9970e",
+ "26e2d614.94cbb2"
+ ]
+ ]
+ },
+ {
+ "id": "fb9b2db7.a119f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2728.4998054504395,
+ "y": 5481.6763281822205,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4f31fc68.c1e6b4",
+ "31ec22c4.51ea5e"
+ ]
+ ]
+ },
+ {
+ "id": "fff4f3ff.1947f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2728.4998817443848,
+ "y": 5534.676086902618,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4f31fc68.c1e6b4",
+ "15135e2c.b33e5a"
+ ]
+ ]
+ },
+ {
+ "id": "2783a294.d9970e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2571.666690826416,
+ "y": 5481.691998004913,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fb9b2db7.a119f"
+ ]
+ ]
+ },
+ {
+ "id": "26e2d614.94cbb2",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2580.238224029541,
+ "y": 5534.311142444611,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fff4f3ff.1947f8"
+ ]
+ ]
+ },
+ {
+ "id": "31ec22c4.51ea5e",
+ "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 cp relationship to l3-network in AAI\" />\n",
+ "comments": "",
+ "x": 2900.6666145324707,
+ "y": 5504.3587040901175,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "15135e2c.b33e5a",
+ "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=\"Not-found error updating cp relationship to l3-network\" />\n",
+ "comments": "",
+ "x": 2895.833522796631,
+ "y": 5556.009911060332,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4f31fc68.c1e6b4",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3102.3333778381348,
+ "y": 5454.35870218277,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7ff418af.f0a608",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1718.333438873291,
+ "y": 5669.35822725296,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "77662062.8159c"
+ ]
+ ]
+ },
+ {
+ "id": "fb03ccd9.dcf8d8",
+ "type": "save",
+ "name": "save cp relationship to l3-network and vlan-tag",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vlan-tag\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vlan-tags/vlan-tag/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2638.00044631958,
+ "y": 5667.358222484589,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3ba6953f.154e12",
+ "dd2a018a.ddecf"
+ ]
+ ]
+ },
+ {
+ "id": "25b1ce59.35b64a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3044.8334922790527,
+ "y": 5640.67552137375,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "43ea6b39.724e64",
+ "4f31fc68.c1e6b4"
+ ]
+ ]
+ },
+ {
+ "id": "776418cc.650358",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3044.833568572998,
+ "y": 5693.675280094148,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "177fa68d.607ac9",
+ "4f31fc68.c1e6b4"
+ ]
+ ]
+ },
+ {
+ "id": "3ba6953f.154e12",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2888.0003776550293,
+ "y": 5640.691191196443,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "25b1ce59.35b64a"
+ ]
+ ]
+ },
+ {
+ "id": "dd2a018a.ddecf",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2896.5719108581543,
+ "y": 5693.31033563614,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "776418cc.650358"
+ ]
+ ]
+ },
+ {
+ "id": "43ea6b39.724e64",
+ "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 cp relationship to l3-network and vlan-tag in AAI\" />\n",
+ "comments": "",
+ "x": 3217.000301361084,
+ "y": 5663.357897281647,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "177fa68d.607ac9",
+ "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=\"Not-found error updating cp relationship to l3-network and vlan-tag\" />\n",
+ "comments": "",
+ "x": 3212.167209625244,
+ "y": 5715.009104251862,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "f4be9dce.3fda3",
+ "type": "for",
+ "name": "for each related-network",
+ "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2334.0002784729004,
+ "y": 5667.358223438263,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fb03ccd9.dcf8d8"
+ ]
+ ]
+ },
+ {
+ "id": "8534c826.13da18",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-generate-heat-parameters",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.3335723876953,
+ "y": 6910.358483910561,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "75790bd1.e8defc",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 413.6669006347656,
+ "y": 6958.358586907387,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c898fd55.fa0688",
+ "type": "switchNode",
+ "name": "switch input vf-module-name",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 565.0000038146973,
+ "y": 2394.191044807434,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ba4d5614.642188",
+ "37d64c51.9cd974"
+ ]
+ ]
+ },
+ {
+ "id": "ba4d5614.642188",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 764.9999961853027,
+ "y": 2371.690947532654,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a37b13e8.33b938"
+ ]
+ ]
+ },
+ {
+ "id": "37d64c51.9cd974",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 765.4285888671875,
+ "y": 2421.81005859375,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6529b298.61d4a4"
+ ]
+ ]
+ },
+ {
+ "id": "6553babe.5f42ac",
+ "type": "for",
+ "name": "for each vnfc-subnet-role",
+ "xml": "<for index='subnet-role-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1322.5001029968262,
+ "y": 3189.190721511841,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "13b1a341.f7194d"
+ ]
+ ]
+ },
+ {
+ "id": "13b1a341.f7194d",
+ "type": "for",
+ "name": "for each vnfc-address-family",
+ "xml": "<for index='address-family-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1570.8333625793457,
+ "y": 3189.190721511841,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a495cd13.ac3888"
+ ]
+ ]
+ },
+ {
+ "id": "f1de476.813b738",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 528.3332786560059,
+ "y": 2907.52405834198,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5d8aed8b.1bdc24"
+ ]
+ ]
+ },
+ {
+ "id": "5d8aed8b.1bdc24",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 710.000057220459,
+ "y": 2906.191206932068,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8556a0d3.b51ac"
+ ]
+ ]
+ },
+ {
+ "id": "8556a0d3.b51ac",
+ "type": "for",
+ "name": "for each vnfc-network",
+ "xml": "<for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 911.1666297912598,
+ "y": 2906.023896217346,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6e901201.85a804"
+ ]
+ ]
+ },
+ {
+ "id": "6e901201.85a804",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1123.3333015441895,
+ "y": 2905.024256706238,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "914f0e01.802e08",
+ "2226678b.986958",
+ "26a1009d.f04208",
+ "6553babe.5f42ac"
+ ]
+ ]
+ },
+ {
+ "id": "914f0e01.802e08",
+ "type": "set",
+ "name": "set vnf-network-index to -1",
+ "xml": "<set>\n<parameter name='vnf-network-index' value='-1' />\n",
+ "comments": "",
+ "x": 1335.0000190734863,
+ "y": 2858.35747051239,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2226678b.986958",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1316.6668090820312,
+ "y": 2905.0242223739624,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "90d45d40.9fed1"
+ ]
+ ]
+ },
+ {
+ "id": "90d45d40.9fed1",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1558.3332786560059,
+ "y": 2903.357717514038,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b1008fcb.57c808"
+ ]
+ ]
+ },
+ {
+ "id": "b1008fcb.57c808",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1754.99995803833,
+ "y": 2903.357636451721,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c0752eeb.157cc"
+ ]
+ ]
+ },
+ {
+ "id": "c0752eeb.157cc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1908.333179473877,
+ "y": 2903.357508659363,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "aa9d4976.24874",
+ "14a1e383.35ce54",
+ "d1f1e28b.e998b"
+ ]
+ ]
+ },
+ {
+ "id": "aa9d4976.24874",
+ "type": "set",
+ "name": "set vnf-network-index",
+ "xml": "<set>\n<parameter name='vnf-network-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 2115.000011444092,
+ "y": 2851.6908864974976,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "14a1e383.35ce54",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2069.999927520752,
+ "y": 2941.6908073425293,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "26a1009d.f04208",
+ "type": "switchNode",
+ "name": "switch vnf-network-index",
+ "xml": "<switch test='`$vnf-network-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1328.3333473205566,
+ "y": 2965.024224281311,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d0a470bb.1e44a8"
+ ]
+ ]
+ },
+ {
+ "id": "d0a470bb.1e44a8",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1519.9999885559082,
+ "y": 2965.024468421936,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f884f987.8fb5f"
+ ]
+ ]
+ },
+ {
+ "id": "f884f987.8fb5f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1668.333179473877,
+ "y": 2963.357508659363,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "89311515.bf059",
+ "d72a7284.bd122"
+ ]
+ ]
+ },
+ {
+ "id": "89311515.bf059",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3196.6668128967285,
+ "y": 2815.024085998535,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d72a7284.bd122",
+ "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=\"`'VNFC network role '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n + ' is not found in VNF network list'\n `\" />\n\n\n\n",
+ "comments": "",
+ "x": 1836.6665534973145,
+ "y": 2981.690760612488,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e074c1fb.288db",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2359.999897003174,
+ "y": 3373.3573598861694,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c84bee67.a01c",
+ "7e827224.b98a54",
+ "158ff27d.f681fe"
+ ]
+ ]
+ },
+ {
+ "id": "c84bee67.a01c",
+ "type": "for",
+ "name": "for each subnet-data",
+ "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2556.666648864746,
+ "y": 3328.3572788238525,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "db92134e.c11958"
+ ]
+ ]
+ },
+ {
+ "id": "db92134e.c11958",
+ "type": "switchNode",
+ "name": "address-families match?",
+ "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2783.3332748413086,
+ "y": 3328.3572788238525,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "664e2d50.db9864"
+ ]
+ ]
+ },
+ {
+ "id": "664e2d50.db9864",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2963.333240509033,
+ "y": 3328.3576850891113,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "86f838f7.8fb2d8"
+ ]
+ ]
+ },
+ {
+ "id": "53f781b3.123d98",
+ "type": "set",
+ "name": "set tmp.address-family",
+ "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
+ "comments": "",
+ "x": 2388.3332328796387,
+ "y": 3191.690773010254,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a495cd13.ac3888",
+ "type": "switchNode",
+ "name": "switch vnfc-subnet-ip_length",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1833.3335762023926,
+ "y": 3188.357808113098,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "39bb02f5.1a9bde",
+ "1e32cfbf.18065",
+ "c36c4aab.2dd96"
+ ]
+ ]
+ },
+ {
+ "id": "39bb02f5.1a9bde",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2035.000087738037,
+ "y": 3088.3573513031006,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6c7a9e2c.5ffe28"
+ ]
+ ]
+ },
+ {
+ "id": "1e32cfbf.18065",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2031.4287185668945,
+ "y": 3274.309642791748,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "cb710085.b13e"
+ ]
+ ]
+ },
+ {
+ "id": "6c7a9e2c.5ffe28",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2166.6666374206543,
+ "y": 3111.0240983963013,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2ea4d244.10a91e",
+ "type": "set",
+ "name": "set subnet-id to -1",
+ "xml": "<set>\n<parameter name='subnet-id' value='-1' />\n",
+ "comments": "",
+ "x": 3056.6671562194824,
+ "y": 3490.0247650146484,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "cb710085.b13e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2185.0001335144043,
+ "y": 3273.3572750091553,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "53f781b3.123d98",
+ "e074c1fb.288db"
+ ]
+ ]
+ },
+ {
+ "id": "fd601bae.1a1768",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4316.666753768921,
+ "y": 3661.691241979599,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3b599124.ddda26",
+ "f1ce1b9b.c5713"
+ ]
+ ]
+ },
+ {
+ "id": "f1ce1b9b.c5713",
+ "type": "execute",
+ "name": "execute isInSameSubnet",
+ "xml": "<execute plugin=\"com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool\" method=\"isInSameSubnet\">\n\t<parameter name=\"firstIPAddr\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`\" />\n\t<parameter name=\"secondIPAddr\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`\" />\n\t<parameter name=\"subnet\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`\" />\n\t<parameter name=\"ipType\" value=\"`$ip-type`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4531.6667556762695,
+ "y": 3711.690915822983,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "286c5f74.70fde"
+ ]
+ ]
+ },
+ {
+ "id": "3b599124.ddda26",
+ "type": "switchNode",
+ "name": "switch tmp.address-family",
+ "xml": "<switch test='`$tmp.address-family`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4533.333911895752,
+ "y": 3618.357902288437,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f9adff66.6ab258",
+ "23a24dc2.1a7102"
+ ]
+ ]
+ },
+ {
+ "id": "f9adff66.6ab258",
+ "type": "outcome",
+ "name": "ipv4",
+ "xml": "<outcome value='ipv4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4736.667174021402,
+ "y": 3591.6911326249437,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "dc9baf82.fb366"
+ ]
+ ]
+ },
+ {
+ "id": "23a24dc2.1a7102",
+ "type": "outcome",
+ "name": "ipv6",
+ "xml": "<outcome value='ipv6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4736.666847229004,
+ "y": 3638.3576600551605,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9777e060.2e3dc"
+ ]
+ ]
+ },
+ {
+ "id": "dc9baf82.fb366",
+ "type": "set",
+ "name": "set ip-type parameter to IPv4",
+ "xml": "<set>\n<parameter name='ip-type' value='IPv4' />\n",
+ "comments": "",
+ "x": 4933.333660125732,
+ "y": 3590.0246064662933,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9777e060.2e3dc",
+ "type": "set",
+ "name": "set ip-type parameter to IPv6",
+ "xml": "<set>\n<parameter name='ip-type' value='IPv6' />\n",
+ "comments": "",
+ "x": 4938.33353805542,
+ "y": 3638.357679128647,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "7c5bee11.1ed9d",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4871.666786193848,
+ "y": 3711.357679128647,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b5ad4567.eb0b98",
+ "3214e32a.ac2af4"
+ ]
+ ]
+ },
+ {
+ "id": "b5ad4567.eb0b98",
+ "type": "set",
+ "name": "set subnet-id",
+ "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
+ "comments": "",
+ "x": 5050.000106811523,
+ "y": 3688.024165868759,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "3214e32a.ac2af4",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 5035.000110626221,
+ "y": 3734.691159963608,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2cb5307a.bb967",
+ "type": "switchNode",
+ "name": "switch subnet-id",
+ "xml": "<switch test='`$subnet-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3048.3330307006836,
+ "y": 3651.691499710083,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4eaebda7.88a464"
+ ]
+ ]
+ },
+ {
+ "id": "4eaebda7.88a464",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3204.99959564209,
+ "y": 3651.6914348602295,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c969c7c1.3acfe8"
+ ]
+ ]
+ },
+ {
+ "id": "c969c7c1.3acfe8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3353.3327865600586,
+ "y": 3650.0244750976562,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "48e52ed2.21ebb",
+ "89311515.bf059"
+ ]
+ ]
+ },
+ {
+ "id": "48e52ed2.21ebb",
+ "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=\"`'Not able to find VNF network subnet that contains address '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address\n `\" />\n\n\n\n",
+ "comments": "",
+ "x": 3521.666118621826,
+ "y": 3666.6909503936768,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5fd2a555.9c69d4",
+ "type": "set",
+ "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />\n",
+ "comments": "",
+ "x": 3159.9996757507324,
+ "y": 3728.3582706451416,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "709b1630.8dd8b8",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 513.3332710266113,
+ "y": 3323.357508659363,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "286c5f74.70fde",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4718.333358764648,
+ "y": 3711.691404104233,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7c5bee11.1ed9d"
+ ]
+ ]
+ },
+ {
+ "id": "d1f1e28b.e998b",
+ "type": "set",
+ "name": "set network-id",
+ "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />\n",
+ "comments": "",
+ "x": 2091.666515350342,
+ "y": 2896.690969467163,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6f6678f2.1bf2e",
+ "type": "switchNode",
+ "name": "switch nfc-naming-code",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1289.9999809265137,
+ "y": 4511.690697193146,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "726b02e.fd1c97c",
+ "21ecd530.fb8122"
+ ]
+ ]
+ },
+ {
+ "id": "726b02e.fd1c97c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1474.999927520752,
+ "y": 4486.690515995026,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "46b7d4f1.8d2604"
+ ]
+ ]
+ },
+ {
+ "id": "21ecd530.fb8122",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1473.095199584961,
+ "y": 4533.476343631744,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7ea5f92e.d1edb8"
+ ]
+ ]
+ },
+ {
+ "id": "46b7d4f1.8d2604",
+ "type": "set",
+ "name": "set tmp.nfc-naming-code to DEFAULT",
+ "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='DEFAULT' />\n",
+ "comments": "",
+ "x": 1706.6666984558105,
+ "y": 4485.023866176605,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "7ea5f92e.d1edb8",
+ "type": "set",
+ "name": "set tmp.nfc-naming-code",
+ "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />\n",
+ "comments": "",
+ "x": 1663.333209991455,
+ "y": 4533.357364177704,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c11e7bb7.050ab8",
+ "type": "switchNode",
+ "name": "switch nfc-function",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1278.3333129882812,
+ "y": 4610.023870944977,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2d809cc8.28629c",
+ "48b0d022.df9368"
+ ]
+ ]
+ },
+ {
+ "id": "2d809cc8.28629c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1474.9999198913574,
+ "y": 4585.023668766022,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c6205636.69c938"
+ ]
+ ]
+ },
+ {
+ "id": "48b0d022.df9368",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1473.0951919555664,
+ "y": 4631.8094964027405,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6da6c28b.2af50c"
+ ]
+ ]
+ },
+ {
+ "id": "c6205636.69c938",
+ "type": "set",
+ "name": "set tmp.nfc-function to DEFAULT",
+ "xml": "<set>\n<parameter name='tmp.nfc-function' value='DEFAULT' />\n",
+ "comments": "",
+ "x": 1686.6667022705078,
+ "y": 4583.3568778038025,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6da6c28b.2af50c",
+ "type": "set",
+ "name": "set tmp.nfc-function",
+ "xml": "<set>\n<parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />\n",
+ "comments": "",
+ "x": 1644.9998321533203,
+ "y": 4631.690538883209,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "8bf1dfbc.51b108",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2918.3333015441895,
+ "y": 2266.691004753113,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5f9b54a9.c1cdd4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2824.9998054504395,
+ "y": 2341.691004753113,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c88feb78.b7ccd",
+ "8bf1dfbc.51b108"
+ ]
+ ]
+ },
+ {
+ "id": "f6f1c5d8.dc0ab",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2029.9998588562012,
+ "y": 2401.6908683776855,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7a69f1ed.4762a8",
+ "8bf1dfbc.51b108"
+ ]
+ ]
+ },
+ {
+ "id": "4331007b.e83998",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2291.666723251343,
+ "y": 2456.691035270691,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ff44880b.925a9",
+ "8bf1dfbc.51b108"
+ ]
+ ]
+ },
+ {
+ "id": "36b35f12.bc0638",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1951.6666297912598,
+ "y": 5508.6908984184265,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "255ff0a6.4c3e5"
+ ]
+ ]
+ },
+ {
+ "id": "255ff0a6.4c3e5",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2150.000099182129,
+ "y": 5508.358053684235,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a55f1caf.a65878"
+ ]
+ ]
+ },
+ {
+ "id": "77662062.8159c",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1954.9999732971191,
+ "y": 5668.357346057892,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ec6e0033.18078"
+ ]
+ ]
+ },
+ {
+ "id": "ec6e0033.18078",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2153.3334426879883,
+ "y": 5668.0245013237,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f4be9dce.3fda3"
+ ]
+ ]
+ },
+ {
+ "id": "61dec192.4d7148",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1858.3332557678223,
+ "y": 6246.6907658576965,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4d116331.dbe40c",
+ "31e79dcc.7e90fa"
+ ]
+ ]
+ },
+ {
+ "id": "5e28153d.aad85c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1860.0000038146973,
+ "y": 6561.690777301788,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6bd05851.cda258",
+ "214cc548.9d2312"
+ ]
+ ]
+ },
+ {
+ "id": "31e79dcc.7e90fa",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2075.000202178955,
+ "y": 6305.023936748505,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "730f1cc9.69fe4c"
+ ]
+ ]
+ },
+ {
+ "id": "4d927385.1d80e4",
+ "type": "save",
+ "name": "save vip-ipv4-address-list relationship to cp",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2750.0001258850098,
+ "y": 6305.023775577545,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a12b08ff.872da8",
+ "435faa21.8dd73c"
+ ]
+ ]
+ },
+ {
+ "id": "b7ae4ee8.46c8f8",
+ "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 vip-ipv4-address-list relationship to cp in AAI\" />\n",
+ "comments": "",
+ "x": 3308.3333473205566,
+ "y": 6298.357183933258,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "29ab7ac1.d4eea6",
+ "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=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
+ "comments": "",
+ "x": 3308.500316619873,
+ "y": 6348.341357648373,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "b1889d0.1a3afe",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3141.8332176208496,
+ "y": 6278.341557025909,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b7ae4ee8.46c8f8",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "84cd1c51.7c62c8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3141.833293914795,
+ "y": 6331.341315746307,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "29ab7ac1.d4eea6",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "a12b08ff.872da8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2985.000102996826,
+ "y": 6278.357226848602,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b1889d0.1a3afe"
+ ]
+ ]
+ },
+ {
+ "id": "435faa21.8dd73c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2993.571636199951,
+ "y": 6330.9763712883,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "84cd1c51.7c62c8"
+ ]
+ ]
+ },
+ {
+ "id": "214cc548.9d2312",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2076.6665992736816,
+ "y": 6628.357346057892,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c3545be7.a08a58"
+ ]
+ ]
+ },
+ {
+ "id": "8ae6c277.1259b8",
+ "type": "save",
+ "name": "save vip-ipv6-address-list relationship to cp",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2746.6665534973145,
+ "y": 6626.690128803253,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5f1b56ef.56a3d",
+ "4c3ccc6a.9008ac"
+ ]
+ ]
+ },
+ {
+ "id": "d0696152.132c6",
+ "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 vip-ipv4-address-list relationship to cp in AAI\" />\n",
+ "comments": "",
+ "x": 3304.9997749328613,
+ "y": 6620.023537158966,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "89aa2cd0.882d5",
+ "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=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
+ "comments": "",
+ "x": 3305.1667442321777,
+ "y": 6670.007710874081,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "feaa3d1f.f068f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3138.4996452331543,
+ "y": 6600.007910251617,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d0696152.132c6"
+ ]
+ ]
+ },
+ {
+ "id": "e2f260c.e83a22",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3138.4997215270996,
+ "y": 6653.007668972015,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "89aa2cd0.882d5"
+ ]
+ ]
+ },
+ {
+ "id": "5f1b56ef.56a3d",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2981.666530609131,
+ "y": 6600.02358007431,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "feaa3d1f.f068f8"
+ ]
+ ]
+ },
+ {
+ "id": "4c3ccc6a.9008ac",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2990.238063812256,
+ "y": 6652.642724514008,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e2f260c.e83a22"
+ ]
+ ]
+ },
+ {
+ "id": "730f1cc9.69fe4c",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2328.3332710266113,
+ "y": 6305.023613452911,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "de7543a8.d36ff8"
+ ]
+ ]
+ },
+ {
+ "id": "de7543a8.d36ff8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2515.000114440918,
+ "y": 6305.024100780487,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4d927385.1d80e4"
+ ]
+ ]
+ },
+ {
+ "id": "c3545be7.a08a58",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2324.9998512268066,
+ "y": 6626.690353870392,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ad4ca04.6f61ae"
+ ]
+ ]
+ },
+ {
+ "id": "ad4ca04.6f61ae",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2511.6666946411133,
+ "y": 6626.6908411979675,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8ae6c277.1259b8"
+ ]
+ ]
+ },
+ {
+ "id": "59928182.6a1818",
+ "type": "comment",
+ "name": "SELF-SERVE FORK",
+ "info": "",
+ "comments": "",
+ "x": 694.7142944335938,
+ "y": 915.0476245880127,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4f63954f.60114c",
+ "type": "call",
+ "name": "call self-serve-vf-module-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1227.749439239502,
+ "y": 959.964430809021,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c903ef6e.5d9028"
+ ]
+ ]
+ },
+ {
+ "id": "b3692a00.1ad058",
+ "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=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`\" />\n",
+ "comments": "",
+ "x": 1611.820816040039,
+ "y": 959.9643812179565,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c903ef6e.5d9028",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1448.047019958496,
+ "y": 959.4524621963501,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b3692a00.1ad058"
+ ]
+ ]
+ },
+ {
+ "id": "15551ef3.fbe519",
+ "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": 1174.6186828613281,
+ "y": 1109.809350013733,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "f7ab153e.ede618",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1166.6662254333496,
+ "y": 1064.3008937835693,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "58b9ddbd.c28154",
+ "type": "set",
+ "name": "set order-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
+ "comments": "",
+ "x": 1237.3567428588867,
+ "y": 1013.2617883682251,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4c64ed.a697bb14",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 948.4521713256836,
+ "y": 959.6425924301147,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4f63954f.60114c",
+ "58b9ddbd.c28154",
+ "f7ab153e.ede618",
+ "15551ef3.fbe519"
+ ]
+ ]
+ },
+ {
+ "id": "ca9d6671.e0234",
+ "type": "comment",
+ "name": "First, count the subnets for this address family",
+ "info": "",
+ "comments": "",
+ "x": 2690.0004081726074,
+ "y": 3237.9997692108154,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "43ee48f3.cff09",
+ "type": "for",
+ "name": "for each subnet-data",
+ "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3063.333095550537,
+ "y": 3533.0002727508545,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c2367378.e6cd3"
+ ]
+ ]
+ },
+ {
+ "id": "c2367378.e6cd3",
+ "type": "switchNode",
+ "name": "address-families match?",
+ "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3289.9997215270996,
+ "y": 3533.0002727508545,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a41d108.beda87"
+ ]
+ ]
+ },
+ {
+ "id": "a41d108.beda87",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3469.999687194824,
+ "y": 3533.0006790161133,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bbd41071.5f5ca"
+ ]
+ ]
+ },
+ {
+ "id": "7e827224.b98a54",
+ "type": "set",
+ "name": "set af-count to 0",
+ "xml": "<set>\n<parameter name='af-count' value='0' />\n",
+ "comments": "",
+ "x": 2544.9999809265137,
+ "y": 3279.6665210723877,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "f96f4d35.ea7948",
+ "type": "set",
+ "name": "increment af-count",
+ "xml": "<set>\n<parameter name='af-count' value='`$af-count + 1`' />\n",
+ "comments": "",
+ "x": 3293.3333473205566,
+ "y": 3346.3332710266113,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "86f838f7.8fb2d8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3109.9997215270996,
+ "y": 3327.9999561309814,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f96f4d35.ea7948",
+ "2d2924.bfe856dc"
+ ]
+ ]
+ },
+ {
+ "id": "2d2924.bfe856dc",
+ "type": "set",
+ "name": "set subnet-id",
+ "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
+ "comments": "",
+ "x": 3274.999767303467,
+ "y": 3301.3332691192627,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "158ff27d.f681fe",
+ "type": "switchNode",
+ "name": "switch af-count",
+ "xml": "<switch test='`$af-count`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2535.0003929138184,
+ "y": 3516.3334379196167,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a0b1648c.912158",
+ "70cf3548.bbf294"
+ ]
+ ]
+ },
+ {
+ "id": "a0b1648c.912158",
+ "type": "outcome",
+ "name": "1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2694.999912261963,
+ "y": 3414.666606903076,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ca4eb36c.b27be8"
+ ]
+ ]
+ },
+ {
+ "id": "ca4eb36c.b27be8",
+ "type": "set",
+ "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\n value='`$subnet-id`' />\n",
+ "comments": "",
+ "x": 2968.3332176208496,
+ "y": 3412.9999561309814,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "70cf3548.bbf294",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2694.999828338623,
+ "y": 3616.333526611328,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4f40f504.bc667c"
+ ]
+ ]
+ },
+ {
+ "id": "4f40f504.bc667c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2851.6664695739746,
+ "y": 3616.3332080841064,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2ea4d244.10a91e",
+ "43ee48f3.cff09",
+ "2cb5307a.bb967",
+ "5fd2a555.9c69d4"
+ ]
+ ]
+ },
+ {
+ "id": "bbd41071.5f5ca",
+ "type": "switchNode",
+ "name": "switch network-start-address",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3664.9998664855957,
+ "y": 3531.333522796631,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "eb9161e6.999df8",
+ "e5973f29.60a6a8"
+ ]
+ ]
+ },
+ {
+ "id": "eb9161e6.999df8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 3861.6667137145996,
+ "y": 3466.333133459091,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9175dbd1.90db18"
+ ]
+ ]
+ },
+ {
+ "id": "e5973f29.60a6a8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3854.7621116638184,
+ "y": 3600.61904501915,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f7225223.9cd0a"
+ ]
+ ]
+ },
+ {
+ "id": "f7225223.9cd0a",
+ "type": "switchNode",
+ "name": "switch cidr-mask",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4009.9999046325684,
+ "y": 3599.666251897812,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6dbe50b0.25663",
+ "86c99244.02a7"
+ ]
+ ]
+ },
+ {
+ "id": "6dbe50b0.25663",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 4164.999980926514,
+ "y": 3529.6665513515472,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4ede313d.185d4"
+ ]
+ ]
+ },
+ {
+ "id": "86c99244.02a7",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4168.095777511597,
+ "y": 3662.2856385707855,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fd601bae.1a1768"
+ ]
+ ]
+ },
+ {
+ "id": "c36c4aab.2dd96",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2036.666591644287,
+ "y": 3136.3332080841064,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6c7a9e2c.5ffe28"
+ ]
+ ]
+ },
+ {
+ "id": "1a5ed4ff.cd6413",
+ "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 subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have network-start-address populated'`\" />\n\n\n\n",
+ "comments": "",
+ "x": 4170.000217437744,
+ "y": 3481.332970380783,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9175dbd1.90db18",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4006.6666412353516,
+ "y": 3466.332900762558,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1a5ed4ff.cd6413",
+ "89311515.bf059"
+ ]
+ ]
+ },
+ {
+ "id": "f75c2653.dd05c",
+ "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 subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have cidr-mask populated'`\" />\n\n\n\n",
+ "comments": "",
+ "x": 4475.000072479248,
+ "y": 3542.9998376369476,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4ede313d.185d4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4311.6664962768555,
+ "y": 3527.9997680187225,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f75c2653.dd05c",
+ "89311515.bf059"
+ ]
+ ]
+ },
+ {
+ "id": "8c5c11fb.d4aaf",
+ "type": "comment",
+ "name": "Ignore address families with no addresses",
+ "info": "",
+ "comments": "",
+ "x": 2310.9999656677246,
+ "y": 3066.6667041778564,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "dc86b143.7bc0f",
+ "type": "switchNode",
+ "name": "switch invariant-uuid",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1281.666805267334,
+ "y": 4696.333082199097,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4ff032c9.ac47cc",
+ "4f1d070c.cbefd8"
+ ]
+ ]
+ },
+ {
+ "id": "4ff032c9.ac47cc",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1463.3332176208496,
+ "y": 4672.999711990356,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9c0ccfc9.82e09"
+ ]
+ ]
+ },
+ {
+ "id": "4f1d070c.cbefd8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1461.4284896850586,
+ "y": 4719.785539627075,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bf5629c7.b8c548"
+ ]
+ ]
+ },
+ {
+ "id": "9c0ccfc9.82e09",
+ "type": "save",
+ "name": "save vnfc to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1624.999843597412,
+ "y": 4674.666704177856,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "57f9125a.f4f11c",
+ "c29ebd4.1b8af4"
+ ]
+ ]
+ },
+ {
+ "id": "cfe429db.9ee878",
+ "type": "switchNode",
+ "name": "switch input cloud-owner",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 560.7141952514648,
+ "y": 304.9047336578369,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f0f44cd.5ed593",
+ "311a0c57.6a3054"
+ ]
+ ]
+ },
+ {
+ "id": "f0f44cd.5ed593",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 744.0475692749023,
+ "y": 274.9047222137451,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "baeca66d.f8d568"
+ ]
+ ]
+ },
+ {
+ "id": "311a0c57.6a3054",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 743.8094749450684,
+ "y": 315.85721588134766,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ecc33023.4b1938"
+ ]
+ ]
+ },
+ {
+ "id": "baeca66d.f8d568",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 879.0475234985352,
+ "y": 273.2380619049072,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ecc33023.4b1938",
+ "type": "set",
+ "name": "set prop.cloud-region.cloud-owner",
+ "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\n",
+ "comments": "",
+ "x": 960.7141799926758,
+ "y": 314.9047431945801,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "59c722cd.d5e3ac",
+ "type": "call",
+ "name": "call self-serve-vf-module-forking-logic",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.3015670776367,
+ "y": 856.2980642318726,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9ed32d4f.dbd058",
+ "type": "switchNode",
+ "name": "switch ss.self-serve-flag",
+ "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 550.4443054199219,
+ "y": 1083.2981328964233,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "21546dae.57be42",
+ "174b6de2.72fdb2"
+ ]
+ ]
+ },
+ {
+ "id": "21546dae.57be42",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 771.158504486084,
+ "y": 1200.869031906128,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "43e1e208.1c9204"
+ ]
+ ]
+ },
+ {
+ "id": "174b6de2.72fdb2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 771.7299575805664,
+ "y": 959.7266693115234,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4c64ed.a697bb14"
+ ]
+ ]
+ },
+ {
+ "id": "6f90d0a3.4f5888",
+ "type": "call",
+ "name": "call check for VNF-API-preload and copy",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 501,
+ "y": 7285,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "484ad130.562eb8",
+ "type": "comment",
+ "name": "'Old' version of DG, called for flows where SO does not expect async response (so-sdnc-adapter)",
+ "info": "",
+ "comments": "",
+ "x": 433,
+ "y": 88,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
index 4d907c16..a7a136a3 100755
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
@@ -1,7275 +1,219 @@
[
{
- "id": "b9191fa3.7ca61",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 137.51302337646484,
- "y": 56.26301097869873,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dd8ef904.2a0718"
- ]
- ]
- },
- {
- "id": "dd8ef904.2a0718",
- "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": 251.37015914916992,
- "y": 96.07254886627197,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "79e996c5.93c4a8"
- ]
- ]
- },
- {
- "id": "79e996c5.93c4a8",
- "type": "method",
- "name": "method vf-module-topology-operation-assign",
- "xml": "<method rpc='vf-module-topology-operation-assign' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 250.941650390625,
- "y": 136.26301097869873,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fb67aa4b.8284f8"
- ]
- ]
- },
- {
- "id": "f89d4b47.20f5c8",
+ "id": "63f4b59b.216734",
"type": "comment",
"name": "vf-module-topology-operation-assign",
"info": "",
"comments": "",
- "x": 561.584114074707,
- "y": 31.738715171813965,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "5d7e2c45.4ebe34",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 542.7035446166992,
- "y": 409.28680896759033,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d3c6b720.c14d58",
- "9bb35c39.b1fef"
- ]
- ]
- },
- {
- "id": "d3c6b720.c14d58",
- "type": "outcome",
- "name": "CreateVfModuleInstance",
- "xml": "<outcome value='CreateVfModuleInstance'>\n",
- "comments": "",
- "outputs": 1,
- "x": 813.5011825561523,
- "y": 377.67968463897705,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a73a78b9.a830b8"
- ]
- ]
- },
- {
- "id": "9bb35c39.b1fef",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 748.4178047180176,
- "y": 441.8106880187988,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3e5eb577.046eda"
- ]
- ]
- },
- {
- "id": "a73a78b9.a830b8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1003.3583469390869,
- "y": 377.6797161102295,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "48e25fc2.52f7",
- "type": "get-resource",
- "name": "get-resource VF_MODULE_MODEL",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-module-model'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 590.0368118286133,
- "y": 510.429762840271,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c0e16531.bf13d8",
- "3ed7b745.5102d8"
- ]
- ]
- },
- {
- "id": "c0e16531.bf13d8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 855.8225021362305,
- "y": 490.8105936050415,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2172bacb.fd1c86"
- ]
- ]
- },
- {
- "id": "3ed7b745.5102d8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 864.3939323425293,
- "y": 535.0963068008423,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c639de59.ae251"
- ]
- ]
- },
- {
- "id": "9d5245b6.abb4e8",
- "type": "switchNode",
- "name": "switch service-data.vnfs.vnf_length",
- "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 583.8820648193359,
- "y": 687.7511224746704,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "128f7183.82d7ae",
- "6a25eddf.15bb44"
- ]
- ]
- },
- {
- "id": "128f7183.82d7ae",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 824.5963363647461,
- "y": 663.8938627243042,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dbfaf511.5478b8"
- ]
- ]
- },
- {
- "id": "6a25eddf.15bb44",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 824.3581771850586,
- "y": 705.846381187439,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7ef59497.ea72ec"
- ]
- ]
- },
- {
- "id": "94a28d82.4f01d",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 182.45345306396484,
- "y": 3125.668021798134,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1c68463e.c02a4a",
- "135adbdd.c9ef24",
- "86ef2c44.55f05",
- "e4caf1eb.a8b9f",
- "7c9996aa.a5c0f8",
- "e1558384.bfa8e",
- "b08a4dbf.cf985",
- "f888462e.a53c78",
- "7293e3b2.a19a7c",
- "2a3992a0.134e1e",
- "2162f1f4.5f96fe",
- "ff74ebeb.c5ffd8",
- "489025cd.dbd3ac",
- "59bf9724.469638",
- "474227b8.b83ae8",
- "1d003263.e8205e",
- "75a8181a.0cae18",
- "35a859e5.3e7c46",
- "24109bc2.4c9eb4",
- "c7aef34d.6997b",
- "7ffbcb4d.5fb274",
- "779079fc.7d1618",
- "494a4418.4600ec",
- "88b43b76.6a75d8",
- "bb67c127.33c7c",
- "67fa2696.640ed8",
- "fcaf9b9.f1d4568",
- "9926c7ad.248aa8",
- "7b6a70b.67d389",
- "d9542f83.7d0bb",
- "e283e90a.9eb6c8",
- "5d70e5cf.fff80c",
- "f60c437.45996c",
- "fc541e57.efb67",
- "b631b958.11eb48",
- "e5d7fa3.8c00708",
- "62da7e05.4b2de"
- ]
- ]
- },
- {
- "id": "7ef59497.ea72ec",
- "type": "for",
- "name": "for each vnf",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 986.596321105957,
- "y": 705.5129995346069,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "988df689.061cb8"
- ]
- ]
- },
- {
- "id": "988df689.061cb8",
- "type": "switchNode",
- "name": "switch service data vnf == input vnf",
- "xml": "<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1237.9296188354492,
- "y": 705.1797275543213,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c657ad4a.55c47"
- ]
- ]
- },
- {
- "id": "c657ad4a.55c47",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1467.929630279541,
- "y": 704.5130405426025,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ae39954d.b28168"
- ]
- ]
- },
- {
- "id": "9974cb16.902fe8",
- "type": "set",
- "name": "set vnf-index to -1",
- "xml": "<set>\n<parameter name='vnf-index' value='-1' />\n",
- "comments": "",
- "x": 532.9296875,
- "y": 619.1796216964722,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "57723ef9.ea31c",
- "type": "set",
- "name": "set vnf-index to idx",
- "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
- "comments": "",
- "x": 1789.5962677001953,
- "y": 675.5129985809326,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "540a131f.3d7bec",
- "type": "switchNode",
- "name": "switch vnf-index",
- "xml": "<switch test='`$vnf-index`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 521.6797103881836,
- "y": 771.3463115692139,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ca6ccba1.61a798"
- ]
- ]
- },
- {
- "id": "ca6ccba1.61a798",
- "type": "outcome",
- "name": "-1",
- "xml": "<outcome value='-1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 700.0130958557129,
- "y": 770.6796875,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "792ace51.b15ed"
- ]
- ]
- },
- {
- "id": "1c68463e.c02a4a",
- "type": "switchNode",
- "name": "switch vf-module_length",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 559.5964088439941,
- "y": 1342.0965156555176,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7203a6bd.008058",
- "1ce0b519.1ca75b"
- ]
- ]
- },
- {
- "id": "7203a6bd.008058",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 816.9773635864258,
- "y": 1309.2392892837524,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1d2df677.49743a"
- ]
- ]
- },
- {
- "id": "1d2df677.49743a",
- "type": "set",
- "name": "set vf-module-index=0",
- "xml": "<set>\n<parameter name='vf-module-index' value='0' />\n",
- "comments": "",
- "x": 1004.5964012145996,
- "y": 1309.9060640335083,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "1ce0b519.1ca75b",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 817.4059066772461,
- "y": 1373.5251474380493,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7b5c967b.5645e8"
- ]
- ]
- },
- {
- "id": "3d0e8775.38d2b8",
- "type": "set",
- "name": "set vf-module-index = vf-module_length",
- "xml": "<set>\n<parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n",
- "comments": "",
- "x": 1202.5964469909668,
- "y": 1353.715542793274,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f4745546.3c76c8",
- "type": "for",
- "name": "for each existing VF module",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1161.6915397644043,
- "y": 1397.810772895813,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "38be826c.5042de"
- ]
- ]
- },
- {
- "id": "7b5c967b.5645e8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 954.1201858520508,
- "y": 1373.5250730514526,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3d0e8775.38d2b8",
- "f4745546.3c76c8"
- ]
- ]
- },
- {
- "id": "38be826c.5042de",
- "type": "switchNode",
- "name": "switch vf-module-information.vf-module-id == service-data.vnfs.vnf[].vf-modules.vf-module[].vf-module-id",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1665.3106422424316,
- "y": 1397.3821840286255,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5b65413c.247c9"
- ]
- ]
- },
- {
- "id": "5b65413c.247c9",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2107.9296913146973,
- "y": 1396.9536352157593,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cdf91b0.174e5e8"
- ]
- ]
- },
- {
- "id": "2eae9b0c.edb3d4",
- "type": "comment",
- "name": "make sure this VF module doesn't exist already",
- "info": "",
- "comments": "",
- "x": 1691.7629890441895,
- "y": 1352.0096759796143,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "135adbdd.c9ef24",
- "type": "set",
- "name": "set new vf-module_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\n",
- "comments": "",
- "x": 570.2629890441895,
- "y": 1453.0963706970215,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "86ef2c44.55f05",
- "type": "set",
- "name": "set vf-module-topology data",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\n<parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\n<parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\n",
- "comments": "",
- "x": 576.7630081176758,
- "y": 1565.596477508545,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "77cfe613.fc65c8",
- "type": "set",
- "name": "set aic-clli",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
- "comments": "",
- "x": 1337.7152671813965,
- "y": 1724.8344039916992,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e4caf1eb.a8b9f",
- "type": "switchNode",
- "name": "switch aic-clli",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 536.7629280090332,
- "y": 1838.7867441177368,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "81ee85e4.dedbf8"
- ]
- ]
- },
- {
- "id": "81ee85e4.dedbf8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 682.0486183166504,
- "y": 1838.7868127822876,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ec2aeced.650af"
- ]
- ]
- },
- {
- "id": "7c9996aa.a5c0f8",
- "type": "get-resource",
- "name": "get-resource cloud region",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
- "comments": "",
- "outputs": 1,
- "x": 575.6201438903809,
- "y": 1638.9300155639648,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6f3a4d5a.8ebfd4",
- "9660a46b.1c9ce8"
- ]
- ]
- },
- {
- "id": "9660a46b.1c9ce8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 789.8663368225098,
- "y": 1657.0808715820312,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7adbe623.7575f8"
- ]
- ]
- },
- {
- "id": "6f3a4d5a.8ebfd4",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 798.7949333190918,
- "y": 1614.3666048049927,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "799eaa32.6fe824"
- ]
- ]
- },
- {
- "id": "ae39954d.b28168",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1616.2630920410156,
- "y": 703.4327392578125,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "57723ef9.ea31c",
- "c07cd07d.0c75a"
- ]
- ]
- },
- {
- "id": "c07cd07d.0c75a",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1751.2630577087402,
- "y": 725.0993251800537,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "952256ff.21f9a8",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-module-model.invariant-uuid`' />\n",
- "comments": "",
- "x": 951.0962677001953,
- "y": 1880.1827373504639,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e1558384.bfa8e",
- "type": "switchNode",
- "name": "switch input model-invariant-uuid",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 594.9533424377441,
- "y": 1903.0071811676025,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cd2324fc.034808",
- "38df22f.16dd4de"
- ]
- ]
- },
- {
- "id": "cd2324fc.034808",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 800.6200141906738,
- "y": 1880.1501445770264,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "952256ff.21f9a8"
- ]
- ]
- },
- {
- "id": "38df22f.16dd4de",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 802.0486106872559,
- "y": 1924.4357357025146,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cb5b92dd.63cc2"
- ]
- ]
- },
- {
- "id": "cb5b92dd.63cc2",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n",
- "comments": "",
- "x": 956.3343467712402,
- "y": 1923.8643078804016,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9d20a066.9a052",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$db.vf-module-model.uuid`' />\n",
- "comments": "",
- "x": 952.0485382080078,
- "y": 1968.7214136123657,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b08a4dbf.cf985",
- "type": "switchNode",
- "name": "switch input model-uuid",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 567.5723609924316,
- "y": 1991.5459184646606,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c7ed7b53.7dd0f8",
- "778bc2b7.d82bbc"
- ]
- ]
- },
- {
- "id": "c7ed7b53.7dd0f8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 801.5723342895508,
- "y": 1968.688850402832,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9d20a066.9a052"
- ]
- ]
- },
- {
- "id": "778bc2b7.d82bbc",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 803.0009307861328,
- "y": 2012.9744415283203,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f7d52f4a.cdff6"
- ]
- ]
- },
- {
- "id": "f7d52f4a.cdff6",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\n",
- "comments": "",
- "x": 957.2866668701172,
- "y": 2012.4030137062073,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "dac6c331.68c42",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$db.vf-module-model.version`' />\n",
- "comments": "",
- "x": 949.1914710998535,
- "y": 2057.5786209106445,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f888462e.a53c78",
- "type": "switchNode",
- "name": "switch input model-version",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 575.7152328491211,
- "y": 2080.4030656814575,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9c31df03.57fb6",
- "9f5a3e1a.3ae01"
- ]
- ]
- },
- {
- "id": "9c31df03.57fb6",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 798.715217590332,
- "y": 2057.546028137207,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dac6c331.68c42"
- ]
- ]
- },
- {
- "id": "9f5a3e1a.3ae01",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 800.1438140869141,
- "y": 2101.8316192626953,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "886a096e.cd9ed8"
- ]
- ]
- },
- {
- "id": "886a096e.cd9ed8",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n",
- "comments": "",
- "x": 954.4295501708984,
- "y": 2101.2601914405823,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f162ec13.2ea9e",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$db.vf-module-model.name`' />\n",
- "comments": "",
- "x": 949.1914710998535,
- "y": 2144.7214431762695,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "7293e3b2.a19a7c",
- "type": "switchNode",
- "name": "switch input model-name",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 570.7152328491211,
- "y": 2167.5458879470825,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fec48afa.f578f8",
- "84aba209.b7386"
- ]
- ]
- },
- {
- "id": "fec48afa.f578f8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 798.715217590332,
- "y": 2144.688850402832,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f162ec13.2ea9e"
- ]
- ]
- },
- {
- "id": "84aba209.b7386",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 800.1438140869141,
- "y": 2188.9744415283203,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fef7c2e3.5fc15"
- ]
- ]
- },
- {
- "id": "fef7c2e3.5fc15",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\n",
- "comments": "",
- "x": 954.4295501708984,
- "y": 2188.4030137062073,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "2a3992a0.134e1e",
- "type": "set",
- "name": "set model-customization-uuid",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n",
- "comments": "",
- "x": 585.1675682067871,
- "y": 2240.054877281189,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "2162f1f4.5f96fe",
- "type": "set",
- "name": "set vf-module-id",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n",
- "comments": "",
- "x": 538.3582153320312,
- "y": 1508.7780532836914,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "ff74ebeb.c5ffd8",
- "type": "for",
- "name": "for each cloud-region relationship",
- "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 597.8739585876465,
- "y": 1727.4366989135742,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6dfb70e4.99bce"
- ]
- ]
- },
- {
- "id": "6dfb70e4.99bce",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 845.5525016784668,
- "y": 1727.1866283416748,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8d3e1649.827698"
- ]
- ]
- },
- {
- "id": "8d3e1649.827698",
- "type": "outcome",
- "name": "complex",
- "xml": "<outcome value='complex'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1015.0168228149414,
- "y": 1726.5794506072998,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "89cc33ca.87336"
- ]
- ]
- },
- {
- "id": "f7308857.ab0638",
- "type": "execute",
- "name": "split related-link",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1355.1119804382324,
- "y": 1681.0080261230469,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "89cc33ca.87336",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1174.7786827087402,
- "y": 1727.6748142242432,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f7308857.ab0638",
- "f22bbebf.cf96a",
- "77cfe613.fc65c8"
- ]
- ]
- },
- {
- "id": "f22bbebf.cf96a",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1324.7786445617676,
- "y": 1771.008111000061,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f4d050b1.8b4c3",
- "type": "execute",
- "name": "execute PropertiesNode",
- "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": 556.5606460571289,
- "y": 165.7868185043335,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "24109bc2.4c9eb4",
- "type": "set",
- "name": "set order-status to PendingCreate",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
- "comments": "",
- "x": 483.0253143310547,
- "y": 7336.643301963806,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "c7aef34d.6997b",
- "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": 426.5251693725586,
- "y": 8101.690653324127,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "35a859e5.3e7c46",
- "type": "set",
- "name": "copy input data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\n value='$vf-module-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\n value='$vf-module-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\n value='$vf-module-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\n value='$vf-module-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\n value='$vf-module-topology-operation-input.vf-module-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\n value='$vf-module-topology-operation-input.vf-module-request-input.' />\n\n",
- "comments": "",
- "x": 415.1322555541992,
- "y": 7192.992034912109,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "75a8181a.0cae18",
- "type": "set",
- "name": "copy vf-module-topology data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />\n",
- "comments": "",
- "x": 470.0132751464844,
- "y": 7139.776969909668,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "59bf9724.469638",
- "type": "save",
- "name": "update vf-module",
- "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vf-module-name\" value=\"`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vf-module-object-path`\" />\n<parameter name=\"automated-assignment\" value=\"`$automated-assignment`\" />",
- "comments": "",
- "outputs": 1,
- "x": 500.4059944152832,
- "y": 4346.778634667397,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d74196bc.6b97c8",
- "6e6f18d0.9bdfe8"
- ]
- ]
- },
- {
- "id": "d74196bc.6b97c8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 675.4776344299316,
- "y": 4315.159256577492,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7f9d44fc.3db7bc"
- ]
- ]
- },
- {
- "id": "6e6f18d0.9bdfe8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 684.0490074157715,
- "y": 4383.778346598148,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "94bb0c2d.81fb6"
- ]
- ]
- },
- {
- "id": "489025cd.dbd3ac",
- "type": "set",
- "name": "set vf-module-object-path",
- "xml": "<set>\n<parameter name='vf-module-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $vf-module-topology-operation-input.vf-module-information.vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
- "comments": "",
- "x": 524.0728034973145,
- "y": 4222.302863717079,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "fb74751e.022f18",
- "type": "save",
- "name": "save vf-module relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module:relationship-list\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1294.096549987793,
- "y": 5904.931029081345,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6418f89e.efde28",
- "3c5f7fe1.c5c95"
- ]
- ]
- },
- {
- "id": "6418f89e.efde28",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1513.9298934936523,
- "y": 5875.802773237228,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b4477865.f6c3d8"
- ]
- ]
- },
- {
- "id": "3c5f7fe1.c5c95",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1522.5014266967773,
- "y": 5928.421917676926,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a8844fc9.d802f"
- ]
- ]
- },
- {
- "id": "474227b8.b83ae8",
- "type": "for",
- "name": "for each vm-type",
- "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 473.7632751464844,
- "y": 5670.264581918716,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3890cbf7.238894"
- ]
- ]
- },
- {
- "id": "28b6a2fd.61312e",
- "type": "for",
- "name": "for each vm-network",
- "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 870.7632865905762,
- "y": 6088.93141412735,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4bd4ba04.8daa14"
- ]
- ]
- },
- {
- "id": "1d003263.e8205e",
- "type": "for",
- "name": "for each vm-type",
- "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 419.4418182373047,
- "y": 7034.810600280762,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c9fac662.7812b8"
- ]
- ]
- },
- {
- "id": "c9fac662.7812b8",
- "type": "for",
- "name": "for each vm",
- "xml": "<for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 614.4418487548828,
- "y": 7034.143608093262,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "207acffa.3abd1"
- ]
- ]
- },
- {
- "id": "138fc2c6.5fd4fd",
- "type": "save",
- "name": "save VIPR_CONFIGURATION",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )\" >",
- "comments": "",
- "outputs": 1,
- "x": 1034.858543395996,
- "y": 7059.311295449734,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ad9e155d.1028f8"
- ]
- ]
- },
- {
- "id": "71743690.584d78",
- "type": "comment",
- "name": "Not a failure",
- "info": "",
- "comments": "",
- "x": 1554.8584442138672,
- "y": 7059.311300218105,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "ad9e155d.1028f8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1244.858528137207,
- "y": 7059.311445176601,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2b130462.23f28c"
- ]
- ]
- },
- {
- "id": "2b130462.23f28c",
- "type": "record",
- "name": "record",
- "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1388.1919708251953,
- "y": 7059.311283051968,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "da21eac5.eb6e48",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1418.1920928955078,
- "y": 7010.64299672842,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4475a7ad.750578"
- ]
- ]
- },
- {
- "id": "248ddcf1.40e1a4",
- "type": "comment",
- "name": "Not a failure",
- "info": "",
- "comments": "",
- "x": 1741.525146484375,
- "y": 7008.9768189787865,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "4475a7ad.750578",
- "type": "record",
- "name": "record",
- "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1564.1920280456543,
- "y": 7010.643629968166,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "207acffa.3abd1",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 782.7752418518066,
- "y": 7033.143452644348,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "23b5f46a.84a14c",
- "138fc2c6.5fd4fd"
- ]
- ]
- },
- {
- "id": "23b5f46a.84a14c",
- "type": "delete",
- "name": "delete any pre-existing records in VIPR_CONFIGURATION",
- "xml": "<delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\n AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\n AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >",
- "comments": "",
- "outputs": 1,
- "x": 1124.8585586547852,
- "y": 7010.977629601955,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "da21eac5.eb6e48"
- ]
- ]
- },
- {
- "id": "7f9d44fc.3db7bc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 833.7632026672363,
- "y": 4314.9299274683,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "18d43b0c.816ff5",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "94bb0c2d.81fb6",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 834.7631187438965,
- "y": 4381.596217691898,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d3b91e2a.6658a"
- ]
- ]
- },
- {
- "id": "b4477865.f6c3d8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1682.4298973083496,
- "y": 5875.597042798996,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a1d9fe5d.0f695",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "a8844fc9.d802f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1677.4298973083496,
- "y": 5928.596885442734,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e64793d7.bf627",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "755e8713.bcc1c8",
- "type": "execute",
- "name": "execute RestApiCallNode - get preload-list",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`\" />\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-preload\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1043.3463745117188,
- "y": 2452.429780960083,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "68e62acd.729e34",
- "a47c9360.b9478"
- ]
- ]
- },
- {
- "id": "68e62acd.729e34",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1311.6796073913574,
- "y": 2410.763111114502,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7b583f75.7c5be"
- ]
- ]
- },
- {
- "id": "a47c9360.b9478",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1310.0129623413086,
- "y": 2485.7632598876953,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "acc728a8.eedfa8"
- ]
- ]
- },
- {
- "id": "7b583f75.7c5be",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1468.346363067627,
- "y": 2409.0965490341187,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cec2f13d.67a37"
- ]
- ]
- },
- {
- "id": "acc728a8.eedfa8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1465.0129699707031,
- "y": 2485.763101577759,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3983f41d.db452c"
- ]
- ]
- },
- {
- "id": "cec2f13d.67a37",
- "type": "switchNode",
- "name": "switch mdsal-preload.response-code",
- "xml": "<switch test='`$mdsal-preload.response-code`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1696.6796646118164,
- "y": 2409.0965900421143,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e8950979.22bb18",
- "b6c25b1e.892808"
- ]
- ]
- },
- {
- "id": "e8950979.22bb18",
- "type": "outcome",
- "name": "404 (not found)",
- "xml": "<outcome value='404'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1979.5963668823242,
- "y": 2363.6796340942383,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1c4c53fe.44b0dc"
- ]
- ]
- },
- {
- "id": "1c4c53fe.44b0dc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-no-preload",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2382.512939453125,
- "y": 2277.013102531433,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cc34b72d.383738"
- ]
- ]
- },
- {
- "id": "cc34b72d.383738",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2771.2629013061523,
- "y": 2277.846981048584,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c1b24090.d49b8"
- ]
- ]
- },
- {
- "id": "b6c25b1e.892808",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1945.8463287353516,
- "y": 2427.8464183807373,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d759206d.14388"
- ]
- ]
- },
- {
- "id": "3983f41d.db452c",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-preload",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1828.3462600708008,
- "y": 2487.429849624634,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "90d09a92.2d1cc8"
- ]
- ]
- },
- {
- "id": "90d09a92.2d1cc8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2184.0131225585938,
- "y": 2485.7634677886963,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "76721fa9.6f7a7"
- ]
- ]
- },
- {
- "id": "3890cbf7.238894",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 664.2633438110352,
- "y": 5671.097816705704,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "28b6a2fd.61312e",
- "eeca3ef7.08f31"
- ]
- ]
- },
- {
- "id": "eeca3ef7.08f31",
- "type": "for",
- "name": "for each vnfc",
- "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 915.2633934020996,
- "y": 4875.763907909393,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "59778d60.c86b24"
- ]
- ]
- },
- {
- "id": "9b23e63c.8ba5d8",
- "type": "save",
- "name": "save vnfc to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1641.2634620666504,
- "y": 4684.097838401794,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8c17d99f.3ce5f8",
- "b50cee13.b9a08"
- ]
- ]
- },
- {
- "id": "59778d60.c86b24",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1083.596694946289,
- "y": 4876.430735111237,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2ee1ddb7.3ce5a2",
- "63a7631.9e7f99c",
- "e77ee371.ca79f",
- "a45139cd.c06788",
- "d5639dcc.50d87",
- "3291e6ae.85f8ba"
- ]
- ]
- },
- {
- "id": "8c17d99f.3ce5f8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1832.263500213623,
- "y": 4636.431172370911,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fc84df82.5bc09"
- ]
- ]
- },
- {
- "id": "fc84df82.5bc09",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1997.4301872253418,
- "y": 4650.5590056777,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "30bee8c0.434ad8",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "e77ee371.ca79f",
- "type": "save",
- "name": "save vnfc relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vf-module\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id +\n '/vf-modules/vf-module/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1308.1679801940918,
- "y": 4784.717070102692,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b41f1fa4.6a16e",
- "c5bf9d82.77072"
- ]
- ]
- },
- {
- "id": "36f8149b.0100dc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1640.0011711120605,
- "y": 4758.034694194794,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "17b97fa6.0b332",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "138ca4b2.cb534b",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1640.0012474060059,
- "y": 4811.034452915192,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "43b53fc.f18d2c",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "b41f1fa4.6a16e",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1483.168056488037,
- "y": 4758.050364017487,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "36f8149b.0100dc"
- ]
- ]
- },
- {
- "id": "c5bf9d82.77072",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1491.739589691162,
- "y": 4810.669508457184,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "138ca4b2.cb534b"
- ]
- ]
- },
- {
- "id": "2ee1ddb7.3ce5a2",
- "type": "for",
- "name": "for each vnfc-network-role",
- "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1305.644100189209,
- "y": 5201.573478221893,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "52bb6b86.aae8d4"
- ]
- ]
- },
- {
- "id": "7ffbcb4d.5fb274",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 526.2630043029785,
- "y": 2509.4773001670837,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "3ff39820.94ba88",
- "type": "for",
- "name": "for each vnfc-subnetwork-role",
- "xml": "<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1761.59663772583,
- "y": 5164.763911724091,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bae62f0f.f599"
- ]
- ]
- },
- {
- "id": "bae62f0f.f599",
- "type": "for",
- "name": "for each vnfc-address-family",
- "xml": "<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2028.9299812316895,
- "y": 5163.764400005341,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "83b71d8.34202e"
- ]
- ]
- },
- {
- "id": "9893ef44.5c929",
- "type": "for",
- "name": "for each vnfc-ip-address",
- "xml": "<for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2460.9295921325684,
- "y": 5230.430099487305,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4955053a.cc8cec"
- ]
- ]
- },
- {
- "id": "83b71d8.34202e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2239.9297523498535,
- "y": 5163.76385641098,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bd1ac39a.c86f3",
- "9893ef44.5c929"
- ]
- ]
- },
- {
- "id": "bd1ac39a.c86f3",
- "type": "set",
- "name": "set tmp.address-family",
- "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
- "comments": "",
- "x": 2459.9300804138184,
- "y": 5083.763753890991,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "4955053a.cc8cec",
- "type": "switchNode",
- "name": "switch address family",
- "xml": "<switch test='`$tmp.address-family`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2699.9296836853027,
- "y": 5228.763921737671,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "df6d826a.602a2",
- "b4544053.188e9"
- ]
- ]
- },
- {
- "id": "df6d826a.602a2",
- "type": "outcome",
- "name": "ipv4",
- "xml": "<outcome value='ipv4'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2897.0726890563965,
- "y": 5132.335182189941,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "78841d68.5129e4"
- ]
- ]
- },
- {
- "id": "b4544053.188e9",
- "type": "outcome",
- "name": "ipv6",
- "xml": "<outcome value='ipv6'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2894.6917610168457,
- "y": 5312.097213745117,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "133e1aca.140a05"
- ]
- ]
- },
- {
- "id": "82d4dce2.8069",
- "type": "comment",
- "name": "Fixed IPs",
- "info": "",
- "comments": "",
- "x": 1778.5966529846191,
- "y": 5126.431288719177,
- "z": "565447bf.1f1598",
+ "x": 268,
+ "y": 45,
+ "z": "a314769.77ed108",
"wires": []
},
{
- "id": "ae224e40.c6874",
- "type": "save",
- "name": "save l3-interface-ipv4-address-list object to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv4-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3340.405818939209,
- "y": 5080.668262163799,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "929637d6.457068"
- ]
- ]
- },
- {
- "id": "78841d68.5129e4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3047.0726890563965,
- "y": 5132.335100809734,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ae224e40.c6874",
- "8bea43e3.8116"
- ]
- ]
- },
- {
- "id": "36922023.99beb",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3753.905693054199,
- "y": 5080.65275446574,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cc682bd5.2eb5c8",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "929637d6.457068",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3597.072578430176,
- "y": 5080.668424288433,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "36922023.99beb"
- ]
- ]
- },
- {
- "id": "8bea43e3.8116",
- "type": "save",
- "name": "save l3-interface-ipv4-address-list relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv4-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3335.406063079834,
- "y": 5179.00168100993,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2e1bef20.bf0fd",
- "5d3ca55b.b0a96c"
- ]
- ]
- },
- {
- "id": "aa9b6876.841938",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3755.5723152160645,
- "y": 5150.652725855511,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1499e507.42f6db",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "670834a7.3d263c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3755.5723915100098,
- "y": 5203.652484575909,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dac8db15.74e098",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "2e1bef20.bf0fd",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3598.739200592041,
- "y": 5150.6683956782035,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "aa9b6876.841938"
- ]
- ]
- },
- {
- "id": "5d3ca55b.b0a96c",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3607.310733795166,
- "y": 5203.287540117901,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "670834a7.3d263c"
- ]
- ]
- },
- {
- "id": "f5cbef76.ec89e",
- "type": "save",
- "name": "save l3-interface-ipv6-address-list object to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv6-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3339.2155570983887,
- "y": 5259.716318130493,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f2553d5e.abe0f"
- ]
- ]
- },
- {
- "id": "133e1aca.140a05",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3045.882427215576,
- "y": 5311.383156776428,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f5cbef76.ec89e",
- "81cd3242.fe0b"
- ]
- ]
- },
- {
- "id": "51b65599.0e89cc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3752.715431213379,
- "y": 5259.700810432434,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "97323f99.6212d",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "f2553d5e.abe0f",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3595.8823165893555,
- "y": 5259.716480255127,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "51b65599.0e89cc"
- ]
- ]
- },
- {
- "id": "81cd3242.fe0b",
- "type": "save",
- "name": "save l3-interface-ipv6-address-list relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv6-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3334.2158012390137,
- "y": 5358.0497369766235,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cd0e04b7.a88538",
- "2202ffa2.d2838"
- ]
- ]
- },
- {
- "id": "973eecbd.3a12f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3754.382053375244,
- "y": 5329.700781822205,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2f312957.2b15e6",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "41ca4b49.e89434",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3754.3821296691895,
- "y": 5382.7005405426025,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9f878bec.0f8958",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "cd0e04b7.a88538",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3597.5489387512207,
- "y": 5329.7164516448975,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "973eecbd.3a12f"
- ]
- ]
- },
- {
- "id": "2202ffa2.d2838",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3606.1204719543457,
- "y": 5382.335596084595,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "41ca4b49.e89434"
- ]
- ]
- },
- {
- "id": "4bd4ba04.8daa14",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1060.596607208252,
- "y": 6088.430853366852,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "39f74881.371fb8",
- "fb74751e.022f18",
- "12eb0afe.678335",
- "43f00c8e.4c60b4"
- ]
- ]
- },
- {
- "id": "d2a87a71.553fc8",
- "type": "for",
- "name": "for each vnfc",
- "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1708.5967826843262,
- "y": 6210.764601230621,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "316d52f.75519ae"
- ]
- ]
- },
- {
- "id": "9dd5477e.b61ec8",
- "type": "save",
- "name": "save vip-ipv4-address-list object to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv4-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >\n<parameter name=\"vip-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`\" />\n<parameter name=\"vip-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1791.59663772583,
- "y": 6042.097612857819,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5a0f98fa.d60308",
- "17b6d486.2926eb"
- ]
- ]
- },
- {
- "id": "12eb0afe.678335",
- "type": "for",
- "name": "for each floating ipv4 address",
- "xml": "<for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1299.5966300964355,
- "y": 6100.097685337067,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "686b5e11.422ff"
- ]
- ]
- },
- {
- "id": "686b5e11.422ff",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1525.5966300964355,
- "y": 6098.097685337067,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9dd5477e.b61ec8",
- "9094ce2c.0f237",
- "d2a87a71.553fc8"
- ]
- ]
- },
- {
- "id": "aefdf6d5.094438",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2187.096508026123,
- "y": 6012.08198595047,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d7673076.3ac06",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "8aa6fe69.46205",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2187.0965843200684,
- "y": 6065.081744670868,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "34a07ec7.5c1d72",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "5a0f98fa.d60308",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2030.2633934020996,
- "y": 6012.097655773163,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "aefdf6d5.094438"
- ]
- ]
- },
- {
- "id": "17b6d486.2926eb",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2038.8349266052246,
- "y": 6064.71680021286,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8aa6fe69.46205"
- ]
- ]
- },
- {
- "id": "c0647bff.dcfb98",
- "type": "save",
- "name": "save vip-ipv4-address-list relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2127.2632331848145,
- "y": 6154.764276027679,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f0cfd83.86b5328",
- "f315ed94.7bfc9"
- ]
- ]
- },
- {
- "id": "fd3e62f.a29bea",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2530.429512023926,
- "y": 6126.748618662357,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "38cb90b2.4e39c",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "5997fd18.c16ad4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2530.429588317871,
- "y": 6179.748377382755,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8d6accf1.493c8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "f0cfd83.86b5328",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2373.5963973999023,
- "y": 6126.76428848505,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fd3e62f.a29bea"
- ]
- ]
- },
- {
- "id": "f315ed94.7bfc9",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2382.1679306030273,
- "y": 6179.3834329247475,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5997fd18.c16ad4"
- ]
- ]
- },
- {
- "id": "783e4357.c986ec",
- "type": "save",
- "name": "save vip-ipv6-address-list object to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv6-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >\n<parameter name=\"vip-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`\" />\n<parameter name=\"vip-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1794.9299659729004,
- "y": 6365.430296421051,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1d38b1dd.61e89e",
- "6176025c.2ad73c"
- ]
- ]
- },
- {
- "id": "43f00c8e.4c60b4",
- "type": "for",
- "name": "for each floating ipv6 address",
- "xml": "<for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1302.9299583435059,
- "y": 6422.430368900299,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "299ac4c9.b765dc"
- ]
- ]
- },
- {
- "id": "299ac4c9.b765dc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1528.9299583435059,
- "y": 6421.430368900299,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "783e4357.c986ec",
- "3d0b5fc0.1aec4",
- "1976134f.84b09d"
- ]
- ]
- },
- {
- "id": "9dec848e.b51528",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2190.4298362731934,
- "y": 6335.414669513702,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ec585839.cf03a8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "cc9a9082.df9ad",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2190.4299125671387,
- "y": 6388.4144282341,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dc08e935.aa2128",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "1d38b1dd.61e89e",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2033.59672164917,
- "y": 6335.430339336395,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9dec848e.b51528"
- ]
- ]
- },
- {
- "id": "6176025c.2ad73c",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2042.168254852295,
- "y": 6388.0494837760925,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cc9a9082.df9ad"
- ]
- ]
- },
- {
- "id": "82969649.e96bb8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2523.7630920410156,
- "y": 6448.414720118046,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9303413c.a15fb",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "a4127791.07e268",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2523.763168334961,
- "y": 6501.414478838444,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "41362899.a075b8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "79c39cc4.e386e4",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2366.929977416992,
- "y": 6448.430389940739,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "82969649.e96bb8"
- ]
- ]
- },
- {
- "id": "a282925a.d9e0c",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2375.501510620117,
- "y": 6501.049534380436,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a4127791.07e268"
- ]
- ]
- },
- {
- "id": "bdb5121f.d0648",
- "type": "save",
- "name": "save vip-ipv6-address-list relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2122.596820831299,
- "y": 6477.09680891037,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "79c39cc4.e386e4",
- "a282925a.d9e0c"
- ]
- ]
- },
- {
- "id": "63a7631.9e7f99c",
- "type": "set",
- "name": "set created_flag",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\n",
- "comments": "",
- "x": 1285.2632637023926,
- "y": 4724.430592954159,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "39f74881.371fb8",
- "type": "set",
- "name": "set created-flag",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\n",
- "comments": "",
- "x": 1255.930019378662,
- "y": 5972.4307743906975,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9094ce2c.0f237",
- "type": "set",
- "name": "set created-ipv4-flag",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\n",
- "comments": "",
- "x": 1728.9299850463867,
- "y": 6100.4308542609215,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3d0b5fc0.1aec4",
- "type": "set",
- "name": "set created-ipv6-flag",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\n",
- "comments": "",
- "x": 1734.2633209228516,
- "y": 6426.430457532406,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b50cee13.b9a08",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1835.2634391784668,
- "y": 4684.430831849575,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fc84df82.5bc09"
- ]
- ]
- },
- {
- "id": "779079fc.7d1618",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-vlan-tagging-assign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 602.6798400878906,
- "y": 6759.430809020996,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9bf7c5a4.dd9598"
- ]
- ]
- },
- {
- "id": "9bf7c5a4.dd9598",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 947.013256072998,
- "y": 6758.764304161072,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "471e8c34.437354"
- ]
- ]
- },
- {
- "id": "471e8c34.437354",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1102.0131301879883,
- "y": 6758.764100074768,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3ca8387c.2993a8",
- "ddd8fcd8.b0fa8"
- ]
- ]
- },
- {
- "id": "3ca8387c.2993a8",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1282.7867469787598,
- "y": 6731.502106189728,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "fb67aa4b.8284f8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 257.1558837890625,
- "y": 510.3101568222046,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f4d050b1.8b4c3",
- "5d7e2c45.4ebe34",
- "48e25fc2.52f7",
- "9974cb16.902fe8",
- "9d5245b6.abb4e8",
- "540a131f.3d7bec",
- "d0321bc2.4f6358",
- "348782c.04c017e",
- "bceb88ad.260758",
- "3f8bd8eb.1bd018"
- ]
- ]
- },
- {
- "id": "9926c7ad.248aa8",
- "type": "switchNode",
- "name": "switch from-preload",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 548.1677284240723,
- "y": 2575.9059200286865,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9e164e02.d239",
- "44723a81.45b694"
- ]
- ]
- },
- {
- "id": "9e164e02.d239",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 720.0724601745605,
- "y": 2553.286940574646,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3590eb8.88aec14"
- ]
- ]
- },
- {
- "id": "44723a81.45b694",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 721.7391128540039,
- "y": 2598.2867794036865,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9742bfa8.39e3a"
- ]
- ]
- },
- {
- "id": "3590eb8.88aec14",
- "type": "set",
- "name": "set automated-assignment to true",
- "xml": "<set>\n<parameter name='automated-assignment' value='true' />\n",
- "comments": "",
- "x": 935.0724449157715,
- "y": 2551.620111465454,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9742bfa8.39e3a",
- "type": "set",
- "name": "set automated-assignment to false",
- "xml": "<set>\n<parameter name='automated-assignment' value='false' />\n",
- "comments": "",
- "x": 933.4057655334473,
- "y": 2596.6200313568115,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "1976134f.84b09d",
- "type": "for",
- "name": "for each vnfc",
- "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1709.69185256958,
- "y": 6525.310881137848,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "24db1747.589188"
- ]
- ]
- },
- {
- "id": "494a4418.4600ec",
- "type": "for",
- "name": "for each vm-type",
- "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 526.9298248291016,
- "y": 3936.096802711487,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "edc660aa.aae32"
- ]
- ]
- },
- {
- "id": "edc660aa.aae32",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 717.4298934936523,
- "y": 3936.930037498474,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8a22c1f6.1af97"
- ]
- ]
- },
- {
- "id": "8a22c1f6.1af97",
- "type": "for",
- "name": "for each vm-network",
- "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 918.9298248291016,
- "y": 3936.096802711487,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a190fe2f.d886f"
- ]
- ]
- },
- {
- "id": "a190fe2f.d886f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1108.7631454467773,
- "y": 3935.5962419509888,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e0f0f785.dc0f38"
- ]
- ]
- },
- {
- "id": "e0f0f785.dc0f38",
- "type": "get-resource",
- "name": "get-resource VFC_RELATED_NETWORK_ROLE",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid\n and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1398.2631187438965,
- "y": 3934.096884727478,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fd7f5581.6d4528",
- "b45e71b2.bc101"
- ]
- ]
- },
- {
- "id": "fd7f5581.6d4528",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1669.2630577087402,
- "y": 3838.763586997986,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d6d5d78c.a73e18"
- ]
- ]
- },
- {
- "id": "d6d5d78c.a73e18",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1816.4535751342773,
- "y": 3837.311601638794,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6c1ed4b9.5ecf9c",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "b45e71b2.bc101",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1670.0962677001953,
- "y": 4083.4304666519165,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "952ac2a9.fea88"
- ]
- ]
- },
- {
- "id": "b3ac03af.ef15c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
+ "id": "1dc1d8b5.caf8ef",
+ "type": "dgstart",
+ "name": "DGSTART",
"outputs": 1,
- "x": 2088.4295196533203,
- "y": 4085.4302225112915,
- "z": "565447bf.1f1598",
+ "x": 88,
+ "y": 130,
+ "z": "a314769.77ed108",
"wires": [
[
- "b5a4eea6.72594",
- "ce6a381b.978038",
- "1364d6f3.245769",
- "f6d3df5a.7d52a",
- "66f94089.96de5",
- "a6a60ea4.9fb45",
- "e617263a.f37478",
- "5c5c0e0.7b249f4"
+ "f41394ef.1a3d7"
]
]
},
{
- "id": "ce6a381b.978038",
- "type": "for",
- "name": "for each vnf network",
- "xml": "<for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "id": "2f77e300.955b76",
+ "type": "method",
+ "name": "vf-module-topology-operation-assign",
+ "xml": "<method rpc='vf-module-topology-operation-assign' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 2270.929698944092,
- "y": 3927.7634706497192,
- "z": "565447bf.1f1598",
+ "x": 250,
+ "y": 233,
+ "z": "a314769.77ed108",
"wires": [
[
- "3f61199.ed2ade6"
+ "3ac51b9d.77422c"
]
]
},
{
- "id": "b5a4eea6.72594",
- "type": "set",
- "name": "set found-related-network to false",
- "xml": "<set>\n<parameter name='found-related-network' value='false' />\n",
- "comments": "",
- "x": 2310.929775238037,
- "y": 3869.4302473068237,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "86eb7e36.9d7f7",
- "type": "for",
- "name": "for each related network",
- "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >\n",
+ "id": "f41394ef.1a3d7",
+ "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": 2669.929660797119,
- "y": 3904.4297342300415,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "69287c55.352c84"
- ]
- ]
- },
- {
- "id": "3f61199.ed2ade6",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2458.929698944092,
- "y": 3927.7634706497192,
- "z": "565447bf.1f1598",
+ "x": 285,
+ "y": 175,
+ "z": "a314769.77ed108",
"wires": [
[
- "86eb7e36.9d7f7",
- "456cf44d.c85fac"
+ "2f77e300.955b76"
]
]
},
{
- "id": "69287c55.352c84",
+ "id": "43431008.7f7928",
"type": "switchNode",
- "name": "switch network-role matches",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role\n == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2921.9295768737793,
- "y": 3904.429810523987,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "875934e4.a63818"
- ]
- ]
- },
- {
- "id": "952ac2a9.fea88",
- "type": "for",
- "name": "for each db related-network",
- "xml": "<for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "name": "so-response-url empty?",
+ "xml": "<switch test='length($vf-module-topology-operation-input.sdnc-request-header.svc-notification-url) == 0'>\n",
"comments": "",
"outputs": 1,
- "x": 1874.4296417236328,
- "y": 4084.0972146987915,
- "z": "565447bf.1f1598",
+ "x": 392,
+ "y": 384,
+ "z": "a314769.77ed108",
"wires": [
[
- "b3ac03af.ef15c"
+ "e3dac757.d5f66",
+ "a3e690eb.7f4b88"
]
]
},
{
- "id": "875934e4.a63818",
+ "id": "e3dac757.d5f66",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 3121.9295768737793,
- "y": 3902.429810523987,
- "z": "565447bf.1f1598",
+ "x": 617,
+ "y": 340,
+ "z": "a314769.77ed108",
"wires": [
[
- "5d83fcee.a618a4"
+ "5c050a22.e2992c"
]
]
},
{
- "id": "5d83fcee.a618a4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3275.9295768737793,
- "y": 3900.429810523987,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4df768f6.bb1e68",
- "f4645e05.09dbf",
- "29f5561c.96eb2a"
- ]
- ]
- },
- {
- "id": "4df768f6.bb1e68",
- "type": "set",
- "name": "set found-related-network to true",
- "xml": "<set>\n<parameter name='found-related-network' value='true' />\n",
- "comments": "",
- "x": 3507.9297370910645,
- "y": 3860.0963945388794,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f4645e05.09dbf",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3431.262912750244,
- "y": 3946.763144493103,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "1364d6f3.245769",
- "type": "switchNode",
- "name": "switch found-related-network",
- "xml": "<switch test='`$found-related-network`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2306.429588317871,
- "y": 4028.430356025696,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "19517216.b897fe"
- ]
- ]
- },
- {
- "id": "19517216.b897fe",
+ "id": "a3e690eb.7f4b88",
"type": "outcomeFalse",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 2500.429588317871,
- "y": 4026.430356025696,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f7f125ed.69c228"
- ]
- ]
- },
- {
- "id": "f7f125ed.69c228",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2630.429588317871,
- "y": 4026.430356025696,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4102f097.0a51",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "f6d3df5a.7d52a",
- "type": "set",
- "name": "set is-trunked and segmentation-id in vm-network",
- "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />\n",
- "comments": "",
- "x": 2368.429588317871,
- "y": 4076.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "a6a60ea4.9fb45",
- "type": "switchNode",
- "name": "switch rn-index",
- "xml": "<switch test='`$rn-index`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2256.429588317871,
- "y": 4184.430356025696,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6c6e5ed6.1638b"
- ]
- ]
- },
- {
- "id": "66f94089.96de5",
- "type": "set",
- "name": "set rn-index to related network length",
- "xml": "<set>\n<parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />\n",
- "comments": "",
- "x": 2328.429588317871,
- "y": 4128.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "6c6e5ed6.1638b",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 2420.429588317871,
- "y": 4184.430356025696,
- "z": "565447bf.1f1598",
+ "x": 607,
+ "y": 432,
+ "z": "a314769.77ed108",
"wires": [
[
- "4cbc1f39.6eef5"
+ "c0411a45.4e7d4"
]
]
},
{
- "id": "4cbc1f39.6eef5",
- "type": "set",
- "name": "set rn-index to 0",
- "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
- "comments": "",
- "x": 2580.429588317871,
- "y": 4184.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e617263a.f37478",
- "type": "set",
- "name": "set related-network data",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />\n",
- "comments": "",
- "x": 2280.429588317871,
- "y": 4236.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "5c5c0e0.7b249f4",
- "type": "set",
- "name": "set new related network length",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
- "comments": "",
- "x": 2298.429588317871,
- "y": 4288.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "456cf44d.c85fac",
- "type": "switchNode",
- "name": "switch found-related-network",
- "xml": "<switch test='`$found-related-network`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2682.9296836853027,
- "y": 3952.096594810486,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "65005548.e9ca8c"
- ]
- ]
- },
- {
- "id": "65005548.e9ca8c",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2879.5965461730957,
- "y": 3952.0969667434692,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a15ee876.ab6228"
- ]
- ]
- },
- {
- "id": "a15ee876.ab6228",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3009.5964317321777,
- "y": 3950.430090904236,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "29f5561c.96eb2a",
- "type": "set",
- "name": "save indexes",
- "xml": "<set>\n<parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />\n<parameter name='saved-related-network-index' value='`$related-network-index`' />\n",
- "comments": "",
- "x": 3449.5966453552246,
- "y": 3902.0969648361206,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9a10ba16.3aa6a8",
- "type": "execute",
- "name": "generate cp-instance-id",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" >\n<parameter name=\"ctx-destination\" value=\"cp-instance-id\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1738.5011367797852,
- "y": 4931.621017932892,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "878cd74b.b859a8",
- "type": "save",
- "name": "save cp to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"cp\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\" >\n<parameter name=\"cp-instance-id\" value=\"`$cp-instance-id`\" />\n<parameter name=\"port-id\" value=\"0\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1720.1677589416504,
- "y": 4998.2875237464905,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "38156f19.d3b92",
- "6b679924.dbe638"
- ]
- ]
- },
- {
- "id": "38156f19.d3b92",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1909.167739868164,
- "y": 4973.954137265682,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "115e423c.501c8e"
- ]
- ]
- },
- {
- "id": "115e423c.501c8e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2076.334487915039,
- "y": 4989.748570859432,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b0761ca.5d4cce",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "6b679924.dbe638",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1914.167739868164,
- "y": 5023.620397031307,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "115e423c.501c8e"
- ]
- ]
- },
- {
- "id": "52bb6b86.aae8d4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1514.9774589538574,
- "y": 5200.905811786652,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1faae59a.ef7cea",
- "3ff39820.94ba88",
- "9a10ba16.3aa6a8",
- "878cd74b.b859a8",
- "eebcfd35.55fb9",
- "82ba34b3.fa1f48"
- ]
- ]
- },
- {
- "id": "1faae59a.ef7cea",
- "type": "set",
- "name": "set connection point data",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'\n value='`$cp-instance-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'\n value='0' />\n",
- "comments": "",
- "x": 1750.5013008117676,
- "y": 5076.1450934410095,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "933839f3.7f2e78",
- "type": "comment",
- "name": "Floating IPs",
- "info": "",
- "comments": "",
- "x": 1311.2631187438965,
- "y": 6058.430211722851,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "eebcfd35.55fb9",
- "type": "for",
- "name": "for each vnf-network",
- "xml": "<for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1734.5963020324707,
- "y": 5472.4305872917175,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cc35a2e9.bcb07"
- ]
- ]
- },
- {
- "id": "62b74236.aad4fc",
- "type": "save",
- "name": "save cp relationship to l3-network",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2372.9297828674316,
- "y": 5472.097095012665,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d2f01f95.109f6",
- "4a44bec7.49b2a"
- ]
- ]
- },
- {
- "id": "6441b421.db195c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2744.7628211975098,
- "y": 5445.415043354034,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "64e7c13b.82899",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "21487f6.95f1f8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2744.762897491455,
- "y": 5498.414802074432,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f4e9414e.c0a39",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "d2f01f95.109f6",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2587.9297065734863,
- "y": 5445.430713176727,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6441b421.db195c"
- ]
- ]
- },
- {
- "id": "4a44bec7.49b2a",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2596.5012397766113,
- "y": 5498.049857616425,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "21487f6.95f1f8"
- ]
- ]
- },
- {
- "id": "82ba34b3.fa1f48",
- "type": "for",
- "name": "for each vm-network",
- "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1734.5964546203613,
- "y": 5633.096942424774,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1f595d1a.8ff293"
- ]
- ]
- },
- {
- "id": "b629e1fe.afa3d",
- "type": "save",
- "name": "save cp relationship to l3-network and vlan-tag",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vlan-tag\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vlan-tags/vlan-tag/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2654.2634620666504,
- "y": 5631.096937656403,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6dc366c6.1b2608",
- "a704ca3.36a4b38"
- ]
- ]
- },
- {
- "id": "12c7943c.a55a2c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3061.096508026123,
- "y": 5604.414236545564,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "94072bfe.632c28",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "2b88635f.5a533c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3061.0965843200684,
- "y": 5657.413995265962,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4462ce4a.8f7a5",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "6dc366c6.1b2608",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2904.2633934020996,
- "y": 5604.4299063682565,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "12c7943c.a55a2c"
- ]
- ]
- },
- {
- "id": "a704ca3.36a4b38",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2912.8349266052246,
- "y": 5657.049050807954,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2b88635f.5a533c"
- ]
- ]
- },
- {
- "id": "1de94581.c488da",
- "type": "for",
- "name": "for each related-network",
- "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2350.2632942199707,
- "y": 5631.096938610077,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b629e1fe.afa3d"
- ]
- ]
- },
- {
- "id": "88b43b76.6a75d8",
+ "id": "5c050a22.e2992c",
"type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-generate-heat-parameters",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' >\n",
+ "name": "call vf-module-topology-operation-assign-sync",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-sync' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 598.5966186523438,
- "y": 6872.847700119019,
- "z": "565447bf.1f1598",
+ "x": 1293,
+ "y": 341,
+ "z": "a314769.77ed108",
"wires": [
[]
]
},
{
- "id": "bb67c127.33c7c",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />\n",
+ "id": "4c116772.ba24a",
+ "type": "call",
+ "name": "call vf-module-topology-operation-assign-async",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-async' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 408.67992401123047,
- "y": 6925.8473777771,
- "z": "565447bf.1f1598",
+ "x": 1382,
+ "y": 544,
+ "z": "a314769.77ed108",
"wires": [
[]
]
},
{
- "id": "67fa2696.640ed8",
- "type": "switchNode",
- "name": "switch input vf-module-name",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 581.2630195617676,
- "y": 2357.929759979248,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "de18afec.e1079",
- "49fb0ac8.04b604"
- ]
- ]
- },
- {
- "id": "de18afec.e1079",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 803.7629852294922,
- "y": 2280.4297199249268,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1c4c53fe.44b0dc"
- ]
- ]
- },
- {
- "id": "49fb0ac8.04b604",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 805.4415855407715,
- "y": 2453.0483045578003,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "755e8713.bcc1c8"
- ]
- ]
- },
- {
- "id": "a421948e.7e12b8",
- "type": "for",
- "name": "for each vnfc-subnet-role",
- "xml": "<for index='subnet-role-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1338.7631187438965,
- "y": 3152.929436683655,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ebf9c337.4e138"
- ]
- ]
- },
- {
- "id": "ebf9c337.4e138",
- "type": "for",
- "name": "for each vnfc-address-family",
- "xml": "<for index='address-family-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1587.096378326416,
- "y": 3152.929436683655,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a86ece19.ececb"
- ]
- ]
- },
- {
- "id": "fcaf9b9.f1d4568",
- "type": "for",
- "name": "for each vm-type",
- "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 544.5962944030762,
- "y": 2871.262773513794,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f8bef45b.8c1d38"
- ]
- ]
- },
- {
- "id": "f8bef45b.8c1d38",
- "type": "for",
- "name": "for each vnfc",
- "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 726.2630729675293,
- "y": 2869.929922103882,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "97b3bca9.21b53"
- ]
- ]
- },
- {
- "id": "97b3bca9.21b53",
- "type": "for",
- "name": "for each vnfc-network",
- "xml": "<for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 927.4296455383301,
- "y": 2869.76261138916,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a3d88602.8525e8"
- ]
- ]
- },
- {
- "id": "a3d88602.8525e8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1139.5963172912598,
- "y": 2868.7629718780518,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d5a5aef3.81764",
- "37a20e05.126042",
- "f86420d0.f8cb4",
- "a421948e.7e12b8"
- ]
- ]
- },
- {
- "id": "d5a5aef3.81764",
- "type": "set",
- "name": "set vnf-network-index to -1",
- "xml": "<set>\n<parameter name='vnf-network-index' value='-1' />\n",
- "comments": "",
- "x": 1351.2630348205566,
- "y": 2822.096185684204,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "37a20e05.126042",
- "type": "for",
- "name": "for each vnf-network",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1332.9298248291016,
- "y": 2868.7629375457764,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1cb49556.32692b"
- ]
- ]
- },
- {
- "id": "1cb49556.32692b",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1574.5962944030762,
- "y": 2867.096432685852,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d1c77ddb.a0354"
- ]
- ]
- },
- {
- "id": "d1c77ddb.a0354",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1771.2629737854004,
- "y": 2867.096351623535,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1428ec99.f2d413"
- ]
- ]
- },
- {
- "id": "1428ec99.f2d413",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1924.5961952209473,
- "y": 2867.0962238311768,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fcce8154.9685e",
- "cbd9fa48.bee5b8",
- "491c8e10.8347"
- ]
- ]
- },
- {
- "id": "fcce8154.9685e",
- "type": "set",
- "name": "set vnf-network-index",
- "xml": "<set>\n<parameter name='vnf-network-index' value='`$idx`' />\n",
- "comments": "",
- "x": 2131.263027191162,
- "y": 2815.4296016693115,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "cbd9fa48.bee5b8",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 2086.2629432678223,
- "y": 2905.4295225143433,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f86420d0.f8cb4",
+ "id": "c0411a45.4e7d4",
"type": "switchNode",
- "name": "switch vnf-network-index",
- "xml": "<switch test='`$vnf-network-index`'>\n",
+ "name": "so-response-url = ignored URL?",
+ "xml": "<switch test='$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url) == $prop.so.ignore-url'>\n",
"comments": "",
"outputs": 1,
- "x": 1344.596363067627,
- "y": 2928.762939453125,
- "z": "565447bf.1f1598",
+ "x": 829,
+ "y": 433,
+ "z": "a314769.77ed108",
"wires": [
[
- "79b99590.d3fcac"
+ "c677e17b.35a978",
+ "a7cad0db.81847"
]
]
},
{
- "id": "79b99590.d3fcac",
- "type": "outcome",
- "name": "-1",
- "xml": "<outcome value='-1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1536.2630043029785,
- "y": 2928.76318359375,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "917a6c27.9bf3"
- ]
- ]
- },
- {
- "id": "917a6c27.9bf3",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1684.5961952209473,
- "y": 2927.0962238311768,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a6ff636a.1da36",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "95349f39.6e5a9",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2376.262912750244,
- "y": 3337.0960750579834,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9e396ac0.1c0cd8",
- "f53353ba.f6cea",
- "35326a6f.8ce8b6"
- ]
- ]
- },
- {
- "id": "9e396ac0.1c0cd8",
- "type": "for",
- "name": "for each subnet-data",
- "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2572.9296646118164,
- "y": 3292.0959939956665,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d3c7828c.9a35d"
- ]
- ]
- },
- {
- "id": "d3c7828c.9a35d",
- "type": "switchNode",
- "name": "address-families match?",
- "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2799.596290588379,
- "y": 3292.0959939956665,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c4cd4a9c.110088"
- ]
- ]
- },
- {
- "id": "c4cd4a9c.110088",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2979.5962562561035,
- "y": 3292.0964002609253,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d297a29d.32368"
- ]
- ]
- },
- {
- "id": "801d0ec7.9db1b",
- "type": "set",
- "name": "set tmp.address-family",
- "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
- "comments": "",
- "x": 2404.596248626709,
- "y": 3155.429488182068,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "a86ece19.ececb",
- "type": "switchNode",
- "name": "switch vnfc-subnet-ip_length",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1849.596591949463,
- "y": 3152.096523284912,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b8041b24.2b66c8",
- "9c9140dc.f2e33",
- "489d3614.0f27f8"
- ]
- ]
- },
- {
- "id": "b8041b24.2b66c8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 2051.2631034851074,
- "y": 3052.0960664749146,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8bb4c617.110b48"
- ]
- ]
- },
- {
- "id": "9c9140dc.f2e33",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2047.6917343139648,
- "y": 3238.048357963562,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b0bfddfb.72eba"
- ]
- ]
- },
- {
- "id": "8bb4c617.110b48",
+ "id": "3ac51b9d.77422c",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 2182.9296531677246,
- "y": 3074.7628135681152,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "38e8e50c.e85dda",
- "type": "set",
- "name": "set subnet-id to -1",
- "xml": "<set>\n<parameter name='subnet-id' value='-1' />\n",
- "comments": "",
- "x": 3072.9301719665527,
- "y": 3453.7634801864624,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b0bfddfb.72eba",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2201.2631492614746,
- "y": 3237.0959901809692,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "801d0ec7.9db1b",
- "95349f39.6e5a9"
- ]
- ]
- },
- {
- "id": "d34b6157.8f35a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 4332.929769515991,
- "y": 3625.429957151413,
- "z": "565447bf.1f1598",
+ "x": 168,
+ "y": 302,
+ "z": "a314769.77ed108",
"wires": [
[
- "88064ec.10dddb",
- "52c4ad67.8cbd34"
+ "de741370.91f13",
+ "43431008.7f7928"
]
]
},
{
- "id": "52c4ad67.8cbd34",
+ "id": "de741370.91f13",
"type": "execute",
- "name": "execute isInSameSubnet",
- "xml": "<execute plugin=\"com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool\" method=\"isInSameSubnet\">\n\t<parameter name=\"firstIPAddr\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`\" />\n\t<parameter name=\"secondIPAddr\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`\" />\n\t<parameter name=\"subnet\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`\" />\n\t<parameter name=\"ipType\" value=\"`$ip-type`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 4547.92977142334,
- "y": 3675.4296309947968,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "995a749b.8f5f58"
- ]
- ]
- },
- {
- "id": "88064ec.10dddb",
- "type": "switchNode",
- "name": "switch tmp.address-family",
- "xml": "<switch test='`$tmp.address-family`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4549.596927642822,
- "y": 3582.096617460251,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "431902e1.65a18c",
- "a1d0494d.a8bd18"
- ]
- ]
- },
- {
- "id": "431902e1.65a18c",
- "type": "outcome",
- "name": "ipv4",
- "xml": "<outcome value='ipv4'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4752.930189768473,
- "y": 3555.4298477967577,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bb7bc2b4.6ce51"
- ]
- ]
- },
- {
- "id": "a1d0494d.a8bd18",
- "type": "outcome",
- "name": "ipv6",
- "xml": "<outcome value='ipv6'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4752.929862976074,
- "y": 3602.0963752269745,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e7f8c0a.86c664"
- ]
- ]
- },
- {
- "id": "bb7bc2b4.6ce51",
- "type": "set",
- "name": "set ip-type parameter to IPv4",
- "xml": "<set>\n<parameter name='ip-type' value='IPv4' />\n",
- "comments": "",
- "x": 4949.596675872803,
- "y": 3553.7633216381073,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e7f8c0a.86c664",
- "type": "set",
- "name": "set ip-type parameter to IPv6",
- "xml": "<set>\n<parameter name='ip-type' value='IPv6' />\n",
- "comments": "",
- "x": 4954.59655380249,
- "y": 3602.096394300461,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "7fcd1d62.d76cb4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 4887.929801940918,
- "y": 3675.096394300461,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5e631020.53cce",
- "df991002.c407"
- ]
- ]
- },
- {
- "id": "5e631020.53cce",
- "type": "set",
- "name": "set subnet-id",
- "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
- "comments": "",
- "x": 5066.263122558594,
- "y": 3651.762881040573,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "df991002.c407",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 5051.263126373291,
- "y": 3698.4298751354218,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "4e4fca65.cbf754",
- "type": "switchNode",
- "name": "switch subnet-id",
- "xml": "<switch test='`$subnet-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3064.596046447754,
- "y": 3615.430214881897,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5fc3b8b.62e4a48"
- ]
- ]
- },
- {
- "id": "5fc3b8b.62e4a48",
- "type": "outcome",
- "name": "-1",
- "xml": "<outcome value='-1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3221.26261138916,
- "y": 3615.4301500320435,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1fa6c512.92b1cb"
- ]
- ]
- },
- {
- "id": "1fa6c512.92b1cb",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3369.595802307129,
- "y": 3613.76319026947,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fec2cbd9.e930a8",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "10262cd6.950543",
- "type": "set",
- "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />\n",
- "comments": "",
- "x": 3176.2626914978027,
- "y": 3692.0969858169556,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "7b6a70b.67d389",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />\n",
+ "name": "execute PropertiesNode",
+ "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": 529.5962867736816,
- "y": 3287.0962238311768,
- "z": "565447bf.1f1598",
+ "x": 389,
+ "y": 301,
+ "z": "a314769.77ed108",
"wires": [
[]
]
},
{
- "id": "995a749b.8f5f58",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4734.596374511719,
- "y": 3675.4301192760468,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7fcd1d62.d76cb4"
- ]
- ]
- },
- {
- "id": "491c8e10.8347",
- "type": "set",
- "name": "set network-id",
- "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />\n",
- "comments": "",
- "x": 2107.929531097412,
- "y": 2860.429684638977,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "a45139cd.c06788",
- "type": "switchNode",
- "name": "switch nfc-naming-code",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1306.262996673584,
- "y": 4475.42941236496,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7364ca38.2e5154",
- "58d89920.1583e8"
- ]
- ]
- },
- {
- "id": "7364ca38.2e5154",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1491.2629432678223,
- "y": 4450.42923116684,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8158813c.66973"
- ]
- ]
- },
- {
- "id": "58d89920.1583e8",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1489.3582153320312,
- "y": 4497.215058803558,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3d2f5ba8.c13584"
- ]
- ]
- },
- {
- "id": "8158813c.66973",
- "type": "set",
- "name": "set tmp.nfc-naming-code to DEFAULT",
- "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='DEFAULT' />\n",
- "comments": "",
- "x": 1722.9297142028809,
- "y": 4448.762581348419,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3d2f5ba8.c13584",
- "type": "set",
- "name": "set tmp.nfc-naming-code",
- "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />\n",
- "comments": "",
- "x": 1679.5962257385254,
- "y": 4497.096079349518,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "d5639dcc.50d87",
- "type": "switchNode",
- "name": "switch nfc-function",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1294.5963287353516,
- "y": 4573.762586116791,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b1314442.1e8e58",
- "4e90e22a.aab6cc"
- ]
- ]
- },
- {
- "id": "b1314442.1e8e58",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1491.2629356384277,
- "y": 4548.762383937836,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c5c1ae87.86af"
- ]
- ]
- },
- {
- "id": "4e90e22a.aab6cc",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1489.3582077026367,
- "y": 4595.548211574554,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ba48d68e.f81aa8"
- ]
- ]
- },
- {
- "id": "c5c1ae87.86af",
- "type": "set",
- "name": "set tmp.nfc-function to DEFAULT",
- "xml": "<set>\n<parameter name='tmp.nfc-function' value='DEFAULT' />\n",
- "comments": "",
- "x": 1702.9297180175781,
- "y": 4547.0955929756165,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "ba48d68e.f81aa8",
- "type": "set",
- "name": "set tmp.nfc-function",
- "xml": "<set>\n<parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />\n",
- "comments": "",
- "x": 1661.2628479003906,
- "y": 4595.429254055023,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "cc35a2e9.bcb07",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1967.92964553833,
- "y": 5472.4296135902405,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7bf7e0e4.c2092"
- ]
- ]
- },
- {
- "id": "7bf7e0e4.c2092",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2166.263114929199,
- "y": 5472.096768856049,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "62b74236.aad4fc"
- ]
- ]
- },
- {
- "id": "1f595d1a.8ff293",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1971.2629890441895,
- "y": 5632.096061229706,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "47d7d211.80a5ec"
- ]
- ]
- },
- {
- "id": "47d7d211.80a5ec",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2169.5964584350586,
- "y": 5631.763216495514,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1de94581.c488da"
- ]
- ]
- },
- {
- "id": "316d52f.75519ae",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1874.5962715148926,
- "y": 6210.4294810295105,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c0647bff.dcfb98",
- "5911a368.70726c"
- ]
- ]
- },
- {
- "id": "24db1747.589188",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1876.2630195617676,
- "y": 6525.429492473602,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bdb5121f.d0648",
- "9dacd2cd.93ab"
- ]
- ]
- },
- {
- "id": "5911a368.70726c",
- "type": "for",
- "name": "for each vnfc-network-role",
- "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2091.2632179260254,
- "y": 6268.762651920319,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f138f006.e2934"
- ]
- ]
- },
- {
- "id": "14599bc4.dfcff4",
- "type": "save",
- "name": "save vip-ipv4-address-list relationship to cp",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2766.26314163208,
- "y": 6268.762490749359,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "34dd5b17.9e06c4",
- "c966a91b.7c68b8"
- ]
- ]
- },
- {
- "id": "52867741.452a08",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3158.09623336792,
- "y": 6242.080272197723,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1a54f803.3243e8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "fbf6e33e.69daa",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3158.0963096618652,
- "y": 6295.080030918121,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9ebbd632.ef43d8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "34dd5b17.9e06c4",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3001.2631187438965,
- "y": 6242.095942020416,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "52867741.452a08"
- ]
- ]
- },
- {
- "id": "c966a91b.7c68b8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3009.8346519470215,
- "y": 6294.7150864601135,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fbf6e33e.69daa"
- ]
- ]
- },
- {
- "id": "9dacd2cd.93ab",
- "type": "for",
- "name": "for each vnfc-network-role",
- "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2092.929615020752,
- "y": 6592.096061229706,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2dbd930d.06759c"
- ]
- ]
- },
- {
- "id": "6321a56a.de355c",
- "type": "save",
- "name": "save vip-ipv6-address-list relationship to cp",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2762.9295692443848,
- "y": 6590.428843975067,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7666db3f.f47e74",
- "639b285f.08d4e8"
- ]
- ]
- },
- {
- "id": "f0c87b03.93a6b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3154.7626609802246,
- "y": 6563.746625423431,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "82534f84.1802c",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "301d4b1.d1d96b4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3154.76273727417,
- "y": 6616.746384143829,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bec2c422.16f948",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "7666db3f.f47e74",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2997.929546356201,
- "y": 6563.762295246124,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f0c87b03.93a6b8"
- ]
- ]
- },
- {
- "id": "639b285f.08d4e8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3006.501079559326,
- "y": 6616.3814396858215,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "301d4b1.d1d96b4"
- ]
- ]
- },
- {
- "id": "f138f006.e2934",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2344.5962867736816,
- "y": 6268.762328624725,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "96bf85f6.f873f8"
- ]
- ]
- },
- {
- "id": "96bf85f6.f873f8",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2531.2631301879883,
- "y": 6268.762815952301,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "14599bc4.dfcff4"
- ]
- ]
- },
- {
- "id": "2dbd930d.06759c",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2341.262866973877,
- "y": 6590.429069042206,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "75bae1b8.8d5a7"
- ]
- ]
- },
- {
- "id": "75bae1b8.8d5a7",
+ "id": "c677e17b.35a978",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 2527.9297103881836,
- "y": 6590.4295563697815,
- "z": "565447bf.1f1598",
+ "x": 1069,
+ "y": 432,
+ "z": "a314769.77ed108",
"wires": [
[
- "6321a56a.de355c"
+ "5c050a22.e2992c"
]
]
},
{
- "id": "14b5c458.f3a9ec",
- "type": "comment",
- "name": "SELF-SERVE FORK",
- "info": "",
- "comments": "",
- "x": 690.9773178100586,
- "y": 922.5363388061523,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b4ce17c3.fa50b8",
- "type": "comment",
- "name": "First, count the subnets for this address family",
- "info": "",
- "comments": "",
- "x": 2706.2634239196777,
- "y": 3201.7384843826294,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "12c26bf4.a2a7c4",
- "type": "for",
- "name": "for each subnet-data",
- "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3079.5961112976074,
- "y": 3496.7389879226685,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6a0e881b.4ba548"
- ]
- ]
- },
- {
- "id": "6a0e881b.4ba548",
- "type": "switchNode",
- "name": "address-families match?",
- "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3306.26273727417,
- "y": 3496.7389879226685,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "78272436.cd36bc"
- ]
- ]
- },
- {
- "id": "78272436.cd36bc",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3486.2627029418945,
- "y": 3496.7393941879272,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8571ff4f.7368d"
- ]
- ]
- },
- {
- "id": "f53353ba.f6cea",
- "type": "set",
- "name": "set af-count to 0",
- "xml": "<set>\n<parameter name='af-count' value='0' />\n",
- "comments": "",
- "x": 2561.262996673584,
- "y": 3243.4052362442017,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "774c4dcf.519194",
- "type": "set",
- "name": "increment af-count",
- "xml": "<set>\n<parameter name='af-count' value='`$af-count + 1`' />\n",
- "comments": "",
- "x": 3309.596363067627,
- "y": 3310.0719861984253,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "d297a29d.32368",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3126.26273727417,
- "y": 3291.7386713027954,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "774c4dcf.519194",
- "93d44f0.e06a8b"
- ]
- ]
- },
- {
- "id": "93d44f0.e06a8b",
- "type": "set",
- "name": "set subnet-id",
- "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
- "comments": "",
- "x": 3291.262783050537,
- "y": 3265.0719842910767,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "35326a6f.8ce8b6",
- "type": "switchNode",
- "name": "switch af-count",
- "xml": "<switch test='`$af-count`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2551.2634086608887,
- "y": 3480.0721530914307,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d300c477.7f84e8",
- "8e745db4.433a4"
- ]
- ]
- },
- {
- "id": "d300c477.7f84e8",
- "type": "outcome",
- "name": "1",
- "xml": "<outcome value='1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2711.262928009033,
- "y": 3378.40532207489,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "700167b.43daf98"
- ]
- ]
- },
- {
- "id": "700167b.43daf98",
- "type": "set",
- "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\n value='`$subnet-id`' />\n",
- "comments": "",
- "x": 2984.59623336792,
- "y": 3376.7386713027954,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "8e745db4.433a4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2711.2628440856934,
- "y": 3580.072241783142,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "49b5ae7f.1ecb1"
- ]
- ]
- },
- {
- "id": "49b5ae7f.1ecb1",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2867.929485321045,
- "y": 3580.0719232559204,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "38e8e50c.e85dda",
- "12c26bf4.a2a7c4",
- "4e4fca65.cbf754",
- "10262cd6.950543"
- ]
- ]
- },
- {
- "id": "8571ff4f.7368d",
- "type": "switchNode",
- "name": "switch network-start-address",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3681.262882232666,
- "y": 3495.072237968445,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dcdbaac8.71fac8",
- "9a1f2d8c.38269"
- ]
- ]
- },
- {
- "id": "dcdbaac8.71fac8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 3877.92972946167,
- "y": 3430.071848630905,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ff48f3fc.6ff7e"
- ]
- ]
- },
- {
- "id": "9a1f2d8c.38269",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3871.0251274108887,
- "y": 3564.3577601909637,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f43b3822.b1c158"
- ]
- ]
- },
- {
- "id": "f43b3822.b1c158",
- "type": "switchNode",
- "name": "switch cidr-mask",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4026.2629203796387,
- "y": 3563.404967069626,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4eb745de.4f4aec",
- "898134a0.ae5d18"
- ]
- ]
- },
- {
- "id": "4eb745de.4f4aec",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 4181.262996673584,
- "y": 3493.405266523361,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8dbb144d.370578"
- ]
- ]
- },
- {
- "id": "898134a0.ae5d18",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4184.358793258667,
- "y": 3626.0243537425995,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d34b6157.8f35a"
- ]
- ]
- },
- {
- "id": "489d3614.0f27f8",
- "type": "outcome",
- "name": "0",
- "xml": "<outcome value='0'>",
- "comments": "",
- "outputs": 1,
- "x": 2052.9296073913574,
- "y": 3100.0719232559204,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8bb4c617.110b48"
- ]
- ]
- },
- {
- "id": "ff48f3fc.6ff7e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 4022.929656982422,
- "y": 3430.071615934372,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1b07cf87.9b6fe",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "8dbb144d.370578",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 4327.929512023926,
- "y": 3491.7384831905365,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "319df706.15f388",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "55e003a5.fca06c",
- "type": "comment",
- "name": "Ignore address families with no addresses",
- "info": "",
- "comments": "",
- "x": 2327.262981414795,
- "y": 3030.4054193496704,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3291e6ae.85f8ba",
- "type": "switchNode",
- "name": "switch invariant-uuid",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1297.9298210144043,
- "y": 4660.071797370911,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6a6eb8f1.9f62d8",
- "f080e271.42c9b"
- ]
- ]
- },
- {
- "id": "6a6eb8f1.9f62d8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1479.59623336792,
- "y": 4636.73842716217,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "db88ee95.a44c3"
- ]
- ]
- },
- {
- "id": "f080e271.42c9b",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1477.691505432129,
- "y": 4683.524254798889,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9b23e63c.8ba5d8"
- ]
- ]
- },
- {
- "id": "db88ee95.a44c3",
- "type": "save",
- "name": "save vnfc to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1641.2628593444824,
- "y": 4638.40541934967,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8c17d99f.3ce5f8",
- "b50cee13.b9a08"
- ]
- ]
- },
- {
- "id": "d0321bc2.4f6358",
- "type": "switchNode",
- "name": "switch input cloud-owner",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 556.9772186279297,
- "y": 312.39344787597656,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "da47b7e7.f3d848",
- "23870b6f.901aa4"
- ]
- ]
- },
- {
- "id": "da47b7e7.f3d848",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 740.3105926513672,
- "y": 282.39343643188477,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4f66f95.7b33f08"
- ]
- ]
- },
- {
- "id": "23870b6f.901aa4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 740.0724983215332,
- "y": 323.3459300994873,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dee18ffa.a6fe6"
- ]
- ]
- },
- {
- "id": "4f66f95.7b33f08",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 875.310546875,
- "y": 280.7267761230469,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "dee18ffa.a6fe6",
- "type": "set",
- "name": "set prop.cloud-region.cloud-owner",
- "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\n",
- "comments": "",
- "x": 956.9772033691406,
- "y": 322.3934574127197,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "348782c.04c017e",
- "type": "call",
- "name": "call self-serve-vf-module-forking-logic",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 588.5645904541016,
- "y": 863.7867784500122,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "bceb88ad.260758",
- "type": "switchNode",
- "name": "switch ss.self-serve-flag",
- "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 546.7073287963867,
- "y": 1090.786847114563,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7c55f766.ae1538",
- "c5c4e1ec.02a4b"
- ]
- ]
- },
- {
- "id": "7c55f766.ae1538",
+ "id": "a7cad0db.81847",
"type": "outcomeFalse",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 767.4215278625488,
- "y": 1208.3577461242676,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "94a28d82.4f01d"
- ]
- ]
- },
- {
- "id": "c5c4e1ec.02a4b",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 767.9929809570312,
- "y": 967.2153835296631,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3d2fe671.10512a"
- ]
- ]
- },
- {
- "id": "42e09bf7.400e44",
- "type": "call",
- "name": "call check for VNF-API-preload and copy",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 599.7630157470703,
- "y": 7269.98964881897,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "3e5eb577.046eda",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 922.5129852294922,
- "y": 441.368989944458,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6514e137.563f3",
- "37049c8a.e3e5e4"
- ]
- ]
- },
- {
- "id": "37049c8a.e3e5e4",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1110.4296684265137,
- "y": 424.9999680519104,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "2172bacb.fd1c86",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1024.71529006958,
- "y": 489.85708379745483,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b1597171.3ee09",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "b1597171.3ee09",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_MODULE_MODEL table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1222.036693572998,
- "y": 468.392783164978,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "c639de59.ae251",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1039.0009956359863,
- "y": 534.999936580658,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e497f95d.3eb3c8",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "e497f95d.3eb3c8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1233.6438827514648,
- "y": 511.96422290802,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "dbfaf511.5478b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1000.6082534790039,
- "y": 663.0714178085327,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2e3d6663.deaf6a",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "2e3d6663.deaf6a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"There are no VNFs defined in MD-SAL\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1207.572509765625,
- "y": 634.1071424484253,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "792ace51.b15ed",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 864.8939590454102,
- "y": 771.0714178085327,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "63dc2a33.a12634",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "63dc2a33.a12634",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1066.858253479004,
- "y": 746.4285869598389,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "11136e46.5af982",
- "type": "call",
- "name": "call self-serve-vf-module-assign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1189.8456230163574,
- "y": 879.8449487686157,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cab143b7.d90eb"
- ]
- ]
- },
- {
- "id": "cab143b7.d90eb",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1410.1432037353516,
- "y": 879.3329801559448,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dbc9bb02.023fe8"
- ]
- ]
- },
- {
- "id": "6a1554d7.38e2ec",
- "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": 1142.5482940673828,
- "y": 1125.1065063476562,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "763275a1.1cfcbc",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1128.7625045776367,
- "y": 970.8481245040894,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "7a9afeeb.bcc87",
- "type": "set",
- "name": "set order-status to PendingCreate",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.request-information.request-action`' />\n",
- "comments": "",
- "x": 1197.7862663269043,
- "y": 924.8089780807495,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3d2fe671.10512a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 938.8817367553711,
- "y": 966.3088102340698,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "11136e46.5af982",
- "7a9afeeb.bcc87",
- "763275a1.1cfcbc",
- "6a1554d7.38e2ec",
- "67e4426c.6971cc",
- "e7600116.eb3ff"
- ]
- ]
- },
- {
- "id": "6514e137.563f3",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1649.0608139038086,
- "y": 1147.6433925628662,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c44f4709.248e68",
- "cff53af6.747968"
- ]
- ]
- },
- {
- "id": "dbc9bb02.023fe8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1556.143928527832,
- "y": 878.7143354415894,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1b79c9d4.553d96",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "1b79c9d4.553d96",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1753.8226852416992,
- "y": 858.0000448226929,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "88ef43cf.4353c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id\n + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2461.263038635254,
- "y": 1377.207555770874,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "cdf91b0.174e5e8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2267.334129333496,
- "y": 1396.6718444824219,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "88ef43cf.4353c",
- "80b5ab3d.6f3ef8"
- ]
- ]
- },
- {
- "id": "799eaa32.6fe824",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 972.334358215332,
- "y": 1614.3384866714478,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9ddd96ce.6586c8",
- "80b5ab3d.6f3ef8"
- ]
- ]
- },
- {
- "id": "7adbe623.7575f8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 974.0010452270508,
- "y": 1657.6718606948853,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "22247b5.eb10384",
- "80b5ab3d.6f3ef8"
- ]
- ]
- },
- {
- "id": "9ddd96ce.6586c8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Cloud region not found in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1176.2630233764648,
- "y": 1591.1242628097534,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "22247b5.eb10384",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving cloud region from AAI. Is AAI down?\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1171.6797637939453,
- "y": 1639.4575996398926,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "ec2aeced.650af",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 856.9175720214844,
- "y": 1838.3385391235352,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9bc214de.5d73d8",
- "80b5ab3d.6f3ef8"
- ]
- ]
- },
- {
- "id": "9bc214de.5d73d8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1049.5962295532227,
- "y": 1811.1242694854736,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "80b5ab3d.6f3ef8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1651.08447265625,
- "y": 2099.279275894165,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "382e3395.e82afc",
- "e12123b4.7517"
- ]
- ]
- },
- {
- "id": "8c6eb005.385ba",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2766.262939453125,
- "y": 2587.5128660202026,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "76721fa9.6f7a7",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2383.524429321289,
- "y": 2637.930076599121,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8c6eb005.385ba",
- "73466628.3dbbb8",
- "928b846e.f5c2c8"
- ]
- ]
- },
- {
- "id": "c1b24090.d49b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2944.59623336792,
- "y": 2278.2630882263184,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ecc636c8.71fe78",
- "76721fa9.6f7a7"
- ]
- ]
- },
- {
- "id": "ecc636c8.71fe78",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3144.179473876953,
- "y": 2244.906032562256,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "d759206d.14388",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2116.5007858276367,
- "y": 2425.8463954925537,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "64958d02.cd8064",
- "76721fa9.6f7a7"
- ]
- ]
- },
- {
- "id": "64958d02.cd8064",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving preload-information\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2322.512893676758,
- "y": 2400.4891319274902,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "8af4f32.673261",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4189.596542358398,
- "y": 4465.985095024109,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "f394576a.e4e1d8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 3801.8577575683594,
- "y": 4512.652036190033,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8af4f32.673261",
- "a106598.33f8ca8",
- "8a0f16a0.408838"
- ]
- ]
- },
- {
- "id": "a6ff636a.1da36",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VNFC network role '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n + ' is not found in VNF network list'\n `\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1884.5963439941406,
- "y": 2909.4576473236084,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "1b07cf87.9b6fe",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have network-start-address populated'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 4214.179832458496,
- "y": 3385.15172457695,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "319df706.15f388",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have cidr-mask populated'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 4529.17985534668,
- "y": 3462.651731491089,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "fec2cbd9.e930a8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Not able to find VNF network subnet that contains address '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address\n `\" />",
- "comments": "",
- "outputs": 1,
- "x": 3576.6798095703125,
- "y": 3582.6517486572266,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "6c1ed4b9.5ecf9c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VFC_RELATED_NETWORK_ROLE table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2017.3740615844727,
- "y": 3819.1801166534424,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "4102f097.0a51",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find related network '\n + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2824.874122619629,
- "y": 4004.179864883423,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "30bee8c0.434ad8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error saving vnfc to AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2201.262969970703,
- "y": 4626.819506645203,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "52bc7cef.ddfa64",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3678.068458557129,
- "y": 5821.82004737854,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "1254304a.7d8a4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 3291.579948425293,
- "y": 5864.737259864807,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "52bc7cef.ddfa64",
- "6f7485bf.c7042c",
- "7ec70a43.dc5584"
- ]
- ]
- },
- {
- "id": "17b97fa6.0b332",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating vnfc relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1838.6043319702148,
- "y": 4740.568719863892,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "43b53fc.f18d2c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Not-found error updating vnfc relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1838.0686531066895,
- "y": 4797.5332860946655,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "b0761ca.5d4cce",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error saving cp object to AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2280.5686626434326,
- "y": 4966.8189868927,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "64e7c13b.82899",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2935.5687255859375,
- "y": 5419.041241645813,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "f4e9414e.c0a39",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2938.0687255859375,
- "y": 5481.541244506836,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "94072bfe.632c28",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network and vlan-tag in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3266.6403274536133,
- "y": 5579.041257858276,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "4462ce4a.8f7a5",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network and vlan-tag\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3269.140426635742,
- "y": 5641.541258811951,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "cc682bd5.2eb5c8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv4-address-list object in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3958.4860305786133,
- "y": 5050.291213989258,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "1499e507.42f6db",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv4-address-list relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3955.9860305786133,
- "y": 5129.041219711304,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "dac8db15.74e098",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv4-address-list relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3958.4857635498047,
- "y": 5189.041226387024,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "97323f99.6212d",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv6-address-list object in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3962.235771179199,
- "y": 5239.0412311553955,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "2f312957.2b15e6",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv6-address-list relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3960.9855041503906,
- "y": 5300.2912340164185,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "9f878bec.0f8958",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv6-address-list relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3962.2355041503906,
- "y": 5360.291234970093,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "f60ef6eb.870138",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4372.235439300537,
- "y": 5486.541163444519,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "11d81f8a.7859d",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 3991.996925354004,
- "y": 5531.208375930786,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f60ef6eb.870138",
- "97d29a04.0c0528",
- "9ae41d25.ebedb"
- ]
- ]
- },
- {
- "id": "dccafd0f.1af91",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3795.7073516845703,
- "y": 6950.985408782959,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "fc515f97.dc4ef",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 3407.968574523926,
- "y": 7001.40207862854,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dccafd0f.1af91",
- "8461f05b.e0d6e",
- "4a0caeea.9a1"
- ]
- ]
- },
- {
- "id": "bec2c422.16f948",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3345.7076454162598,
- "y": 6589.735626220703,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "82534f84.1802c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3339.4579162597656,
- "y": 6525.98616027832,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "9ebbd632.ef43d8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3350.707649230957,
- "y": 6277.235605239868,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "1a54f803.3243e8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3350.7079162597656,
- "y": 6215.986141204834,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "41362899.a075b8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv6-address-list relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2718.2076110839844,
- "y": 6477.23561668396,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "9303413c.a15fb",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv6-address-list relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2716.95760345459,
- "y": 6419.736152648926,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "dc08e935.aa2128",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv6-address-list\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2380.707588195801,
- "y": 6363.485609054565,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "ec585839.cf03a8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error saving vip-ipv6-address-list in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2380.707588195801,
- "y": 6309.7356061935425,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "8d6accf1.493c8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2726.957607269287,
- "y": 6152.235597610474,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "38cb90b2.4e39c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2728.2076110839844,
- "y": 6094.735593795776,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "34a07ec7.5c1d72",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv4-address-list\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2384.457588195801,
- "y": 6050.985589981079,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "d7673076.3ac06",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error saving vip-ipv4-address-list in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2380.707588195801,
- "y": 5983.485586166382,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "e64793d7.bf627",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No l3-network found in AAI for network ID '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1878.2075538635254,
- "y": 5908.485583305359,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "a1d9fe5d.0f695",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vf-module relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1879.4575500488281,
- "y": 5849.735575199127,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "18d43b0c.816ff5",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vf-module in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1031.2630081176758,
- "y": 4280.569283485413,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "d3b91e2a.6658a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1035.0130081176758,
- "y": 4356.819286346436,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "e283e90a.9eb6c8",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 418.5863952636719,
- "y": 7918.448681354523,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "d9542f83.7d0bb",
- "type": "execute",
- "name": "execute RestApiCallNode - PUT vf-module",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $tmp.vf-module.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=\"vf-module-assign\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 515.9195327758789,
- "y": 7777.6475620269775,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f3d88006.1d825",
- "a685bcd2.6458d"
- ]
- ]
- },
- {
- "id": "f3d88006.1d825",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 796.7037048339844,
- "y": 7798.343640804291,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "193e6953.109c97"
- ]
- ]
- },
- {
- "id": "a685bcd2.6458d",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 789.1323394775391,
- "y": 7756.843660831451,
- "z": "565447bf.1f1598",
+ "x": 1077,
+ "y": 533,
+ "z": "a314769.77ed108",
"wires": [
[
- "193e6953.109c97"
+ "4c116772.ba24a"
]
]
- },
- {
- "id": "193e6953.109c97",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 998.0624504089355,
- "y": 7777.0126214027405,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d6c7309a.4a629",
- "ddd8fcd8.b0fa8"
- ]
- ]
- },
- {
- "id": "4f53e7be.5b9088",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1752.3126983642578,
- "y": 7919.180991649628,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "ddd8fcd8.b0fa8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1371.3599472045898,
- "y": 7971.2046484947205,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4f53e7be.5b9088",
- "ac1c6eaf.9a9a5",
- "28ceaebf.a2a0e2"
- ]
- ]
- },
- {
- "id": "d6c7309a.4a629",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error doing PUT of vf-module\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1202.5628662109375,
- "y": 7749.5376353263855,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "5ad131fa.7f772",
- "type": "comment",
- "name": "This should have been removed from Dublin",
- "info": "",
- "comments": "",
- "x": 671.2630157470703,
- "y": 7239.040754318237,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3f8bd8eb.1bd018",
- "type": "set",
- "name": "Initialize SO 500 reponse params",
- "xml": "<set>\n<parameter name=\"so.ack-final-indicator\" value=\"Y\" />\n<parameter name=\"so.response-code\" value=\"500\" />\n<parameter name=\"so.notification-url\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`\" />\n<parameter name=\"so.svc-request-id\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\" />\n<parameter name=\"so.service-type\" value=\"`$vf-module-topology-operation-input.service-information.subscription-service-type`\" />\n<parameter name=\"so.service-instance-id\" value=\"`$vf-module-topology-operation-input.service-information.service-instance-id`\" />",
- "comments": "",
- "x": 587.5129547119141,
- "y": 223.76301383972168,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "c44f4709.248e68",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1956.2628936767578,
- "y": 1126.124216079712,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "382e3395.e82afc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1963.762939453125,
- "y": 2078.346435546875,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "e7600116.eb3ff",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1252.5129165649414,
- "y": 1074.040759086609,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "67e4426c.6971cc",
- "type": "set",
- "name": "set so.reponse-code = 200",
- "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
- "comments": "",
- "x": 1181.262939453125,
- "y": 1017.790771484375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "73466628.3dbbb8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2708.7629203796387,
- "y": 2638.068730354309,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "a106598.33f8ca8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4131.40185546875,
- "y": 4513.6240234375,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "97d29a04.0c0528",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4313.901893615723,
- "y": 5530.429918289185,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "6f7485bf.c7042c",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3615.15185546875,
- "y": 5867.2353515625,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "8461f05b.e0d6e",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3735.15185546875,
- "y": 7001.26318359375,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "ac1c6eaf.9a9a5",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1693.2073440551758,
- "y": 7971.9582324028015,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "f60c437.45996c",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 536.9574661254883,
- "y": 8025.709732532501,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "5d70e5cf.fff80c",
- "type": "set",
- "name": "set so.reponse-code = 200",
- "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
- "comments": "",
- "x": 466.9574661254883,
- "y": 7971.68098783493,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "28ceaebf.a2a0e2",
- "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-message`\" />\n",
- "comments": "",
- "x": 1574.457405090332,
- "y": 8020.707935810089,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "4a0caeea.9a1",
- "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-message`\" />\n",
- "comments": "",
- "x": 3614.8740234375,
- "y": 7049.8740234375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "7ec70a43.dc5584",
- "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-message`\" />\n",
- "comments": "",
- "x": 3493.6240234375,
- "y": 5912.51318359375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9ae41d25.ebedb",
- "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-message`\" />\n",
- "comments": "",
- "x": 4197.3740234375,
- "y": 5575.01318359375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "8a0f16a0.408838",
- "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-message`\" />\n",
- "comments": "",
- "x": 4012.3740234375,
- "y": 4557.791015625,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "928b846e.f5c2c8",
- "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-message`\" />\n",
- "comments": "",
- "x": 2592.512939453125,
- "y": 2684.1796875,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e12123b4.7517",
- "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-message`\" />\n",
- "comments": "",
- "x": 1845.012939453125,
- "y": 2120.012939453125,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "cff53af6.747968",
- "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-message`\" />\n",
- "comments": "",
- "x": 1836.262939453125,
- "y": 1168.7630615234375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "fc541e57.efb67",
- "type": "set",
- "name": "copy vf-module data",
- "xml": "<set>\n<parameter name='vf-module-data.'\n value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.' />\n",
- "comments": "",
- "x": 435.58421325683594,
- "y": 7422.19614982605,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b631b958.11eb48",
- "type": "execute",
- "name": "generate vf-module URL (sub service-instance-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.vf-module`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.service-topology.service-topology-identifier.service-instance-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 534.6912536621094,
- "y": 7506.483808517456,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "e5d7fa3.8c00708",
- "type": "execute",
- "name": "generate vf-module URL (sub vnf-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 489.33406829833984,
- "y": 7551.661762237549,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "62da7e05.4b2de",
- "type": "execute",
- "name": "generate vf-module URL (sub vf-module-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.vf-module.url\"/>\n <parameter name=\"target\" value=\"{vf-module-id}\"/>\n <parameter name=\"replacement\" value=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 514.5127258300781,
- "y": 7598.268753051758,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
}
-]
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.json
new file mode 100644
index 00000000..fa28f0dc
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.json
@@ -0,0 +1,5854 @@
+[
+ {
+ "id": "1c63830b.6dad15",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 158,
+ "y": 122.74699592590332,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d0207df4.e744a8"
+ ]
+ ]
+ },
+ {
+ "id": "d0207df4.e744a8",
+ "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": 273.28570556640625,
+ "y": 164.65177536010742,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3222238a.bde594"
+ ]
+ ]
+ },
+ {
+ "id": "3222238a.bde594",
+ "type": "method",
+ "name": "method vnf-topology-operation-assign-async",
+ "xml": "<method rpc='vnf-topology-operation-assign-async' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 246.09530639648438,
+ "y": 207.41365909576416,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "525bcd69.d52c4c"
+ ]
+ ]
+ },
+ {
+ "id": "4bbdf4dc.9acd64",
+ "type": "comment",
+ "name": "vnf-topology-operation-assign-async",
+ "info": "",
+ "comments": "",
+ "x": 522.0115356445312,
+ "y": 45,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "65b55bf0.e17c94",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 554.3809661865234,
+ "y": 518.3898124694824,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "676025ce.ceaed4",
+ "fac05067.e39a6"
+ ]
+ ]
+ },
+ {
+ "id": "676025ce.ceaed4",
+ "type": "outcome",
+ "name": "CreateVnfInstance",
+ "xml": "<outcome value='CreateVnfInstance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 808.0952606201172,
+ "y": 495.53269386291504,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a9df7def.2e87a"
+ ]
+ ]
+ },
+ {
+ "id": "fac05067.e39a6",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 770.0952262878418,
+ "y": 541.2470216751099,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2d48d63d.1a5b82"
+ ]
+ ]
+ },
+ {
+ "id": "a9df7def.2e87a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 992.9523887634277,
+ "y": 495.53272342681885,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "73e62b5e.2d2d24",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 215.73814392089844,
+ "y": 3404.7708625793457,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4ea0676c.f3c5",
+ "d807e3bf.6821",
+ "7dbd70b1.1d952",
+ "c802fc95.1aed4",
+ "ba6b2f3.81ff65",
+ "84242802.438068",
+ "40b03c35.066374",
+ "978c06f5.c51b38",
+ "a2246d8d.309948",
+ "d1226d82.dd4ba",
+ "42aca120.8663b",
+ "27992a30.77ac86",
+ "ba745244.bd0468",
+ "32a417de.843a",
+ "60220dbd.cbb274",
+ "aeeecb5d.b95ac8",
+ "bd2f9d29.6f4cd",
+ "d4235437.829c38",
+ "d7771a1c.3c6348",
+ "6a3932df.a191e4",
+ "ba43d064.2bf358",
+ "54b8c442.c1469c",
+ "f4822626.6784a",
+ "c0f7e6fd.82944",
+ "b69c7bea.5b8f98",
+ "779ef85a.752e58",
+ "b8b61871.289a38",
+ "f7b6f1fc.97c858",
+ "d350e16f.3e261",
+ "93239a74.eab46",
+ "a88c2f3d.bf4fa8",
+ "3e36f71.f2f0b88",
+ "b3a3b6d8.b3b1a",
+ "aac69396.6ddb18",
+ "634a4090.ff27d",
+ "9ec4fd36.2e31c8",
+ "1fec3768.f512f1",
+ "4ba8fd3f.c818fc",
+ "d2d8ec6e.e92468",
+ "2957e806.869ab"
+ ]
+ ]
+ },
+ {
+ "id": "c29453e1.d0b3d8",
+ "type": "get-resource",
+ "name": "get-resource VF_MODEL",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 566.7142715454102,
+ "y": 609.5326824188232,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1eae0e0a.4b77c2",
+ "72cc49c6.447b08"
+ ]
+ ]
+ },
+ {
+ "id": "1eae0e0a.4b77c2",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 767.4999694824219,
+ "y": 589.913519859314,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "17544ab9.984c5d"
+ ]
+ ]
+ },
+ {
+ "id": "72cc49c6.447b08",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 776.0713996887207,
+ "y": 634.1992330551147,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9a95814.c6dd98"
+ ]
+ ]
+ },
+ {
+ "id": "4ea0676c.f3c5",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 590.3809204101562,
+ "y": 1197.9851322174072,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7fa001b2.5a02a",
+ "2784fe24.f3ffba"
+ ]
+ ]
+ },
+ {
+ "id": "7fa001b2.5a02a",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 816.0952491760254,
+ "y": 1165.1279201507568,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7f419c89.2e0014"
+ ]
+ ]
+ },
+ {
+ "id": "7f419c89.2e0014",
+ "type": "set",
+ "name": "set vnf-index=0",
+ "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
+ "comments": "",
+ "x": 980.3809700012207,
+ "y": 1164.1279983520508,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2784fe24.f3ffba",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 817.523811340332,
+ "y": 1229.4137382507324,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6b01bbf.e34dbc4"
+ ]
+ ]
+ },
+ {
+ "id": "741efbb8.5b8a44",
+ "type": "set",
+ "name": "set vnf-index = vnf_length",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
+ "comments": "",
+ "x": 1235.3809661865234,
+ "y": 1207.699426651001,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "5f2528be.bf7e48",
+ "type": "for",
+ "name": "for each existing VNF",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1220.8094787597656,
+ "y": 1253.6993656158447,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4af50057.0f1aa8"
+ ]
+ ]
+ },
+ {
+ "id": "6b01bbf.e34dbc4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 991.2380714416504,
+ "y": 1229.413703918457,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "741efbb8.5b8a44",
+ "5f2528be.bf7e48"
+ ]
+ ]
+ },
+ {
+ "id": "4af50057.0f1aa8",
+ "type": "switchNode",
+ "name": "switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1575.0952453613281,
+ "y": 1253.270845413208,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "25f009f8.2d893e"
+ ]
+ ]
+ },
+ {
+ "id": "25f009f8.2d893e",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1869.3810005187988,
+ "y": 1252.8423299789429,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "dcfb1529.fec6a8"
+ ]
+ ]
+ },
+ {
+ "id": "8724aa2.889b6d8",
+ "type": "comment",
+ "name": "make sure this VNF doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1562.2379760742188,
+ "y": 1210.8422756195068,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d807e3bf.6821",
+ "type": "set",
+ "name": "set vnf-topology data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n",
+ "comments": "",
+ "x": 556.0952033996582,
+ "y": 1729.6518993377686,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "7dbd70b1.1d952",
+ "type": "switchNode",
+ "name": "switch input vnf-name",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 568.5952224731445,
+ "y": 2091.770956993103,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "241fabfe.69fa2c",
+ "f80604c.1fec1f8"
+ ]
+ ]
+ },
+ {
+ "id": "c802fc95.1aed4",
+ "type": "get-resource",
+ "name": "get-resource cloud region",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\n\t\t depth='all'\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 600.738166809082,
+ "y": 2987.7706928253174,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "50e5753c.35a0ec",
+ "60c43013.41eb78"
+ ]
+ ]
+ },
+ {
+ "id": "60c43013.41eb78",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 808.8414840698242,
+ "y": 3006.921399116516,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f968cb62.56775"
+ ]
+ ]
+ },
+ {
+ "id": "50e5753c.35a0ec",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 817.7700805664062,
+ "y": 2964.2071323394775,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2be0da40.0d7806"
+ ]
+ ]
+ },
+ {
+ "id": "ba6b2f3.81ff65",
+ "type": "get-resource",
+ "name": "get-resource VF_TO_NETWORK_ROLE_MAPPING",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-network-role-mapping[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 665.9762496948242,
+ "y": 3298.8182125091553,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1edaf2dd.6abca5",
+ "8c805d73.d5428"
+ ]
+ ]
+ },
+ {
+ "id": "1edaf2dd.6abca5",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 961.7619209289551,
+ "y": 3277.532377243042,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7ef20c7d.b3d83c"
+ ]
+ ]
+ },
+ {
+ "id": "8c805d73.d5428",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 970.3333511352539,
+ "y": 3321.818090438843,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c3672ff4.a17f"
+ ]
+ ]
+ },
+ {
+ "id": "febef76b.d8c79",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1066.9049491882324,
+ "y": 4415.460702896118,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "69a52c45.9d3a2c",
+ "1b8f8e9a.44ecf9",
+ "b81c1659.1acf38",
+ "c7e3943d.2b1af",
+ "e1eddf21.903d78",
+ "886b4211.4bd9a",
+ "5621d64.66c8228",
+ "680457ce.355c7",
+ "f1e14dbb.a2c47"
+ ]
+ ]
+ },
+ {
+ "id": "b81c1659.1acf38",
+ "type": "get-resource",
+ "name": "get-resource l3-network",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"l3-networks\" \n\t\tkey=\"l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role\"\n pfx='aai.l3-network' local-only='false'\n>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1316.6191482543945,
+ "y": 3505.8417415618896,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "69f68ea2.5d7068",
+ "8f733aa1.cdcf6"
+ ]
+ ]
+ },
+ {
+ "id": "8f733aa1.cdcf6",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1522.0954627990723,
+ "y": 3535.1273441314697,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "11a704cb.ec6e1b"
+ ]
+ ]
+ },
+ {
+ "id": "69f68ea2.5d7068",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1529.595458984375,
+ "y": 3486.2703142166138,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ddfbfd5a.f170a"
+ ]
+ ]
+ },
+ {
+ "id": "69a52c45.9d3a2c",
+ "type": "set",
+ "name": "set vnf-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\n value='`$db.vf-network-role-mapping[$role-index].network-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\n value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\n value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\n value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\n value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\n",
+ "comments": "",
+ "x": 1312.9526138305664,
+ "y": 4311.413550376892,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "a2246d8d.309948",
+ "type": "for",
+ "name": "for each cloud-region availability zone",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 533.3336524963379,
+ "y": 5558.532527923584,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "87ffb6ef.f80298"
+ ]
+ ]
+ },
+ {
+ "id": "bc615b55.663bf",
+ "type": "set",
+ "name": "set availability-zone",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\n value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\n",
+ "comments": "",
+ "x": 995.0003356933594,
+ "y": 5527.865942001343,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d1226d82.dd4ba",
+ "type": "set",
+ "name": "set vnf-parameters-data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n",
+ "comments": "",
+ "x": 492.952579498291,
+ "y": 5408.484888076782,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "c91f5f57.248b18",
+ "type": "save",
+ "name": "save generic-vnf l3-network relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.524112701416,
+ "y": 5702.29474067688,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "70b9d92d.cfcaf",
+ "8019290f.d9e57"
+ ]
+ ]
+ },
+ {
+ "id": "ba745244.bd0468",
+ "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": 446.29785919189453,
+ "y": 6598.056180000305,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "27992a30.77ac86",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 548.8255958557129,
+ "y": 6071.500453948975,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "40b03c35.066374",
+ "type": "for",
+ "name": "for each network-role",
+ "xml": "<for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 526.9048843383789,
+ "y": 4388.794371604919,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f73eb405.e256b8"
+ ]
+ ]
+ },
+ {
+ "id": "84242802.438068",
+ "type": "set",
+ "name": "set network-index = 0",
+ "xml": "<set>\n<parameter name='network-index' value='0' />\n",
+ "comments": "",
+ "x": 568.4047470092773,
+ "y": 3352.8660068511963,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1b8f8e9a.44ecf9",
+ "type": "set",
+ "name": "increment network-index",
+ "xml": "<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n",
+ "comments": "",
+ "x": 1294.9526023864746,
+ "y": 5359.175491333008,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "978c06f5.c51b38",
+ "type": "set",
+ "name": "set vnf-network_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\n value='`$network-index`' />\n",
+ "comments": "",
+ "x": 491.80966567993164,
+ "y": 5358.484931945801,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "42aca120.8663b",
+ "type": "set",
+ "name": "copy input data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n",
+ "comments": "",
+ "x": 458.095401763916,
+ "y": 6017.913442611694,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "32a417de.843a",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 482.52402114868164,
+ "y": 5701.29465675354,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "80153f67.955468"
+ ]
+ ]
+ },
+ {
+ "id": "80153f67.955468",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 686.1906623840332,
+ "y": 5701.294617652893,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c91f5f57.248b18"
+ ]
+ ]
+ },
+ {
+ "id": "60220dbd.cbb274",
+ "type": "set",
+ "name": "set new vnf_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n",
+ "comments": "",
+ "x": 539.0238418579102,
+ "y": 1250.0090227127075,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "aeeecb5d.b95ac8",
+ "type": "for",
+ "name": "for each cloud-region relationship",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 613.5952911376953,
+ "y": 3075.008864402771,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "af9376a1.5b3178"
+ ]
+ ]
+ },
+ {
+ "id": "af9376a1.5b3178",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 861.2738342285156,
+ "y": 3074.7587938308716,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b05c52b5.57078"
+ ]
+ ]
+ },
+ {
+ "id": "b05c52b5.57078",
+ "type": "outcome",
+ "name": "complex",
+ "xml": "<outcome value='complex'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1030.7381553649902,
+ "y": 3074.1516160964966,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8b3ae97b.251a1"
+ ]
+ ]
+ },
+ {
+ "id": "d417f4d3.21848",
+ "type": "set",
+ "name": "set aic-clli",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
+ "comments": "",
+ "x": 1408.3095397949219,
+ "y": 3072.389811515808,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "bd2f9d29.6f4cd",
+ "type": "switchNode",
+ "name": "switch aic-clli",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 546.6429176330566,
+ "y": 3188.1039962768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7ec6f0ba.5529d8"
+ ]
+ ]
+ },
+ {
+ "id": "7ec6f0ba.5529d8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 694.7857513427734,
+ "y": 3188.103979110718,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "5c62b00e.a7cd48"
+ ]
+ ]
+ },
+ {
+ "id": "30224228.963f36",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n",
+ "comments": "",
+ "x": 973.0954627990723,
+ "y": 2546.9612531661987,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "f5318147.69e14",
+ "type": "for",
+ "name": "for each l3-network",
+ "xml": "<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1433.2145919799805,
+ "y": 4135.984929084778,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "852f0b12.336648"
+ ]
+ ]
+ },
+ {
+ "id": "b772b2db.6bf188",
+ "type": "switchNode",
+ "name": "switch orchestration-status",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1851.7857627868652,
+ "y": 4070.556393623352,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2013144f.4b7fd4",
+ "bd45a651.d4fc18",
+ "6b197918.4b35",
+ "d8961e04.47a09",
+ "d20d55e5.845528"
+ ]
+ ]
+ },
+ {
+ "id": "2013144f.4b7fd4",
+ "type": "outcome",
+ "name": "Pending Delete",
+ "xml": "<outcome value='Pending Delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2092.4526329040527,
+ "y": 4112.222897529602,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "65cc69a1.7d4018"
+ ]
+ ]
+ },
+ {
+ "id": "bd45a651.d4fc18",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2065.309772491455,
+ "y": 4163.222878456116,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9c0a541e.0b30c8"
+ ]
+ ]
+ },
+ {
+ "id": "81eba499.0af278",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2601.0240745544434,
+ "y": 4108.460795402527,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "65278a7b.2864d4",
+ "29d3dc98.16bcd4"
+ ]
+ ]
+ },
+ {
+ "id": "9c0a541e.0b30c8",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2235.309684753418,
+ "y": 4162.794255256653,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e8b88764.0e454"
+ ]
+ ]
+ },
+ {
+ "id": "65278a7b.2864d4",
+ "type": "outcome",
+ "name": "cloud-region",
+ "xml": "<outcome value='cloud-region'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2775.309860229492,
+ "y": 4131.365619659424,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bfe4f75a.234cc8"
+ ]
+ ]
+ },
+ {
+ "id": "bfe4f75a.234cc8",
+ "type": "for",
+ "name": "for each relationship data",
+ "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2972.4525604248047,
+ "y": 4131.794087409973,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9def1818.13c9f8"
+ ]
+ ]
+ },
+ {
+ "id": "9def1818.13c9f8",
+ "type": "switchNode",
+ "name": "switch relationship-key",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3203.881160736084,
+ "y": 4131.365462303162,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "29799bf8.7888e4"
+ ]
+ ]
+ },
+ {
+ "id": "29799bf8.7888e4",
+ "type": "outcome",
+ "name": "cloud-region.cloud-region-id",
+ "xml": "<outcome value='cloud-region.cloud-region-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3445.309726715088,
+ "y": 4131.365558624268,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a1567e58.8a3128"
+ ]
+ ]
+ },
+ {
+ "id": "a1567e58.8a3128",
+ "type": "switchNode",
+ "name": "switch relationship-value == cloud-region-id",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3749.595645904541,
+ "y": 4131.22261428833,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7b8c98d4.2676d8"
+ ]
+ ]
+ },
+ {
+ "id": "7b8c98d4.2676d8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3454.5957832336426,
+ "y": 4248.865568161011,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "393f0cf4.4aabc4"
+ ]
+ ]
+ },
+ {
+ "id": "c7e3943d.2b1af",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1269.4287643432617,
+ "y": 4067.270573616028,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f5318147.69e14",
+ "16ed0d4.c25bbf3"
+ ]
+ ]
+ },
+ {
+ "id": "e1eddf21.903d78",
+ "type": "set",
+ "name": "set l3-network-id = -1",
+ "xml": "<set>\n<parameter name='l3-network-id' value='-1' />\n",
+ "comments": "",
+ "x": 1313.7621231079102,
+ "y": 3939.175227165222,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "393f0cf4.4aabc4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3600.4287605285645,
+ "y": 4248.341676712036,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4729b379.1be23c",
+ "54222992.1960d8",
+ "5189f56d.e57b74"
+ ]
+ ]
+ },
+ {
+ "id": "4729b379.1be23c",
+ "type": "set",
+ "name": "set l3-network-id = this l3-network",
+ "xml": "<set>\n<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n",
+ "comments": "",
+ "x": 3835.666763305664,
+ "y": 4210.484645843506,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "886b4211.4bd9a",
+ "type": "switchNode",
+ "name": "switch l3-network-id",
+ "xml": "<switch test='`$l3-network-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1310.7620468139648,
+ "y": 4262.842268943787,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "74e3a542.ce5c34"
+ ]
+ ]
+ },
+ {
+ "id": "74e3a542.ce5c34",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1480.7619972229004,
+ "y": 4262.842024803162,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c374836e.37fed8"
+ ]
+ ]
+ },
+ {
+ "id": "d4235437.829c38",
+ "type": "switchNode",
+ "name": "switch input model-invariant-uuid",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 616.9525375366211,
+ "y": 2569.7856969833374,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ff6622a4.df1be",
+ "cb85aa4.8fd2d58"
+ ]
+ ]
+ },
+ {
+ "id": "ff6622a4.df1be",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 822.6192092895508,
+ "y": 2546.9286603927612,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "30224228.963f36"
+ ]
+ ]
+ },
+ {
+ "id": "cb85aa4.8fd2d58",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 824.0478057861328,
+ "y": 2591.2142515182495,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "5a4f9595.634e9c"
+ ]
+ ]
+ },
+ {
+ "id": "5a4f9595.634e9c",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n",
+ "comments": "",
+ "x": 978.3335418701172,
+ "y": 2590.6428236961365,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1a70dac.17cd8a5",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n",
+ "comments": "",
+ "x": 974.0477333068848,
+ "y": 2635.4999294281006,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d7771a1c.3c6348",
+ "type": "switchNode",
+ "name": "switch input model-uuid",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 589.5715560913086,
+ "y": 2658.3244342803955,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c16c7be1.296e98",
+ "37c94a54.90c536"
+ ]
+ ]
+ },
+ {
+ "id": "c16c7be1.296e98",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 823.5715293884277,
+ "y": 2635.467366218567,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1a70dac.17cd8a5"
+ ]
+ ]
+ },
+ {
+ "id": "37c94a54.90c536",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 825.0001258850098,
+ "y": 2679.752957344055,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "857b4df6.43f238"
+ ]
+ ]
+ },
+ {
+ "id": "857b4df6.43f238",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n",
+ "comments": "",
+ "x": 979.2858619689941,
+ "y": 2679.181529521942,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2709bb13.2feecc",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n",
+ "comments": "",
+ "x": 971.1906661987305,
+ "y": 2724.3571367263794,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "6a3932df.a191e4",
+ "type": "switchNode",
+ "name": "switch input model-version",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 597.714427947998,
+ "y": 2747.1815814971924,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cc5bd4f7.75a8d",
+ "d224df1c.f2e0d8"
+ ]
+ ]
+ },
+ {
+ "id": "cc5bd4f7.75a8d",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 820.714412689209,
+ "y": 2724.324543952942,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2709bb13.2feecc"
+ ]
+ ]
+ },
+ {
+ "id": "d224df1c.f2e0d8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 822.143009185791,
+ "y": 2768.61013507843,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8204943d.4c85a"
+ ]
+ ]
+ },
+ {
+ "id": "8204943d.4c85a",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n",
+ "comments": "",
+ "x": 976.4287452697754,
+ "y": 2768.038707256317,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1f9db65f.71417a",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n",
+ "comments": "",
+ "x": 971.1906661987305,
+ "y": 2811.4999589920044,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "ba43d064.2bf358",
+ "type": "switchNode",
+ "name": "switch input model-name",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.714427947998,
+ "y": 2834.3244037628174,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e920eacf.c85db",
+ "62906e0a.a907e"
+ ]
+ ]
+ },
+ {
+ "id": "e920eacf.c85db",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 820.714412689209,
+ "y": 2811.467366218567,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1f9db65f.71417a"
+ ]
+ ]
+ },
+ {
+ "id": "62906e0a.a907e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 822.143009185791,
+ "y": 2855.752957344055,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ced1f56b.7c6248"
+ ]
+ ]
+ },
+ {
+ "id": "ced1f56b.7c6248",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n",
+ "comments": "",
+ "x": 976.4287452697754,
+ "y": 2855.181529521942,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "65cc69a1.7d4018",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2245.6667251586914,
+ "y": 4112.999774932861,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d20d55e5.845528",
+ "type": "outcome",
+ "name": "PendingDelete",
+ "xml": "<outcome value='PendingDelete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2090.333366394043,
+ "y": 4067.999689102173,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b98d1a52.3774"
+ ]
+ ]
+ },
+ {
+ "id": "b98d1a52.3774",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2245.5474586486816,
+ "y": 4068.776566505432,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d8961e04.47a09",
+ "type": "outcome",
+ "name": "Pending Create",
+ "xml": "<outcome value='Pending Create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2092.333366394043,
+ "y": 4024.666193008423,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4552f1d0.132aa"
+ ]
+ ]
+ },
+ {
+ "id": "4552f1d0.132aa",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2245.5474586486816,
+ "y": 4025.443070411682,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6b197918.4b35",
+ "type": "outcome",
+ "name": "PendingCreate",
+ "xml": "<outcome value='PendingCreate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2092.333366394043,
+ "y": 3981.332941055298,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1c2107f2.1dd77"
+ ]
+ ]
+ },
+ {
+ "id": "1c2107f2.1dd77",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2245.5474586486816,
+ "y": 3982.109818458557,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5bf4954f.7a431c",
+ "type": "for",
+ "name": "for each A&AI subnet",
+ "xml": "<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1778.7143936157227,
+ "y": 4402.047110080719,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cefc1963.652428"
+ ]
+ ]
+ },
+ {
+ "id": "48890473.4cc4e4",
+ "type": "set",
+ "name": "set subnet_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\n",
+ "comments": "",
+ "x": 1767.380958557129,
+ "y": 4447.04719209671,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "54b8c442.c1469c",
+ "type": "set",
+ "name": "set availability-zones.max-count and length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\n value='`$db.vf-model.avail-zone-max-count`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\n value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\n",
+ "comments": "",
+ "x": 553.0001564025879,
+ "y": 5646.547995567322,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "f4822626.6784a",
+ "type": "set",
+ "name": "set vnf-name",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\n value='`$tmp.vnf-name`' />\n",
+ "comments": "",
+ "x": 553.8333511352539,
+ "y": 2503.8334608078003,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "c0f7e6fd.82944",
+ "type": "save",
+ "name": "update generic-vnf",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vnf-name\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`\" />\n<parameter name=\"prov-status\" value=\"PREPROV\" />\n<!-- <parameter name=\"operational-status\" value=\"out-of-service-path\" /> -->\n<parameter name=\"equipment-role\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`\" />\n<parameter name=\"model-invariant-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"selflink\" value=\"`$vnf-object-path`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 473.33342361450195,
+ "y": 5856.213758468628,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7a955a19.a2beec",
+ "8245dddc.98b7b8"
+ ]
+ ]
+ },
+ {
+ "id": "b69c7bea.5b8f98",
+ "type": "set",
+ "name": "set vnf-object-path",
+ "xml": "<set>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
+ "comments": "",
+ "x": 473.3334617614746,
+ "y": 5786.214241027832,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "779ef85a.752e58",
+ "type": "set",
+ "name": "set vnf-id",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n",
+ "comments": "",
+ "x": 542.1666946411133,
+ "y": 2455.5000038146973,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "b8b61871.289a38",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnf.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 447.8454360961914,
+ "y": 6422.226758003235,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "70b9d92d.cfcaf",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1209.3574676513672,
+ "y": 5679.833315849304,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e0daa6a.dcf31d8"
+ ]
+ ]
+ },
+ {
+ "id": "8019290f.d9e57",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1217.928897857666,
+ "y": 5724.119029045105,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ca1e10f7.f5af08"
+ ]
+ ]
+ },
+ {
+ "id": "7a955a19.a2beec",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 647.6907539367676,
+ "y": 5834.833353996277,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2e13fdd8.c6ad92"
+ ]
+ ]
+ },
+ {
+ "id": "8245dddc.98b7b8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 656.2621841430664,
+ "y": 5879.119067192078,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "eba4fe8c.3ea98"
+ ]
+ ]
+ },
+ {
+ "id": "f7b6f1fc.97c858",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n",
+ "comments": "",
+ "x": 605.5000152587891,
+ "y": 2907.1666078567505,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8379176c.854518",
+ "type": "execute",
+ "name": "split related-link",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1427.6903991699219,
+ "y": 3027.1517295837402,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8b3ae97b.251a1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1213.3571014404297,
+ "y": 3073.8185176849365,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8379176c.854518",
+ "d417f4d3.21848",
+ "7176fd8c.2fbd64"
+ ]
+ ]
+ },
+ {
+ "id": "7176fd8c.2fbd64",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1397.357063293457,
+ "y": 3117.1518144607544,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "87ffb6ef.f80298",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 785.0000953674316,
+ "y": 5557.628111839294,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bc615b55.663bf",
+ "54f75326.6021ac"
+ ]
+ ]
+ },
+ {
+ "id": "54f75326.6021ac",
+ "type": "save",
+ "name": "save generic-vnf availability-zone relationship",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"availability-zone\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.cloud-region.cloud-owner`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"availability-zone.availability-zone-name\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1078.3334846496582,
+ "y": 5580.9615659713745,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "43faed04.0b6094",
+ "82cc2525.32135"
+ ]
+ ]
+ },
+ {
+ "id": "43faed04.0b6094",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1343.1667366027832,
+ "y": 5561.833388328552,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "662f403a.490a78"
+ ]
+ ]
+ },
+ {
+ "id": "82cc2525.32135",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1351.738166809082,
+ "y": 5606.119101524353,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bf452558.9a9008"
+ ]
+ ]
+ },
+ {
+ "id": "c3672ff4.a17f",
+ "type": "set",
+ "name": "set mapping rows to 0",
+ "xml": "<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n",
+ "comments": "",
+ "x": 1164.3094863891602,
+ "y": 3321.437578201294,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d350e16f.3e261",
+ "type": "switchNode",
+ "name": "switch AAI availability-zone_length",
+ "xml": "<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 525.7143821716309,
+ "y": 5461.437698364258,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c37c195.a21eb68"
+ ]
+ ]
+ },
+ {
+ "id": "c37c195.a21eb68",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 744.2858009338379,
+ "y": 5461.009107589722,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8b2d772a.c6035"
+ ]
+ ]
+ },
+ {
+ "id": "609ae975.3eddb8",
+ "type": "set",
+ "name": "set availability-zone_length to 0",
+ "xml": "<set>\n<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\n",
+ "comments": "",
+ "x": 1345.714443206787,
+ "y": 5479.580345153809,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8b2d772a.c6035",
+ "type": "switchNode",
+ "name": "switch AZ max count > 0",
+ "xml": "<switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 932.8572731018066,
+ "y": 5461.43741941452,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e3d0a053.f7b56",
+ "cc1abe7a.9fa1e8"
+ ]
+ ]
+ },
+ {
+ "id": "e3d0a053.f7b56",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1135.7143802642822,
+ "y": 5435.723169326782,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cf09642d.dcd6b"
+ ]
+ ]
+ },
+ {
+ "id": "cc1abe7a.9fa1e8",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1137.1430015563965,
+ "y": 5480.008916854858,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "609ae975.3eddb8"
+ ]
+ ]
+ },
+ {
+ "id": "b0ee28b4.7573a8",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "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": 563.5357437133789,
+ "y": 240.4255886077881,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "241fabfe.69fa2c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 770.6190414428711,
+ "y": 1905.2470073699951,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f0c5497d.1fa168"
+ ]
+ ]
+ },
+ {
+ "id": "15d4f6ac.d5e021",
+ "type": "switchNode",
+ "name": "switch ecomp-naming",
+ "xml": "<switch test='`$db.vf-model.ecomp-generated-naming`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1148.2384300231934,
+ "y": 1805.961443901062,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "711480e9.dbef28",
+ "2199667e.3808aa",
+ "eaee02d.8418f"
+ ]
+ ]
+ },
+ {
+ "id": "f0c5497d.1fa168",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 916.3335418701172,
+ "y": 1905.247124671936,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "15d4f6ac.d5e021",
+ "319f96a9.08ead2"
+ ]
+ ]
+ },
+ {
+ "id": "2199667e.3808aa",
+ "type": "outcome",
+ "name": "N",
+ "xml": "<outcome value='N'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1334.6668167114258,
+ "y": 1806.4375705718994,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ad1b7833.2d89a"
+ ]
+ ]
+ },
+ {
+ "id": "711480e9.dbef28",
+ "type": "outcome",
+ "name": "Y",
+ "xml": "<outcome value='Y'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1334.6668090820312,
+ "y": 1765.0090246200562,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "72fee52.6ade19c"
+ ]
+ ]
+ },
+ {
+ "id": "eaee02d.8418f",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1334.6667556762695,
+ "y": 1849.2947025299072,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ad1b7833.2d89a"
+ ]
+ ]
+ },
+ {
+ "id": "72fee52.6ade19c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1471.809726715088,
+ "y": 1765.151891708374,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f80604c.1fec1f8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 755.8097686767578,
+ "y": 2259.866183280945,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1d97b077.4371"
+ ]
+ ]
+ },
+ {
+ "id": "1d97b077.4371",
+ "type": "set",
+ "name": "set tmp.vnf-name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-information.vnf-name`\" />\n",
+ "comments": "",
+ "x": 921.5717315673828,
+ "y": 2258.7234535217285,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2b8a3d28.12eada",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:generate-unique-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1806.643009185791,
+ "y": 1955.0089440345764,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "59b40ce2.443a14",
+ "b8f390d9.9644b"
+ ]
+ ]
+ },
+ {
+ "id": "59b40ce2.443a14",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2083.7858123779297,
+ "y": 1928.5804772377014,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "841445e5.523fe"
+ ]
+ ]
+ },
+ {
+ "id": "b8f390d9.9644b",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2088.5475578308105,
+ "y": 1973.9613881111145,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c9312147.c268c8"
+ ]
+ ]
+ },
+ {
+ "id": "cdd8e1f0.243448",
+ "type": "set",
+ "name": "set variables for generating unique name",
+ "xml": "<set>\n<parameter name='generate-unique-name-input.action' value='ASSIGN' />\n<parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`\" />\n",
+ "comments": "",
+ "x": 1761.6432609558105,
+ "y": 1906.1042637825012,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "c9312147.c268c8",
+ "type": "set",
+ "name": "set tmp.vnf-name to generated name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\n",
+ "comments": "",
+ "x": 2311.4519538879395,
+ "y": 1973.4374632835388,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "319f96a9.08ead2",
+ "type": "switchNode",
+ "name": "switch naming-policy",
+ "xml": "<switch test='`$db.vf-model.naming-policy`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1146.024013519287,
+ "y": 2014.2470607757568,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8a5a017e.752c18",
+ "a132177.4ea1768"
+ ]
+ ]
+ },
+ {
+ "id": "8a5a017e.752c18",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1336.0239448547363,
+ "y": 1935.675615310669,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bffcbc52.3223c"
+ ]
+ ]
+ },
+ {
+ "id": "a132177.4ea1768",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1336.2621841430664,
+ "y": 2063.056559562683,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a0656517.5bca38"
+ ]
+ ]
+ },
+ {
+ "id": "bffcbc52.3223c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1488.8812141418457,
+ "y": 1934.2470817565918,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cdd8e1f0.243448",
+ "2b8a3d28.12eada"
+ ]
+ ]
+ },
+ {
+ "id": "7998869c.3c0bd",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1827.9291381835938,
+ "y": 2078.770941257477,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "57af4cbf.e1b474",
+ "d28171a6.a4093"
+ ]
+ ]
+ },
+ {
+ "id": "a0656517.5bca38",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1490.786033630371,
+ "y": 2063.056559562683,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "db8c85e7.7b71c8",
+ "7998869c.3c0bd"
+ ]
+ ]
+ },
+ {
+ "id": "db8c85e7.7b71c8",
+ "type": "set",
+ "name": "set variables for generating name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\n<parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />",
+ "comments": "",
+ "x": 1737.929054260254,
+ "y": 2033.05659532547,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "b52c81d4.1a1f08",
+ "type": "set",
+ "name": "set tmp.vnf-name to generated name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\n",
+ "comments": "",
+ "x": 2387.7861099243164,
+ "y": 2098.770751953125,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "e74586be.b8e6f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1954.0475997924805,
+ "y": 6545.819259643555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "fcbc941a.75b4b8",
+ "5e0caa6d.e903f4",
+ "fef2b74e.207f2",
+ "ae834aa6.55d6c"
+ ]
+ ]
+ },
+ {
+ "id": "57af4cbf.e1b474",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2126.095184326172,
+ "y": 2053.6994485855103,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "95c2eab0.a4313"
+ ]
+ ]
+ },
+ {
+ "id": "d28171a6.a4093",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2130.8569297790527,
+ "y": 2099.0803594589233,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b52c81d4.1a1f08"
+ ]
+ ]
+ },
+ {
+ "id": "1677d157.c65a77",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 781.3332824707031,
+ "y": 1408.666666984558,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e4f063d3.c2f668",
+ "d72cd4af.95669"
+ ]
+ ]
+ },
+ {
+ "id": "93239a74.eab46",
+ "type": "for",
+ "name": "for each instance group id",
+ "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 564.6666297912598,
+ "y": 1409.333312034607,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1677d157.c65a77"
+ ]
+ ]
+ },
+ {
+ "id": "e4f063d3.c2f668",
+ "type": "get-resource",
+ "name": "get-resource instance-group",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"instance-group\" \n\t\tkey=\"instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\"\n pfx='aai.instance-group' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1009.3333206176758,
+ "y": 1340.3334255218506,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2d4e4bf5.37f93c",
+ "27b813e1.4ee81c"
+ ]
+ ]
+ },
+ {
+ "id": "27b813e1.4ee81c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1226.912612915039,
+ "y": 1371.8174781799316,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4e3d9218.a643dc"
+ ]
+ ]
+ },
+ {
+ "id": "2d4e4bf5.37f93c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1235.8414459228516,
+ "y": 1308.4366302490234,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "961d4497.b1f5b"
+ ]
+ ]
+ },
+ {
+ "id": "d72cd4af.95669",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 986.3332977294922,
+ "y": 1480.3333644866943,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b3fe8ef5.7f7b08"
+ ]
+ ]
+ },
+ {
+ "id": "b3fe8ef5.7f7b08",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1199.6667404174805,
+ "y": 1480.333303451538,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6c3837b.20f1348"
+ ]
+ ]
+ },
+ {
+ "id": "6c3837b.20f1348",
+ "type": "outcome",
+ "name": "collection",
+ "xml": "<outcome value='collection'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1371.3333778381348,
+ "y": 1480.3333854675293,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d9f8f3cd.64b7b8"
+ ]
+ ]
+ },
+ {
+ "id": "d9f8f3cd.64b7b8",
+ "type": "get-resource",
+ "name": "get-resource collection",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"collection\" \n\t\tkey=\"collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\"\n pfx='aai.collection' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1591.3332824707031,
+ "y": 1478.6666469573975,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f170a79a.1b1ac",
+ "9189a100.b52d78",
+ "e1621aae.8a7778"
+ ]
+ ]
+ },
+ {
+ "id": "9189a100.b52d78",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1805.579475402832,
+ "y": 1430.1508359909058,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "966a3052.be8b78"
+ ]
+ ]
+ },
+ {
+ "id": "f170a79a.1b1ac",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1814.508071899414,
+ "y": 1388.4365692138672,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e5dc44b5.d3f17"
+ ]
+ ]
+ },
+ {
+ "id": "e1621aae.8a7778",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1824.666790008545,
+ "y": 1591.9999542236328,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "23c6675b.1dfc4"
+ ]
+ ]
+ },
+ {
+ "id": "23c6675b.1dfc4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1977.9999313354492,
+ "y": 1591.3332500457764,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9e02f3b5.206e98",
+ "8992318d.0d7de",
+ "748a871e.ccc29",
+ "22797e19.563542",
+ "1a7acef5.2220b1"
+ ]
+ ]
+ },
+ {
+ "id": "9e02f3b5.206e98",
+ "type": "for",
+ "name": "for each network-instance-group",
+ "xml": "<for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2290.619071960449,
+ "y": 1540.5715045928955,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ff455704.dd71a8"
+ ]
+ ]
+ },
+ {
+ "id": "8992318d.0d7de",
+ "type": "set",
+ "name": "set found-network-instance-group to false",
+ "xml": "<set>\n<parameter name='found-network-instance-group' value='false' />\n",
+ "comments": "",
+ "x": 2320.6190338134766,
+ "y": 1493.9048767089844,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "ff455704.dd71a8",
+ "type": "switchNode",
+ "name": "network-instance-group-id matches?",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2607.2855834960938,
+ "y": 1540.5715036392212,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "add4fb90.7b64c"
+ ]
+ ]
+ },
+ {
+ "id": "add4fb90.7b64c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2828.952362060547,
+ "y": 1540.5714683532715,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c85d2956.aba338"
+ ]
+ ]
+ },
+ {
+ "id": "c85d2956.aba338",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2958.952392578125,
+ "y": 1540.5715446472168,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "40850f47.7a7e78",
+ "52b6fff4.bf5a48"
+ ]
+ ]
+ },
+ {
+ "id": "40850f47.7a7e78",
+ "type": "set",
+ "name": "set found-network-instance-group to true",
+ "xml": "<set>\n<parameter name='found-network-instance-group' value='true' />\n",
+ "comments": "",
+ "x": 3232.285758972168,
+ "y": 1515.5715236663818,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "52b6fff4.bf5a48",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3125.619373321533,
+ "y": 1563.904893875122,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "748a871e.ccc29",
+ "type": "switchNode",
+ "name": "switch found-network-instance-group",
+ "xml": "<switch test='`$found-network-instance-group`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2302.285690307617,
+ "y": 1590.5714855194092,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "88c71dfb.666f4"
+ ]
+ ]
+ },
+ {
+ "id": "88c71dfb.666f4",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2523.952537536621,
+ "y": 1590.5715079307556,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "19fba1ff.3d7996"
+ ]
+ ]
+ },
+ {
+ "id": "a88c2f3d.bf4fa8",
+ "type": "set",
+ "name": "set tmp.vnf-network-collection_length to 0",
+ "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='0' />\n",
+ "comments": "",
+ "x": 612.9999694824219,
+ "y": 1360.3334436416626,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "22797e19.563542",
+ "type": "set",
+ "name": "set vnf-network-collection data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\n value='`$aai.instance-group.instance-group-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\n value='`$aai.instance-group.id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\n value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\n value='`$aai.collection.collection-customization-id`' />\n",
+ "comments": "",
+ "x": 2282.2860145568848,
+ "y": 1638.904821395874,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1a7acef5.2220b1",
+ "type": "set",
+ "name": "increment tmp.vnf-network-collection_length",
+ "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\n",
+ "comments": "",
+ "x": 2323.95272064209,
+ "y": 1685.5714893341064,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "3e36f71.f2f0b88",
+ "type": "set",
+ "name": "set vnf-network-collection_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\n value='`$tmp.vnf-network-collection_length`' />\n",
+ "comments": "",
+ "x": 592.1666641235352,
+ "y": 1617.8333930969238,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "6e06d5a1.039e24",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 710.0000457763672,
+ "y": 5950.80961894989,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "15f88503.d536cb"
+ ]
+ ]
+ },
+ {
+ "id": "b3a3b6d8.b3b1a",
+ "type": "for",
+ "name": "for each instance group id",
+ "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 493.3333930969238,
+ "y": 5951.476263999939,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6e06d5a1.039e24"
+ ]
+ ]
+ },
+ {
+ "id": "15f88503.d536cb",
+ "type": "save",
+ "name": "save generic-vnf relationship to instance-group",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"instance-group\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/instance-groups/instance-group/'\n + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 993.3333740234375,
+ "y": 5950.333299636841,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ab9ecf4.f4a9ab",
+ "7760b70d.6ce06"
+ ]
+ ]
+ },
+ {
+ "id": "ab9ecf4.f4a9ab",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1252.6905975341797,
+ "y": 5927.285715103149,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1ce1d0e3.b09f8f"
+ ]
+ ]
+ },
+ {
+ "id": "7760b70d.6ce06",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1261.2620277404785,
+ "y": 5971.57142829895,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "85592822.f54ce"
+ ]
+ ]
+ },
+ {
+ "id": "5621d64.66c8228",
+ "type": "switchNode",
+ "name": "switch subnet_length",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1314.9047927856445,
+ "y": 4383.428667068481,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "590fbfa.56ffd4",
+ "55fd7e77.380188",
+ "5c002b3b.bf14dc"
+ ]
+ ]
+ },
+ {
+ "id": "590fbfa.56ffd4",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1487.7619552612305,
+ "y": 4346.285726547241,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c908a6ad.557b18"
+ ]
+ ]
+ },
+ {
+ "id": "55fd7e77.380188",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1489.1905250549316,
+ "y": 4384.856889724731,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c908a6ad.557b18"
+ ]
+ ]
+ },
+ {
+ "id": "5c002b3b.bf14dc",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1487.7619895935059,
+ "y": 4423.428281784058,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "42d5e987.8ca46"
+ ]
+ ]
+ },
+ {
+ "id": "42d5e987.8ca46",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1609.190544128418,
+ "y": 4423.428548812866,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "5bf4954f.7a431c",
+ "48890473.4cc4e4"
+ ]
+ ]
+ },
+ {
+ "id": "c908a6ad.557b18",
+ "type": "set",
+ "name": "set subnet_length to 0",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='0' />\n",
+ "comments": "",
+ "x": 1680.6191482543945,
+ "y": 4354.856889724731,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "525bcd69.d52c4c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 298.0793991088867,
+ "y": 420.11908626556396,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b0ee28b4.7573a8",
+ "65b55bf0.e17c94",
+ "c29453e1.d0b3d8",
+ "3f69e8e3.cf5be8",
+ "819ca24a.f2412",
+ "4ce50465.9ccc0c",
+ "5369940c.e48364"
+ ]
+ ]
+ },
+ {
+ "id": "cefc1963.652428",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1950.3810005187988,
+ "y": 4402.032744407654,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bfb8729.d25369",
+ "1546bd44.dac763",
+ "c11ff570.face3",
+ "b2dc37a2.39945"
+ ]
+ ]
+ },
+ {
+ "id": "680457ce.355c7",
+ "type": "set",
+ "name": "clear aai.l3-network",
+ "xml": "<set>\n<parameter name='aai.l3-network.' value='' />\n",
+ "comments": "",
+ "x": 1301.8095703125,
+ "y": 3456.3182973861694,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "54222992.1960d8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3750.6663818359375,
+ "y": 4302.032426834106,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "16ed0d4.c25bbf3",
+ "type": "set",
+ "name": "set found-network to false",
+ "xml": "<set>\n<parameter name='found-network' value='false' />\n",
+ "comments": "",
+ "x": 1450.380973815918,
+ "y": 4007.7468309402466,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "e8b88764.0e454",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2422.0952796936035,
+ "y": 4162.032627105713,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "81eba499.0af278",
+ "8cc5b790.718ca"
+ ]
+ ]
+ },
+ {
+ "id": "8cc5b790.718ca",
+ "type": "switchNode",
+ "name": "switch found-network",
+ "xml": "<switch test='`$found-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2613.523826599121,
+ "y": 4192.032681465149,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8e56c1e2.9c47b"
+ ]
+ ]
+ },
+ {
+ "id": "5189f56d.e57b74",
+ "type": "set",
+ "name": "set found-network to true",
+ "xml": "<set>\n<parameter name='found-network' value='true' />\n",
+ "comments": "",
+ "x": 3806.381259918213,
+ "y": 4256.3181076049805,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8e56c1e2.9c47b",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2782.095317840576,
+ "y": 4192.0326108932495,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "56545bb.806fe24"
+ ]
+ ]
+ },
+ {
+ "id": "56545bb.806fe24",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2912.095386505127,
+ "y": 4190.604004859924,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "852f0b12.336648",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1622.3809967041016,
+ "y": 4135.746905326843,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b772b2db.6bf188",
+ "aaa6bab8.ec80f"
+ ]
+ ]
+ },
+ {
+ "id": "aaa6bab8.ec80f",
+ "type": "switchNode",
+ "name": "switch found-network",
+ "xml": "<switch test='`$found-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1832.3809509277344,
+ "y": 4207.746788978577,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ae15eed2.e4fa88"
+ ]
+ ]
+ },
+ {
+ "id": "ae15eed2.e4fa88",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2000.9524421691895,
+ "y": 4207.746718406677,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "290a5acd.b811fe"
+ ]
+ ]
+ },
+ {
+ "id": "290a5acd.b811fe",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2130.9525108337402,
+ "y": 4206.318112373352,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "c11ff570.face3",
+ "type": "set",
+ "name": "set subnet data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\n value='`$tmp.ip-version`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\n",
+ "comments": "",
+ "x": 2104.6667671203613,
+ "y": 4432.714490890503,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "b2dc37a2.39945",
+ "type": "switchNode",
+ "name": "switch dhcp-enabled",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2119.1905479431152,
+ "y": 4485.557444572449,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cd2523f4.0b1db8",
+ "2a325c94.48677c"
+ ]
+ ]
+ },
+ {
+ "id": "cd2523f4.0b1db8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2282.047712598528,
+ "y": 4464.1288022994995,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "5385445e.1587b4"
+ ]
+ ]
+ },
+ {
+ "id": "2a325c94.48677c",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2280.6190452575684,
+ "y": 4509.843228340149,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "83b7359e.e55738"
+ ]
+ ]
+ },
+ {
+ "id": "5385445e.1587b4",
+ "type": "set",
+ "name": "set dhcp-enabled to Y",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='Y' />\n",
+ "comments": "",
+ "x": 2454.9049110412598,
+ "y": 4462.700198173523,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "83b7359e.e55738",
+ "type": "set",
+ "name": "set dhcp-enabled to N",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='N' />\n",
+ "comments": "",
+ "x": 2452.047679901123,
+ "y": 4509.843228340149,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "bfb8729.d25369",
+ "type": "switchNode",
+ "name": "switch subnet-role",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2119.666717529297,
+ "y": 4314.605116844177,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b3461715.a1c54"
+ ]
+ ]
+ },
+ {
+ "id": "b3461715.a1c54",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2286.333320617676,
+ "y": 4314.604768753052,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3b809c11.157b54"
+ ]
+ ]
+ },
+ {
+ "id": "3b809c11.157b54",
+ "type": "set",
+ "name": "set subnet-role to NONE",
+ "xml": "<set>\n<parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\n",
+ "comments": "",
+ "x": 2468.0001068115234,
+ "y": 4313.93842124939,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1546bd44.dac763",
+ "type": "switchNode",
+ "name": "switch ip-version",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2114.9050521850586,
+ "y": 4379.096222877502,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d33d7dba.02ad08",
+ "9e9034a9.798778"
+ ]
+ ]
+ },
+ {
+ "id": "d33d7dba.02ad08",
+ "type": "outcome",
+ "name": "4",
+ "xml": "<outcome value='4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2280.6191940307617,
+ "y": 4360.524620056152,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b8e9d995.95c2a8"
+ ]
+ ]
+ },
+ {
+ "id": "9e9034a9.798778",
+ "type": "outcome",
+ "name": "6",
+ "xml": "<outcome value='6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2280.619155883789,
+ "y": 4401.953363418579,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6716e11d.548a3"
+ ]
+ ]
+ },
+ {
+ "id": "b8e9d995.95c2a8",
+ "type": "set",
+ "name": "set tmp.ip-version to ipv4",
+ "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n",
+ "comments": "",
+ "x": 2467.7619590759277,
+ "y": 4359.667547225952,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "6716e11d.548a3",
+ "type": "set",
+ "name": "set tmp.ip-version to ipv6",
+ "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n",
+ "comments": "",
+ "x": 2466.333511352539,
+ "y": 4401.953365325928,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "f73eb405.e256b8",
+ "type": "switchNode",
+ "name": "switch network-role",
+ "xml": "<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 747.3332443237305,
+ "y": 4387.333273887634,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a1e4bd7f.d5ea9",
+ "a8f001ac.33558",
+ "7a9134fc.396d14",
+ "39a7a020.ba1f58"
+ ]
+ ]
+ },
+ {
+ "id": "a1e4bd7f.d5ea9",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 915.4285087585449,
+ "y": 4285.66668510437,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c630c62f.2e4b88"
+ ]
+ ]
+ },
+ {
+ "id": "a8f001ac.33558",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.999885559082,
+ "y": 4413.999873161316,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "febef76b.d8c79"
+ ]
+ ]
+ },
+ {
+ "id": "c630c62f.2e4b88",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1052.8095169067383,
+ "y": 4325.42826461792,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f1e14dbb.a2c47",
+ "type": "get-resource",
+ "name": "get-resource VNF_RELATED_NETWORK_ROLE",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n and network_role = $db.vf-network-role-mapping[$role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1409.333339691162,
+ "y": 4717.079788208008,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3772719.a8f170e",
+ "3270a935.e0fa9e"
+ ]
+ ]
+ },
+ {
+ "id": "3772719.a8f170e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1678.0000038146973,
+ "y": 4547.746629714966,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "aac9396.609d348"
+ ]
+ ]
+ },
+ {
+ "id": "3270a935.e0fa9e",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1681.0000343322754,
+ "y": 4910.41314125061,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bec6dac4.be5be"
+ ]
+ ]
+ },
+ {
+ "id": "bec6dac4.be5be",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1847.333339691162,
+ "y": 4908.412796020508,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "70df31da.fe5458",
+ "10dd5c97.f83c3b",
+ "93b3be63.c398e",
+ "8d286d93.2f6ff",
+ "ad5b3ac9.e19098",
+ "8ca661f6.f5d5f8",
+ "d71dcbd8.8dc7f",
+ "32376f69.700f08",
+ "96681242.82e6c"
+ ]
+ ]
+ },
+ {
+ "id": "29d3dc98.16bcd4",
+ "type": "outcome",
+ "name": "service-instance",
+ "xml": "<outcome value='service-instance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2785.618808746338,
+ "y": 4080.651467323303,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4ccf1527.e6d86c"
+ ]
+ ]
+ },
+ {
+ "id": "4ccf1527.e6d86c",
+ "type": "for",
+ "name": "for each relationship data",
+ "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3011.0946464538574,
+ "y": 4081.0800971984863,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7aafe2ec.322514"
+ ]
+ ]
+ },
+ {
+ "id": "7aafe2ec.322514",
+ "type": "switchNode",
+ "name": "switch relationship-key",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3246.3332176208496,
+ "y": 4079.413528442383,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9d6550c4.3622f8"
+ ]
+ ]
+ },
+ {
+ "id": "9d6550c4.3622f8",
+ "type": "outcome",
+ "name": "service-instance.service-instance-id",
+ "xml": "<outcome value='service-instance.service-instance-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3512.761577606201,
+ "y": 4079.413592338562,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7003f69f.877238"
+ ]
+ ]
+ },
+ {
+ "id": "7003f69f.877238",
+ "type": "set",
+ "name": "set network-service-instance-id",
+ "xml": "<set>\n<parameter name='network-service-instance-id'\n value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\n",
+ "comments": "",
+ "x": 3806.3333625793457,
+ "y": 4077.747007369995,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "70df31da.fe5458",
+ "type": "execute",
+ "name": "generate network-topology-identifier-structure url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.network-topology-identifier-structure`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$network-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2166.6665077209473,
+ "y": 4604.080429077148,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "93b3be63.c398e",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get network-topology-identifier-structure",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-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-ntis\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2223.666301727295,
+ "y": 4707.509169578552,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ad3ea158.a938e8"
+ ]
+ ]
+ },
+ {
+ "id": "10dd5c97.f83c3b",
+ "type": "execute",
+ "name": "generate network-topology-identifier-structure url (part 2)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ntis-url\"/>\n <parameter name=\"target\" value=\"{network-id}\"/>\n <parameter name=\"replacement\" value=\"`$l3-network-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2188.333095550537,
+ "y": 4647.413772583008,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aac69396.6ddb18",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 493.6667137145996,
+ "y": 4554.079788208008,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ad3ea158.a938e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2552.775489807129,
+ "y": 4707.259647369385,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3ecadd51.2a79da"
+ ]
+ ]
+ },
+ {
+ "id": "8d286d93.2f6ff",
+ "type": "set",
+ "name": "set is-trunked and segmentation-id in vnf-network",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\n value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\n value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\n ",
+ "comments": "",
+ "x": 2166.333324432373,
+ "y": 4767.746793746948,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8ca661f6.f5d5f8",
+ "type": "save",
+ "name": "custom query: get owning entity",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.oe\">\n<parameter name=\"start[0]\" value=\"`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"/query/owning-entity-fromService-instance\" /> \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2107.3332176208496,
+ "y": 4843.080276489258,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cb08c447.df52e8",
+ "3df62a76.46167e"
+ ]
+ ]
+ },
+ {
+ "id": "cb08c447.df52e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2317.5712661743164,
+ "y": 4821.74663066864,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bd008d18.af7e28"
+ ]
+ ]
+ },
+ {
+ "id": "3df62a76.46167e",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2324.7141609191895,
+ "y": 4867.460855484009,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e973673a.4d16f8"
+ ]
+ ]
+ },
+ {
+ "id": "57855376.396fb4",
+ "type": "save",
+ "name": "custom query: get tenant network",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.get-networks\">\n<parameter name=\"start[0]\" value=\"`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\n + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" /> \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2557.0000343322754,
+ "y": 5016.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "43d389bc.8dd5c",
+ "ba0b7d99.7e8938"
+ ]
+ ]
+ },
+ {
+ "id": "43d389bc.8dd5c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2770.238082885742,
+ "y": 4994.746912956238,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1b6474fa.c07123"
+ ]
+ ]
+ },
+ {
+ "id": "ba0b7d99.7e8938",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2777.3809776306152,
+ "y": 5040.461137771606,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "10aba7ed.de916"
+ ]
+ ]
+ },
+ {
+ "id": "17456206.9d075e",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2524.0000343322754,
+ "y": 5142.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ce79340.35758d"
+ ]
+ ]
+ },
+ {
+ "id": "ce79340.35758d",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2722.0000343322754,
+ "y": 5142.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "fa4ca619.db292"
+ ]
+ ]
+ },
+ {
+ "id": "fa4ca619.db292",
+ "type": "outcome",
+ "name": "vlan-tag",
+ "xml": "<outcome value='vlan-tag'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2892.0000343322754,
+ "y": 5142.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4c7222a4.15e9ac"
+ ]
+ ]
+ },
+ {
+ "id": "4c7222a4.15e9ac",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3060.0000343322754,
+ "y": 5140.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "43474b1d.d7ef7c",
+ "2b8c993e.dd7eb6",
+ "81bc4129.bb1c1"
+ ]
+ ]
+ },
+ {
+ "id": "43474b1d.d7ef7c",
+ "type": "set",
+ "name": "set vlan-tag-id",
+ "xml": "<set>\n<parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\n",
+ "comments": "",
+ "x": 3236.0000343322754,
+ "y": 5100.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2b8c993e.dd7eb6",
+ "type": "get-resource",
+ "name": "get-resource vlan-tag",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vlan-tag\" \n\t\tkey=\"vlan-tag.vlan-tag-id = $vlan-tag-id\"\n pfx='aai.vlan-tag' local-only='false'\n>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3258.0000343322754,
+ "y": 5158.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "799d4f7d.0c1778",
+ "6628ce12.4c6d38"
+ ]
+ ]
+ },
+ {
+ "id": "799d4f7d.0c1778",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3438.0476417541504,
+ "y": 5140.2236251831055,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6c186302.6806a4"
+ ]
+ ]
+ },
+ {
+ "id": "ad5b3ac9.e19098",
+ "type": "for",
+ "name": "for each related network role",
+ "xml": "<for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2094.9999656677246,
+ "y": 5072.414123535156,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "742a4410.9dd994"
+ ]
+ ]
+ },
+ {
+ "id": "742a4410.9dd994",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2299.9999656677246,
+ "y": 5073.747268676758,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "57855376.396fb4",
+ "17456206.9d075e",
+ "7f19e15e.2c2ee8"
+ ]
+ ]
+ },
+ {
+ "id": "32376f69.700f08",
+ "type": "switchNode",
+ "name": "switch rn-index",
+ "xml": "<switch test='`$rn-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2055.9999656677246,
+ "y": 4962.080276489258,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "681bd084.d720e8"
+ ]
+ ]
+ },
+ {
+ "id": "d71dcbd8.8dc7f",
+ "type": "set",
+ "name": "set rn-index to related network length",
+ "xml": "<set>\n<parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\n",
+ "comments": "",
+ "x": 2124.6665534973145,
+ "y": 4913.080129623413,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "681bd084.d720e8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2219.9999656677246,
+ "y": 4962.080276489258,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a757207e.80691"
+ ]
+ ]
+ },
+ {
+ "id": "a757207e.80691",
+ "type": "set",
+ "name": "set rn-index to 0",
+ "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
+ "comments": "",
+ "x": 2379.9999656677246,
+ "y": 4962.080276489258,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "7f19e15e.2c2ee8",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\n",
+ "comments": "",
+ "x": 2527.6666221618652,
+ "y": 5072.747100830078,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "96681242.82e6c",
+ "type": "set",
+ "name": "set new related network length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
+ "comments": "",
+ "x": 2090.0000343322754,
+ "y": 5216.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "6628ce12.4c6d38",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3440.0000343322754,
+ "y": 5188.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ee974e83.057d3"
+ ]
+ ]
+ },
+ {
+ "id": "ee974e83.057d3",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$aai.vlan-tag.vlan-tag-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$aai.vlan-tag.vlan-id-outer`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$aai.vlan-tag.vlan-id-inner`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$aai.vlan-tag.is-private`' />\n",
+ "comments": "",
+ "x": 3632.0000343322754,
+ "y": 5188.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "81bc4129.bb1c1",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3210.0000343322754,
+ "y": 5226.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "50d3999e.8bb34",
+ "type": "comment",
+ "name": "temporary data issue: also ignore string \"null\" and \"NULL\"",
+ "info": "",
+ "comments": "",
+ "x": 886.3333473205566,
+ "y": 4245.842397689819,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "7a9134fc.396d14",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value='null'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.4761695861816,
+ "y": 4328.69953918457,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c630c62f.2e4b88"
+ ]
+ ]
+ },
+ {
+ "id": "39a7a020.ba1f58",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value='NULL'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.4761791229248,
+ "y": 4371.556611061096,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c630c62f.2e4b88"
+ ]
+ ]
+ },
+ {
+ "id": "3f69e8e3.cf5be8",
+ "type": "switchNode",
+ "name": "switch input cloud-owner",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 563.0000381469727,
+ "y": 419.4136428833008,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f596a79e.8e433",
+ "4667755e.d66424"
+ ]
+ ]
+ },
+ {
+ "id": "f596a79e.8e433",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 746.3334121704102,
+ "y": 389.413631439209,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a299c564.3dfdb8"
+ ]
+ ]
+ },
+ {
+ "id": "4667755e.d66424",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 746.0953178405762,
+ "y": 430.3661251068115,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ee8be88f.ffc97"
+ ]
+ ]
+ },
+ {
+ "id": "a299c564.3dfdb8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 881.333366394043,
+ "y": 387.7469711303711,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ee8be88f.ffc97",
+ "type": "set",
+ "name": "set prop.cloud-region.cloud-owner",
+ "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\n",
+ "comments": "",
+ "x": 963.0000228881836,
+ "y": 429.41365242004395,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "819ca24a.f2412",
+ "type": "call",
+ "name": "call self-serve-vnf-forking-logic",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 580.8571624755859,
+ "y": 740.2142810821533,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4ce50465.9ccc0c",
+ "type": "switchNode",
+ "name": "switch ss.self-serve-flag",
+ "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 560.9998779296875,
+ "y": 905.7857685089111,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b05ed7a0.f4e1f8",
+ "8e5a3910.2353a"
+ ]
+ ]
+ },
+ {
+ "id": "b05ed7a0.f4e1f8",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 772.7140350341797,
+ "y": 979.0710525512695,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "73e62b5e.2d2d24"
+ ]
+ ]
+ },
+ {
+ "id": "8e5a3910.2353a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 772.2855529785156,
+ "y": 842.6428861618042,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7c56b4f9.aca0c4"
+ ]
+ ]
+ },
+ {
+ "id": "2d48d63d.1a5b82",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 952.4444923400879,
+ "y": 541.3888673782349,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d6025c47.4904b",
+ "73468fad.c71778"
+ ]
+ ]
+ },
+ {
+ "id": "17544ab9.984c5d",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 952.4444923400879,
+ "y": 589.9603090286255,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c6456146.0f2668",
+ "73468fad.c71778"
+ ]
+ ]
+ },
+ {
+ "id": "9a95814.c6dd98",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 955.3016090393066,
+ "y": 634.2460145950317,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "557c512a.eddd3",
+ "73468fad.c71778"
+ ]
+ ]
+ },
+ {
+ "id": "d6025c47.4904b",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVnfInstance'\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1188.8730735778809,
+ "y": 541.3888578414917,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c6456146.0f2668",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1187.4444847106934,
+ "y": 590.1031522750854,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "557c512a.eddd3",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1187.4444847106934,
+ "y": 634.2460050582886,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "75930576.a93ef4",
+ "type": "call",
+ "name": "call self-serve-vnf-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1223.3211402893066,
+ "y": 740.1072311401367,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8d844173.607528"
+ ]
+ ]
+ },
+ {
+ "id": "b4a1df9a.51e5b8",
+ "type": "comment",
+ "name": "SELF-SERVE FORK",
+ "info": "",
+ "comments": "",
+ "x": 942.7618942260742,
+ "y": 793.5119113922119,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8d844173.607528",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1428.6187210083008,
+ "y": 739.5952625274658,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a0be875f.ade8a"
+ ]
+ ]
+ },
+ {
+ "id": "9f565fa.4dc342",
+ "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": 1198.5635070800781,
+ "y": 988.789656996727,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "be242702.8a5c",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 1286.432487487793,
+ "y": 791.599271774292,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "b92958a4.6d80e",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1185.6348037719727,
+ "y": 842.0390481948853,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7c56b4f9.aca0c4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 962.8727645874023,
+ "y": 842.4999408721924,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "75930576.a93ef4",
+ "be242702.8a5c",
+ "b92958a4.6d80e",
+ "9f565fa.4dc342",
+ "d8dc3738.9ff7d",
+ "61c39fe5.7ecd2"
+ ]
+ ]
+ },
+ {
+ "id": "73468fad.c71778",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1804.3176345825195,
+ "y": 819.2462577819824,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6ffa4d06.cd8f6c",
+ "ce39ee80.3e9ff"
+ ]
+ ]
+ },
+ {
+ "id": "a0be875f.ade8a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1604.635009765625,
+ "y": 739.785698890686,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "62341ef1.f30f5",
+ "73468fad.c71778"
+ ]
+ ]
+ },
+ {
+ "id": "62341ef1.f30f5",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1816.162956237793,
+ "y": 681.690544128418,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4efb64bb.616d74",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2246.999954223633,
+ "y": 1253.666597366333,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "53faa32e.0504dc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Cannot find instance group id ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in AAI'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1624.0950775146484,
+ "y": 1308.476245880127,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "411cfc3a.01153c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving instance-group from AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1624.0950393676758,
+ "y": 1371.619031906128,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "53de08e6.af6ff8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find AAI relationship from collection '\n + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\n + ' to service instance'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2218.6665420532227,
+ "y": 1387.9523315429688,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2dfa859a.9ef8aa",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to get network service instance '\n + $network-service-instance + ' from MD-SAL'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2220.1427841186523,
+ "y": 1429.666732788086,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4baafedf.40884",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Could not find network instance group ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in MD-SAL service instance '\n + $network-service-instance`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2904.666893005371,
+ "y": 1588.1904573440552,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d9837d5e.fb9228",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2930.6786499023438,
+ "y": 1892.3692474365234,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "85f543a5.3e0c48",
+ "5d5d1ee3.ba096"
+ ]
+ ]
+ },
+ {
+ "id": "dcfb1529.fec6a8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2041.9998321533203,
+ "y": 1251.9998836517334,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4efb64bb.616d74",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "961d4497.b1f5b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1412.3333206176758,
+ "y": 1308.6664772033691,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "53faa32e.0504dc",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "4e3d9218.a643dc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1412.9996948242188,
+ "y": 1371.3331823349,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "411cfc3a.01153c",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "e5dc44b5.d3f17",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2001.3332138061523,
+ "y": 1388.3333625793457,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "53de08e6.af6ff8",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "966a3052.be8b78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1999.6665878295898,
+ "y": 1430.333251953125,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2dfa859a.9ef8aa",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "19fba1ff.3d7996",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2693.9524307250977,
+ "y": 1588.9047193527222,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4baafedf.40884",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "ad1b7833.2d89a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1500.3808898925781,
+ "y": 1823.9046249389648,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "939de763.66009",
+ "1a90432.93512bd"
+ ]
+ ]
+ },
+ {
+ "id": "939de763.66009",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"No vnf-name was received but ecomp-generated-naming is not Y\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1730.2381210327148,
+ "y": 1824.3329601287842,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "841445e5.523fe",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2253.2380142211914,
+ "y": 1927.7618045806885,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "262e48b9.36be4",
+ "1a90432.93512bd"
+ ]
+ ]
+ },
+ {
+ "id": "262e48b9.36be4",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`$generate-unique-name-output.error-message`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2461.380889892578,
+ "y": 1927.3331956863403,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "95c2eab0.a4313",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2301.809440612793,
+ "y": 2053.9045372009277,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cd9d840e.6d9e2",
+ "1a90432.93512bd"
+ ]
+ ]
+ },
+ {
+ "id": "cd9d840e.6d9e2",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Unable to generate VNF name\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2524.6664962768555,
+ "y": 2054.3332080841064,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1a90432.93512bd",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2576.5480422973633,
+ "y": 2309.333641052246,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "82edd673.f84e28",
+ "d16813f7.4f256"
+ ]
+ ]
+ },
+ {
+ "id": "2be0da40.0d7806",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 994.1904449462891,
+ "y": 2964.2857341766357,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c3e06ca1.959fc",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "c3e06ca1.959fc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Cloud region not found in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1192.7617874145508,
+ "y": 2930.0000200271606,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f968cb62.56775",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 997.523796081543,
+ "y": 3007.619020462036,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "705aa9d.1a68858",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "705aa9d.1a68858",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving cloud region from AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1196.0951385498047,
+ "y": 2973.333306312561,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5c62b00e.a7cd48",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 855.8572311401367,
+ "y": 3186.619167327881,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7368045.ed8167c",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "7368045.ed8167c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1065.8572235107422,
+ "y": 3165.190655708313,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b2ea455b.480508",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1952.4405975341797,
+ "y": 3741.820848464966,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2eff60b0.82a368",
+ "2209a27.51db7de",
+ "8cff46f6.b77",
+ "e06e50cf.f6e82"
+ ]
+ ]
+ },
+ {
+ "id": "7ef20c7d.b3d83c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1141.3333282470703,
+ "y": 3276.714331626892,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1e4bb717.8c8f11",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "1e4bb717.8c8f11",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_TO_NETWORK_ROLE_MAPPING table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1344.1904373168945,
+ "y": 3243.8572273254395,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ddfbfd5a.f170a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1711.3332824707031,
+ "y": 3486.285619735718,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ed599d84.5459d",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "ed599d84.5459d",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1922.7618865966797,
+ "y": 3454.8569107055664,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3ecadd51.2a79da",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2731.8094635009766,
+ "y": 4707.667684555054,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1132c0eb.47f19f",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "1132c0eb.47f19f",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`\n 'Error retrieving network-topology-identifier-structure for service instance '\n + $network-service-instance-id\n + ' and network-id '\n + $l3-network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2943.237968444824,
+ "y": 4676.238899230957,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aac9396.609d348",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1844.4761962890625,
+ "y": 4548.048126220703,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6ef91a22.9e6f5c",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "6ef91a22.9e6f5c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VNF_RELATED_NETWORK_ROLE table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2058.4761962890625,
+ "y": 4529.190979003906,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bd008d18.af7e28",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2488.952423095703,
+ "y": 4823.667268753052,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3b9e157a.a6eb1a",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "3b9e157a.a6eb1a",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error getting owning entity from service instance\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2696.095443725586,
+ "y": 4799.381650924683,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e973673a.4d16f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2503.952423095703,
+ "y": 4868.667268753052,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ea2f1cf6.5574e",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "ea2f1cf6.5574e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Unable to find owning entity from service instance\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2705.3810653686523,
+ "y": 4842.953462600708,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1b6474fa.c07123",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2947.9998168945312,
+ "y": 4994.143200874329,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ad71495b.bf604",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "ad71495b.bf604",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error calling getNetworks custom query in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3163.714179992676,
+ "y": 4964.143190383911,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "10aba7ed.de916",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2959.6665649414062,
+ "y": 5039.143200874329,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "92ff3f65.ace2f",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "92ff3f65.ace2f",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No l3-network returned from getNetworks custom query for related network role '\n + $db.vnf-related-network-role[0].related-network-role`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3175.380928039551,
+ "y": 5009.143190383911,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6c186302.6806a4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3603.952033996582,
+ "y": 5140.333766937256,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c91d001.4234e8",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "c91d001.4234e8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error getting vlan-tag object from AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3816.80916595459,
+ "y": 5113.190900802612,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1eafb6c3.64af09",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3723.6791076660156,
+ "y": 5591.275134086609,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "45d48b66.a8078c",
+ "f7795356.cb57f8",
+ "5ac8760f.3c13c",
+ "149b2fa5.4d0cf8"
+ ]
+ ]
+ },
+ {
+ "id": "11a704cb.ec6e1b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1711.333267211914,
+ "y": 3536.2856159210205,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9729b81b.95b818",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "9729b81b.95b818",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving l3-network from AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1922.7618713378906,
+ "y": 3504.856906890869,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2ae5fa90.61994e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1847.0476913452148,
+ "y": 4247.714210510254,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c374836e.37fed8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1647.0476913452148,
+ "y": 4262,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2ae5fa90.61994e",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "cf09642d.dcd6b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1301.3332748413086,
+ "y": 5434.856773376465,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d709ac0f.fb269",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "d709ac0f.fb269",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No availability zones found in AAI for cloud region '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1504.1904067993164,
+ "y": 5416.28534412384,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "662f403a.490a78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1528.7144622802734,
+ "y": 5561.524040222168,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c383f700.e2fe08",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "c383f700.e2fe08",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating generic-vnf in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1730.1430130004883,
+ "y": 5541.524041175842,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bf452558.9a9008",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1530.381088256836,
+ "y": 5604.857048034668,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "79c5928f.79507c",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "79c5928f.79507c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1731.8096389770508,
+ "y": 5584.857048988342,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e0daa6a.dcf31d8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1388.238136291504,
+ "y": 5679.618696212769,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1a45b18b.687d7e",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "1a45b18b.687d7e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating generic-vnf in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1585.9166717529297,
+ "y": 5658.011522293091,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ca1e10f7.f5af08",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1408.2976303100586,
+ "y": 5724.678614616394,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7c8d3c94.816594",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "7c8d3c94.816594",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1612.583396911621,
+ "y": 5701.821611404419,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2e13fdd8.c6ad92",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 824.0118942260742,
+ "y": 5834.29768371582,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7c4ba56.57b5cdc",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "7c4ba56.57b5cdc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating selflink in generic-vnf in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1029.7262344360352,
+ "y": 5810.011829376221,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "eba4fe8c.3ea98",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 837.3452072143555,
+ "y": 5877.63117980957,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2d963807.1f3568",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "2d963807.1f3568",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1043.0595474243164,
+ "y": 5853.345325469971,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1ce1d0e3.b09f8f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1417.3928909301758,
+ "y": 5927.011758804321,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f1dfb0ff.674588",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "f1dfb0ff.674588",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating relationship in generic-vnf in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1611.678611755371,
+ "y": 5901.2977504730225,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "85592822.f54ce",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1432.3928909301758,
+ "y": 5970.345254898071,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "16449f26.c6b4a1",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "16449f26.c6b4a1",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1626.678611755371,
+ "y": 5944.6312465667725,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "634a4090.ff27d",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT vnf",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $tmp.vnf.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=\"vnf-assign\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 527.3212051391602,
+ "y": 6334.9891719818115,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1a97646.1d7bf9c",
+ "5710c473.bb38cc"
+ ]
+ ]
+ },
+ {
+ "id": "1a97646.1d7bf9c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 774.5339660644531,
+ "y": 6356.319892883301,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7fa41968.bb5ec8"
+ ]
+ ]
+ },
+ {
+ "id": "5710c473.bb38cc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 766.9626007080078,
+ "y": 6314.819912910461,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7fa41968.bb5ec8"
+ ]
+ ]
+ },
+ {
+ "id": "7fa41968.bb5ec8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 942.5592803955078,
+ "y": 6334.750367164612,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "eb23793e.28b0d",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "eb23793e.28b0d",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error doing PUT of vnf-data\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1148.2735900878906,
+ "y": 6300.464484214783,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9ec4fd36.2e31c8",
+ "type": "set",
+ "name": "set so.response-code = 200",
+ "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />",
+ "comments": "",
+ "x": 498.09376525878906,
+ "y": 6477.500561714172,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "5369940c.e48364",
+ "type": "set",
+ "name": "Initialize SO 500 reponse params",
+ "xml": "<set>\n<parameter name=\"so.ack-final-indicator\" value=\"Y\" />\n<parameter name=\"so.response-code\" value=\"500\" />\n<parameter name=\"so.notification-url\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`\" />\n<parameter name=\"so.svc-request-id\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`\" />\n<parameter name=\"so.service-type\" value=\"`$vnf-topology-operation-input.service-information.subscription-service-type`\" />\n<parameter name=\"so.service-instance-id\" value=\"`$vnf-topology-operation-input.service-information.service-instance-id`\" />\n",
+ "comments": "",
+ "x": 595.7605819702148,
+ "y": 313.9549217224121,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2eff60b0.82a368",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2278.2909622192383,
+ "y": 3792.151798248291,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d8dc3738.9ff7d",
+ "type": "set",
+ "name": "set so.reponse-code = 200",
+ "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
+ "comments": "",
+ "x": 1238.8462142944336,
+ "y": 888.2629871368408,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2209a27.51db7de",
+ "type": "set",
+ "name": "set variables for deleting name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
+ "comments": "",
+ "x": 2225.096290588379,
+ "y": 3691.040738105774,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8cff46f6.b77",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2322.66756439209,
+ "y": 3741.1830978393555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5ac8760f.3c13c",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4057.0410079956055,
+ "y": 5615.346151351929,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "45d48b66.a8078c",
+ "type": "set",
+ "name": "set variables for deleting name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
+ "comments": "",
+ "x": 4003.846336364746,
+ "y": 5514.235091209412,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "f7795356.cb57f8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4101.417610168457,
+ "y": 5564.377450942993,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fef2b74e.207f2",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2286.2076263427734,
+ "y": 6596.319822311401,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5e0caa6d.e903f4",
+ "type": "set",
+ "name": "set variables for deleting name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
+ "comments": "",
+ "x": 2229.262924194336,
+ "y": 6495.2088985443115,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "fcbc941a.75b4b8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2326.834197998047,
+ "y": 6545.351258277893,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6ffa4d06.cd8f6c",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2118.7077407836914,
+ "y": 792.8462972640991,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "85f543a5.3e0c48",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3242.457305908203,
+ "y": 1868.596351146698,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "82edd673.f84e28",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2894.957359313965,
+ "y": 2283.346435546875,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1fec3768.f512f1",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 562.5963668823242,
+ "y": 6531.874531745911,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "61c39fe5.7ecd2",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1310.8462448120117,
+ "y": 937.0129909515381,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ce39ee80.3e9ff",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 2000.096290588379,
+ "y": 843.2629833221436,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "5d5d1ee3.ba096",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 3123.84627532959,
+ "y": 1912.8463134765625,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d16813f7.4f256",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 2778.84627532959,
+ "y": 2331.596435546875,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "e06e50cf.f6e82",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 2158.846424102783,
+ "y": 3839.929880142212,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "149b2fa5.4d0cf8",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 3939.81844329834,
+ "y": 5665.06884765625,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "ae834aa6.55d6c",
+ "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-message`\" />\n",
+ "comments": "",
+ "x": 2166.0686569213867,
+ "y": 6643.263185501099,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "4ba8fd3f.c818fc",
+ "type": "execute",
+ "name": "generate vnf URL (sub service-instance-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.vnf-assign`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.service-topology.service-topology-identifier.service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 551.3463516235352,
+ "y": 6138.542016029358,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d2d8ec6e.e92468",
+ "type": "execute",
+ "name": "generate vnf URL (sub vnf-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.vnf.url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 506.34627532958984,
+ "y": 6189.969970703125,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2957e806.869ab",
+ "type": "set",
+ "name": "copy vnf data",
+ "xml": "<set>\n<parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />\n",
+ "comments": "",
+ "x": 452.2392349243164,
+ "y": 6237.827503204346,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "bb434916.4ddfd",
+ "type": "comment",
+ "name": "'New' version of DG, called for flows where SO expects async response (so-bpmn-infra)",
+ "info": "",
+ "comments": "",
+ "x": 565,
+ "y": 93,
+ "z": "652cf04d.917e78",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.json
new file mode 100644
index 00000000..ccb31485
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.json
@@ -0,0 +1,5076 @@
+[
+ {
+ "id": "68a2ca98.9f9ad4",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 131,
+ "y": 97,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b3005114.46b4"
+ ]
+ ]
+ },
+ {
+ "id": "b3005114.46b4",
+ "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": 246.28570556640625,
+ "y": 138.9047794342041,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9df64b25.dd612"
+ ]
+ ]
+ },
+ {
+ "id": "9df64b25.dd612",
+ "type": "method",
+ "name": "method vnf-topology-operation-assign-sync",
+ "xml": "<method rpc='vnf-topology-operation-assign-sync' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 219.09530639648438,
+ "y": 181.66666316986084,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "71c37da.ca45504"
+ ]
+ ]
+ },
+ {
+ "id": "a437c9a1.ecb588",
+ "type": "comment",
+ "name": "vnf-topology-operation-assign-sync",
+ "info": "",
+ "comments": "",
+ "x": 498.01153564453125,
+ "y": 20,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b64fdf51.475e6",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 517.3809509277344,
+ "y": 330.14283180236816,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e0cef711.07db28",
+ "83a11a05.d1ae6"
+ ]
+ ]
+ },
+ {
+ "id": "e0cef711.07db28",
+ "type": "outcome",
+ "name": "CreateVnfInstance",
+ "xml": "<outcome value='CreateVnfInstance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 771.0952453613281,
+ "y": 307.2857131958008,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1ae2ebb5.48fe8c"
+ ]
+ ]
+ },
+ {
+ "id": "83a11a05.d1ae6",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 733.0952110290527,
+ "y": 353.0000410079956,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "62d8946f.abc51c"
+ ]
+ ]
+ },
+ {
+ "id": "1ae2ebb5.48fe8c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 955.9523735046387,
+ "y": 307.2857427597046,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "62d8946f.abc51c",
+ "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=\"If svc-action is 'assign' then request-action must be 'CreateVnfInstance'\" />\n",
+ "comments": "",
+ "x": 973.0952186584473,
+ "y": 352.9999990463257,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "aefac3f0.23ec18",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 188.73814392089844,
+ "y": 3379.0238666534424,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "262b86d7.63add2",
+ "b5d1933a.895ac",
+ "7fb3ca84.c2b9f4",
+ "2c8b9159.a537a6",
+ "784bc6dd.9f30b8",
+ "130edd17.8e3adb",
+ "d0683c56.880d08",
+ "b5d09f96.ee588",
+ "80f569c8.42ebd",
+ "64d293a9.e3132c",
+ "495cb896.1a51b",
+ "93b7d995.70383",
+ "446bb70b.d44dc",
+ "6a8ad94c.f3e7e8",
+ "a28166da.a237f8",
+ "626d1b8e.d0accc",
+ "cd35b6fb.34c568",
+ "b931907d.b30a08",
+ "f455bc8c.50b508",
+ "968e0675.5c2c38",
+ "1aa28b1b.cad405",
+ "3368c7e5.1fd09",
+ "70a29720.d1a208",
+ "313ffbab.c11cec",
+ "4ddaa8b9.ea6108",
+ "e672ed3d.7fae28",
+ "ea6f7aeb.38755",
+ "3175fdda.28a8fa",
+ "51bff44c.19d854",
+ "16cb3af3.980cad",
+ "4394124c.44d794",
+ "2407628e.2ee6be",
+ "a323fa5.3a8dc88",
+ "fa6296d4.7da71"
+ ]
+ ]
+ },
+ {
+ "id": "4603d416.c13b14",
+ "type": "get-resource",
+ "name": "get-resource VF_MODEL",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 529.7142562866211,
+ "y": 421.285701751709,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d2e0fe86.f6031",
+ "d496667f.88329"
+ ]
+ ]
+ },
+ {
+ "id": "21d8f539.b04a8a",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n",
+ "comments": "",
+ "x": 971.1427345275879,
+ "y": 444.7141876220703,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d2e0fe86.f6031",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 730.4999542236328,
+ "y": 401.6665391921997,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b84fe458.594a9"
+ ]
+ ]
+ },
+ {
+ "id": "d496667f.88329",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 739.0713844299316,
+ "y": 445.9522523880005,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "21d8f539.b04a8a"
+ ]
+ ]
+ },
+ {
+ "id": "b84fe458.594a9",
+ "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 reading VF_MODEL table\" />\n",
+ "comments": "",
+ "x": 970.4999351501465,
+ "y": 399.80944633483887,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "262b86d7.63add2",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 563.3809204101562,
+ "y": 1172.238136291504,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "170fc08c.20c9bf",
+ "1b92a587.ab61da"
+ ]
+ ]
+ },
+ {
+ "id": "170fc08c.20c9bf",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 789.0952491760254,
+ "y": 1139.3809242248535,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "75a9ee97.0539e8"
+ ]
+ ]
+ },
+ {
+ "id": "75a9ee97.0539e8",
+ "type": "set",
+ "name": "set vnf-index=0",
+ "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
+ "comments": "",
+ "x": 953.3809700012207,
+ "y": 1138.3810024261475,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "1b92a587.ab61da",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 790.523811340332,
+ "y": 1203.666742324829,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7e74978.394e568"
+ ]
+ ]
+ },
+ {
+ "id": "e0443834.bed6f8",
+ "type": "set",
+ "name": "set vnf-index = vnf_length",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
+ "comments": "",
+ "x": 1129.3809661865234,
+ "y": 1181.9524307250977,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "12da173.76480e9",
+ "type": "for",
+ "name": "for each existing VNF",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1114.8094787597656,
+ "y": 1227.9523696899414,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3f1d0bbb.d9c134"
+ ]
+ ]
+ },
+ {
+ "id": "7e74978.394e568",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 926.2380714416504,
+ "y": 1203.6667079925537,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e0443834.bed6f8",
+ "12da173.76480e9"
+ ]
+ ]
+ },
+ {
+ "id": "3f1d0bbb.d9c134",
+ "type": "switchNode",
+ "name": "switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1469.0952453613281,
+ "y": 1227.5238494873047,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "fc86eb00.db8fd"
+ ]
+ ]
+ },
+ {
+ "id": "fc86eb00.db8fd",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1763.3810005187988,
+ "y": 1227.0953340530396,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ddc96b74.6dda5"
+ ]
+ ]
+ },
+ {
+ "id": "ddc96b74.6dda5",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists'`\" />\n",
+ "comments": "",
+ "x": 1911.9523620605469,
+ "y": 1227.0952816009521,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "567844bc.d79374",
+ "type": "comment",
+ "name": "make sure this VNF doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1456.2379760742188,
+ "y": 1185.0952796936035,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b5d1933a.895ac",
+ "type": "set",
+ "name": "set vnf-topology data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n",
+ "comments": "",
+ "x": 529.0952033996582,
+ "y": 1703.9049034118652,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "7fb3ca84.c2b9f4",
+ "type": "switchNode",
+ "name": "switch input vnf-name",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 541.5952224731445,
+ "y": 2066.0239610671997,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f66a80dc.7487a8",
+ "aabbb10c.1ba08"
+ ]
+ ]
+ },
+ {
+ "id": "2c8b9159.a537a6",
+ "type": "get-resource",
+ "name": "get-resource cloud region",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\n\t\t depth='all'\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 573.738166809082,
+ "y": 2962.023696899414,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "fa77ec84.cfd948",
+ "d2b50e19.23138"
+ ]
+ ]
+ },
+ {
+ "id": "d2b50e19.23138",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 798.9843597412109,
+ "y": 2980.1745529174805,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bca359aa.ea657"
+ ]
+ ]
+ },
+ {
+ "id": "d8746dc5.16b6a8",
+ "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 retrieving cloud region from AAI\" />\n",
+ "comments": "",
+ "x": 1100.6510314941406,
+ "y": 2980.174570083618,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "fa77ec84.cfd948",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 807.912956237793,
+ "y": 2938.460286140442,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "de36732.02f1d9"
+ ]
+ ]
+ },
+ {
+ "id": "267c8333.b6b41c",
+ "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=\"Cloud region not found in AAI\" />\n",
+ "comments": "",
+ "x": 1100.9289321899414,
+ "y": 2937.765844345093,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "784bc6dd.9f30b8",
+ "type": "get-resource",
+ "name": "get-resource VF_TO_NETWORK_ROLE_MAPPING",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-network-role-mapping[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 638.9762496948242,
+ "y": 3273.071216583252,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b35aa70d.9171b",
+ "a87731d3.ac1c58"
+ ]
+ ]
+ },
+ {
+ "id": "b35aa70d.9171b",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 934.7619209289551,
+ "y": 3251.7853813171387,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "29b9ea01.3157fe"
+ ]
+ ]
+ },
+ {
+ "id": "a87731d3.ac1c58",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 943.3333511352539,
+ "y": 3296.0710945129395,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "73b88fba.e9b14"
+ ]
+ ]
+ },
+ {
+ "id": "9f2c8e1d.bc9d48",
+ "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 reading VF_TO_NETWORK_ROLE_MAPPING table\" />\n",
+ "comments": "",
+ "x": 1251.428544998169,
+ "y": 3251.5951137542725,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "7818536.37f0dac",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1046.5716552734375,
+ "y": 4016.3804264068604,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bc29a717.b4dae8",
+ "3d503c9c.832644",
+ "35a5b4f7.7797ec",
+ "852ecf97.3adc68",
+ "7188a6e4.ef2cc",
+ "224ee4c1.326304",
+ "d4a87018.ef3a9",
+ "85e069bd.2867e",
+ "ddb641a.0cdf6c"
+ ]
+ ]
+ },
+ {
+ "id": "35a5b4f7.7797ec",
+ "type": "get-resource",
+ "name": "get-resource l3-network",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"l3-networks\" \n\t\tkey=\"l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role\"\n pfx='aai.l3-network' local-only='false'\n>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1303.4287300109863,
+ "y": 3425.3330307006836,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bae8c678.c02cc",
+ "34b7ef3.10b4a1"
+ ]
+ ]
+ },
+ {
+ "id": "34b7ef3.10b4a1",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1507.4764442443848,
+ "y": 3447.4758701324463,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ce329189.366548"
+ ]
+ ]
+ },
+ {
+ "id": "47e87554.0101b4",
+ "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 retrieving l3-network from AAI\" />\n",
+ "comments": "",
+ "x": 1822.476474761963,
+ "y": 3447.8092136383057,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "bae8c678.c02cc",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1516.4050407409668,
+ "y": 3405.7616033554077,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f8b0e31a.69846"
+ ]
+ ]
+ },
+ {
+ "id": "3ad691fc.ce86ce",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No active l3-network found in AAI with cloud_region_id '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '\n + $db.vf-network-role-mapping[$network-index].network-role`\" />\n",
+ "comments": "",
+ "x": 1821.087670326233,
+ "y": 3406.7337398529053,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "bc29a717.b4dae8",
+ "type": "set",
+ "name": "set vnf-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\n value='`$db.vf-network-role-mapping[$role-index].network-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\n value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\n value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\n value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\n value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\n",
+ "comments": "",
+ "x": 1292.6193199157715,
+ "y": 3912.3332738876343,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "80f569c8.42ebd",
+ "type": "for",
+ "name": "for each cloud-region availability zone",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 513.000358581543,
+ "y": 5159.452251434326,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "eb0700ec.359b5"
+ ]
+ ]
+ },
+ {
+ "id": "3a33cdc9.d2b98a",
+ "type": "set",
+ "name": "set availability-zone",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\n value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\n",
+ "comments": "",
+ "x": 974.6670417785645,
+ "y": 5128.785665512085,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "64d293a9.e3132c",
+ "type": "set",
+ "name": "set vnf-parameters-data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n",
+ "comments": "",
+ "x": 472.6192855834961,
+ "y": 5009.404611587524,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "817f795f.7d9e58",
+ "type": "save",
+ "name": "save generic-vnf l3-network relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 939.1908187866211,
+ "y": 5303.214464187622,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "528a3002.e9b57",
+ "89b44b94.d5d48"
+ ]
+ ]
+ },
+ {
+ "id": "446bb70b.d44dc",
+ "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": 432.4288330078125,
+ "y": 5768.832854270935,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "93b7d995.70383",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 522.2422790527344,
+ "y": 5671.170334815979,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d0683c56.880d08",
+ "type": "for",
+ "name": "for each network-role",
+ "xml": "<for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 506.571590423584,
+ "y": 3989.7140951156616,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f3f529c4.6b12c"
+ ]
+ ]
+ },
+ {
+ "id": "130edd17.8e3adb",
+ "type": "set",
+ "name": "set network-index = 0",
+ "xml": "<set>\n<parameter name='network-index' value='0' />\n",
+ "comments": "",
+ "x": 541.4047470092773,
+ "y": 3327.119010925293,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3d503c9c.832644",
+ "type": "set",
+ "name": "increment network-index",
+ "xml": "<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n",
+ "comments": "",
+ "x": 1274.6193084716797,
+ "y": 4960.09521484375,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b5d09f96.ee588",
+ "type": "set",
+ "name": "set vnf-network_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\n value='`$network-index`' />\n",
+ "comments": "",
+ "x": 471.4763717651367,
+ "y": 4959.404655456543,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "495cb896.1a51b",
+ "type": "set",
+ "name": "copy input data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n",
+ "comments": "",
+ "x": 437.7621078491211,
+ "y": 5618.8331661224365,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "6a8ad94c.f3e7e8",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 462.1907272338867,
+ "y": 5302.214380264282,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f4c1e324.b2d9f8"
+ ]
+ ]
+ },
+ {
+ "id": "f4c1e324.b2d9f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 665.8573684692383,
+ "y": 5302.214341163635,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "817f795f.7d9e58"
+ ]
+ ]
+ },
+ {
+ "id": "a28166da.a237f8",
+ "type": "set",
+ "name": "set new vnf_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n",
+ "comments": "",
+ "x": 512.0238418579102,
+ "y": 1224.2620267868042,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "626d1b8e.d0accc",
+ "type": "for",
+ "name": "for each cloud-region relationship",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 586.5952911376953,
+ "y": 3049.2618684768677,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5af7d118.38ea4"
+ ]
+ ]
+ },
+ {
+ "id": "5af7d118.38ea4",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 834.2738342285156,
+ "y": 3049.0117979049683,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bcf1a4f2.c60d2"
+ ]
+ ]
+ },
+ {
+ "id": "bcf1a4f2.c60d2",
+ "type": "outcome",
+ "name": "complex",
+ "xml": "<outcome value='complex'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1003.7381553649902,
+ "y": 3048.4046201705933,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "919a9da7.1f7448"
+ ]
+ ]
+ },
+ {
+ "id": "ed342eb3.35926",
+ "type": "set",
+ "name": "set aic-clli",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
+ "comments": "",
+ "x": 1324.4524536132812,
+ "y": 3048.071277618408,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "cd35b6fb.34c568",
+ "type": "switchNode",
+ "name": "switch aic-clli",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 519.6429176330566,
+ "y": 3162.357000350952,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9ad55fa5.5100e"
+ ]
+ ]
+ },
+ {
+ "id": "9ad55fa5.5100e",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 667.7857513427734,
+ "y": 3162.3569831848145,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "17e0c5d6.6b5e32"
+ ]
+ ]
+ },
+ {
+ "id": "4c53fd4b.741ad4",
+ "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=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "x": 958.2619438171387,
+ "y": 3163.5950288772583,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5ff9dc5f.b0154c",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n",
+ "comments": "",
+ "x": 946.0954627990723,
+ "y": 2521.2142572402954,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "6c9db393.4e1bcc",
+ "type": "for",
+ "name": "for each l3-network",
+ "xml": "<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1412.8812980651855,
+ "y": 3736.90465259552,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5b55e55c.75e71c"
+ ]
+ ]
+ },
+ {
+ "id": "d845e519.b3b708",
+ "type": "switchNode",
+ "name": "switch orchestration-status",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1831.4524688720703,
+ "y": 3671.4761171340942,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "350f54c6.4f17c4",
+ "e8af3b91.a0a3f",
+ "53568d6f.73782c",
+ "31601472.8b3a34",
+ "8c589650.804078"
+ ]
+ ]
+ },
+ {
+ "id": "350f54c6.4f17c4",
+ "type": "outcome",
+ "name": "Pending Delete",
+ "xml": "<outcome value='Pending Delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2072.119338989258,
+ "y": 3713.1426210403442,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1031ff3c.e50d89"
+ ]
+ ]
+ },
+ {
+ "id": "e8af3b91.a0a3f",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2044.9764785766602,
+ "y": 3764.142601966858,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "81380f6b.9e4dd8"
+ ]
+ ]
+ },
+ {
+ "id": "1327057d.754d53",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2580.6907806396484,
+ "y": 3709.380518913269,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ae878b3e.96dcc8",
+ "6cf05edd.c5677"
+ ]
+ ]
+ },
+ {
+ "id": "81380f6b.9e4dd8",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2214.976390838623,
+ "y": 3763.713978767395,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "62e527d2.1d70b"
+ ]
+ ]
+ },
+ {
+ "id": "ae878b3e.96dcc8",
+ "type": "outcome",
+ "name": "cloud-region",
+ "xml": "<outcome value='cloud-region'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2754.9765663146973,
+ "y": 3732.285343170166,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d451f3c0.15adf8"
+ ]
+ ]
+ },
+ {
+ "id": "d451f3c0.15adf8",
+ "type": "for",
+ "name": "for each relationship data",
+ "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2952.1192665100098,
+ "y": 3732.7138109207153,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "452b836d.c38914"
+ ]
+ ]
+ },
+ {
+ "id": "452b836d.c38914",
+ "type": "switchNode",
+ "name": "switch relationship-key",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3183.547866821289,
+ "y": 3732.285185813904,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "520ded75.9767fc"
+ ]
+ ]
+ },
+ {
+ "id": "520ded75.9767fc",
+ "type": "outcome",
+ "name": "cloud-region.cloud-region-id",
+ "xml": "<outcome value='cloud-region.cloud-region-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3424.976432800293,
+ "y": 3732.2852821350098,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "37116d50.cf56a2"
+ ]
+ ]
+ },
+ {
+ "id": "37116d50.cf56a2",
+ "type": "switchNode",
+ "name": "switch relationship-value == cloud-region-id",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3729.262351989746,
+ "y": 3732.1423377990723,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a2bcc8dd.1057e8"
+ ]
+ ]
+ },
+ {
+ "id": "a2bcc8dd.1057e8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3434.2624893188477,
+ "y": 3849.785291671753,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "47b616fe.13117"
+ ]
+ ]
+ },
+ {
+ "id": "852ecf97.3adc68",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1249.0954704284668,
+ "y": 3668.19029712677,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6c9db393.4e1bcc",
+ "721426a5.cd4d3"
+ ]
+ ]
+ },
+ {
+ "id": "7188a6e4.ef2cc",
+ "type": "set",
+ "name": "set l3-network-id = -1",
+ "xml": "<set>\n<parameter name='l3-network-id' value='-1' />\n",
+ "comments": "",
+ "x": 1293.4288291931152,
+ "y": 3540.0949506759644,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "47b616fe.13117",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3580.0954666137695,
+ "y": 3849.2614002227783,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e7097d49.1fec",
+ "55b96b73.a3fe2c",
+ "d5b2ed44.4c2308"
+ ]
+ ]
+ },
+ {
+ "id": "e7097d49.1fec",
+ "type": "set",
+ "name": "set l3-network-id = this l3-network",
+ "xml": "<set>\n<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n",
+ "comments": "",
+ "x": 3815.333469390869,
+ "y": 3811.404369354248,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "224ee4c1.326304",
+ "type": "switchNode",
+ "name": "switch l3-network-id",
+ "xml": "<switch test='`$l3-network-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1290.42875289917,
+ "y": 3863.761992454529,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "16bd9f79.c62dc9"
+ ]
+ ]
+ },
+ {
+ "id": "16bd9f79.c62dc9",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1460.4287033081055,
+ "y": 3863.761748313904,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "65b6c831.c5485"
+ ]
+ ]
+ },
+ {
+ "id": "93dfd24c.069538",
+ "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=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
+ "comments": "",
+ "x": 1743.7620658874512,
+ "y": 3863.7619972229004,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b931907d.b30a08",
+ "type": "switchNode",
+ "name": "switch input model-invariant-uuid",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 589.9525375366211,
+ "y": 2544.038701057434,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7fb229b6.3c85c8",
+ "82f8f081.0af77"
+ ]
+ ]
+ },
+ {
+ "id": "7fb229b6.3c85c8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.6192092895508,
+ "y": 2521.181664466858,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5ff9dc5f.b0154c"
+ ]
+ ]
+ },
+ {
+ "id": "82f8f081.0af77",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 797.0478057861328,
+ "y": 2565.467255592346,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1c3ddf94.b28f8"
+ ]
+ ]
+ },
+ {
+ "id": "1c3ddf94.b28f8",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n",
+ "comments": "",
+ "x": 951.3335418701172,
+ "y": 2564.895827770233,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5b6749b4.40c77",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n",
+ "comments": "",
+ "x": 947.0477333068848,
+ "y": 2609.7529335021973,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f455bc8c.50b508",
+ "type": "switchNode",
+ "name": "switch input model-uuid",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 562.5715560913086,
+ "y": 2632.577438354492,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "cd34a0af.96b0b",
+ "161c9d30.1c1f83"
+ ]
+ ]
+ },
+ {
+ "id": "cd34a0af.96b0b",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 796.5715293884277,
+ "y": 2609.7203702926636,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5b6749b4.40c77"
+ ]
+ ]
+ },
+ {
+ "id": "161c9d30.1c1f83",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 798.0001258850098,
+ "y": 2654.005961418152,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ddf4a9f0.bb3bb"
+ ]
+ ]
+ },
+ {
+ "id": "ddf4a9f0.bb3bb",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n",
+ "comments": "",
+ "x": 952.2858619689941,
+ "y": 2653.434533596039,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "6dacecbd.5288fc",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n",
+ "comments": "",
+ "x": 944.1906661987305,
+ "y": 2698.610140800476,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "968e0675.5c2c38",
+ "type": "switchNode",
+ "name": "switch input model-version",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 570.714427947998,
+ "y": 2721.434585571289,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "8880dbfd.516398",
+ "c5886381.b5bd18"
+ ]
+ ]
+ },
+ {
+ "id": "8880dbfd.516398",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 793.714412689209,
+ "y": 2698.5775480270386,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6dacecbd.5288fc"
+ ]
+ ]
+ },
+ {
+ "id": "c5886381.b5bd18",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.143009185791,
+ "y": 2742.863139152527,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3a72fbc9.bc28e4"
+ ]
+ ]
+ },
+ {
+ "id": "3a72fbc9.bc28e4",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n",
+ "comments": "",
+ "x": 949.4287452697754,
+ "y": 2742.291711330414,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3807e625.baedda",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n",
+ "comments": "",
+ "x": 944.1906661987305,
+ "y": 2785.752963066101,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "1aa28b1b.cad405",
+ "type": "switchNode",
+ "name": "switch input model-name",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 565.714427947998,
+ "y": 2808.577407836914,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "8c87d49f.d1134",
+ "f0452bd2.1ea45"
+ ]
+ ]
+ },
+ {
+ "id": "8c87d49f.d1134",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 793.714412689209,
+ "y": 2785.7203702926636,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3807e625.baedda"
+ ]
+ ]
+ },
+ {
+ "id": "f0452bd2.1ea45",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.143009185791,
+ "y": 2830.005961418152,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "19788717.fc0ab9"
+ ]
+ ]
+ },
+ {
+ "id": "19788717.fc0ab9",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n",
+ "comments": "",
+ "x": 949.4287452697754,
+ "y": 2829.434533596039,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "1031ff3c.e50d89",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2225.3334312438965,
+ "y": 3713.9194984436035,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8c589650.804078",
+ "type": "outcome",
+ "name": "PendingDelete",
+ "xml": "<outcome value='PendingDelete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2070.000072479248,
+ "y": 3668.919412612915,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d760cdd9.ad965"
+ ]
+ ]
+ },
+ {
+ "id": "d760cdd9.ad965",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2225.2141647338867,
+ "y": 3669.6962900161743,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "31601472.8b3a34",
+ "type": "outcome",
+ "name": "Pending Create",
+ "xml": "<outcome value='Pending Create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2072.000072479248,
+ "y": 3625.585916519165,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4a882a52.6c0e4c"
+ ]
+ ]
+ },
+ {
+ "id": "4a882a52.6c0e4c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2225.2141647338867,
+ "y": 3626.3627939224243,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "53568d6f.73782c",
+ "type": "outcome",
+ "name": "PendingCreate",
+ "xml": "<outcome value='PendingCreate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2072.000072479248,
+ "y": 3582.25266456604,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5220610c.a8f22"
+ ]
+ ]
+ },
+ {
+ "id": "5220610c.a8f22",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2225.2141647338867,
+ "y": 3583.0295419692993,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b66dbfec.08d64",
+ "type": "for",
+ "name": "for each A&AI subnet",
+ "xml": "<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1758.3810997009277,
+ "y": 4002.966833591461,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a874eb32.f6f168"
+ ]
+ ]
+ },
+ {
+ "id": "e13df041.93d998",
+ "type": "set",
+ "name": "set subnet_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\n",
+ "comments": "",
+ "x": 1747.047664642334,
+ "y": 4047.9669156074524,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3368c7e5.1fd09",
+ "type": "set",
+ "name": "set availability-zones.max-count and length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\n value='`$db.vf-model.avail-zone-max-count`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\n value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\n",
+ "comments": "",
+ "x": 532.666862487793,
+ "y": 5247.467719078064,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "70a29720.d1a208",
+ "type": "set",
+ "name": "set vnf-name",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\n value='`$tmp.vnf-name`' />\n",
+ "comments": "",
+ "x": 526.8333511352539,
+ "y": 2478.086464881897,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "313ffbab.c11cec",
+ "type": "save",
+ "name": "update generic-vnf",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vnf-name\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`\" />\n<parameter name=\"prov-status\" value=\"PREPROV\" />\n<!-- <parameter name=\"operational-status\" value=\"out-of-service-path\" /> -->\n<parameter name=\"equipment-role\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`\" />\n<parameter name=\"model-invariant-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"selflink\" value=\"`$vnf-object-path`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 453.00012969970703,
+ "y": 5457.13348197937,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3ec43c9e.01f064",
+ "7b2826bc.a116b8"
+ ]
+ ]
+ },
+ {
+ "id": "4ddaa8b9.ea6108",
+ "type": "set",
+ "name": "set vnf-object-path",
+ "xml": "<set>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
+ "comments": "",
+ "x": 453.0001678466797,
+ "y": 5387.133964538574,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "e672ed3d.7fae28",
+ "type": "set",
+ "name": "set vnf-id",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n",
+ "comments": "",
+ "x": 515.1666946411133,
+ "y": 2429.753007888794,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ea6f7aeb.38755",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnf.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 427.3335609436035,
+ "y": 5717.610103607178,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "902bb36e.02d208",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "x": 1489.6669731140137,
+ "y": 5323.8003787994385,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "528a3002.e9b57",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1189.0241737365723,
+ "y": 5280.753039360046,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6d66a46f.8f258c"
+ ]
+ ]
+ },
+ {
+ "id": "89b44b94.d5d48",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1197.595603942871,
+ "y": 5325.038752555847,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7cc448d4.16c81"
+ ]
+ ]
+ },
+ {
+ "id": "2359ac2a.3e0f14",
+ "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 generic-vnf in AAI\" />\n",
+ "comments": "",
+ "x": 1492.357566833496,
+ "y": 5280.56258392334,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "8634857d.82a3b8",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "x": 924.6669082641602,
+ "y": 5477.13391494751,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3ec43c9e.01f064",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 627.3574600219727,
+ "y": 5435.753077507019,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d9ff6d90.7eee28"
+ ]
+ ]
+ },
+ {
+ "id": "7b2826bc.a116b8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 635.9288902282715,
+ "y": 5480.03879070282,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "33df4ca0.132d64"
+ ]
+ ]
+ },
+ {
+ "id": "73b9cad.4267434",
+ "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 selflink in generic-vnf in AAI\" />\n",
+ "comments": "",
+ "x": 927.3575019836426,
+ "y": 5433.896120071411,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3175fdda.28a8fa",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n",
+ "comments": "",
+ "x": 578.5000152587891,
+ "y": 2881.419611930847,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "959170f0.d10dc",
+ "type": "execute",
+ "name": "split related-link",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1343.8333129882812,
+ "y": 3002.8331956863403,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "919a9da7.1f7448",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1163.500015258789,
+ "y": 3049.4999837875366,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "959170f0.d10dc",
+ "ed342eb3.35926",
+ "a6da362b.ee5178"
+ ]
+ ]
+ },
+ {
+ "id": "a6da362b.ee5178",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1313.4999771118164,
+ "y": 3092.8332805633545,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "eb0700ec.359b5",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 764.6668014526367,
+ "y": 5158.547835350037,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3a33cdc9.d2b98a",
+ "ddd1b4bb.1f863"
+ ]
+ ]
+ },
+ {
+ "id": "ddd1b4bb.1f863",
+ "type": "save",
+ "name": "save generic-vnf availability-zone relationship",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"availability-zone\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.cloud-region.cloud-owner`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"availability-zone.availability-zone-name\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1058.0001907348633,
+ "y": 5181.881289482117,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2d7b0f8a.557578",
+ "e85b6745.2ad308"
+ ]
+ ]
+ },
+ {
+ "id": "6b436e6b.f83b58",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "x": 1615.1428527832031,
+ "y": 5205.800618171692,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "2d7b0f8a.557578",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1322.8334426879883,
+ "y": 5162.753111839294,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "27a776e9.fbab3a"
+ ]
+ ]
+ },
+ {
+ "id": "e85b6745.2ad308",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1331.404872894287,
+ "y": 5207.038825035095,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f9343030.e19f98"
+ ]
+ ]
+ },
+ {
+ "id": "ff4464bf.dffb6",
+ "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 generic-vnf in AAI\" />\n",
+ "comments": "",
+ "x": 1617.8334465026855,
+ "y": 5162.562823295593,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "73b88fba.e9b14",
+ "type": "set",
+ "name": "set mapping rows to 0",
+ "xml": "<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n",
+ "comments": "",
+ "x": 1137.3094863891602,
+ "y": 3295.6905822753906,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "51bff44c.19d854",
+ "type": "switchNode",
+ "name": "switch AAI availability-zone_length",
+ "xml": "<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 505.38108825683594,
+ "y": 5062.357421875,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7fb16597.60b6c4"
+ ]
+ ]
+ },
+ {
+ "id": "7fb16597.60b6c4",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 723.952507019043,
+ "y": 5061.928831100464,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4e3b7f46.0e5608"
+ ]
+ ]
+ },
+ {
+ "id": "2be48f2.fe16cf",
+ "type": "set",
+ "name": "set availability-zone_length to 0",
+ "xml": "<set>\n<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\n",
+ "comments": "",
+ "x": 1325.3811492919922,
+ "y": 5080.500068664551,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "4e3b7f46.0e5608",
+ "type": "switchNode",
+ "name": "switch AZ max count > 0",
+ "xml": "<switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 912.5239791870117,
+ "y": 5062.357142925262,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b4f1f3f1.16192",
+ "c45624a2.82a55"
+ ]
+ ]
+ },
+ {
+ "id": "b4f1f3f1.16192",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1115.3810863494873,
+ "y": 5036.642892837524,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "643da192.6cbbb8"
+ ]
+ ]
+ },
+ {
+ "id": "c45624a2.82a55",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1116.8097076416016,
+ "y": 5080.928640365601,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2be48f2.fe16cf"
+ ]
+ ]
+ },
+ {
+ "id": "189b8c3d.25fac4",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No availability zones found in AAI for cloud region '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "x": 1406.8095932006836,
+ "y": 5034.690585136414,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f0fccd2a.ef011",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "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": 525.2857360839844,
+ "y": 203.42858695983887,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f66a80dc.7487a8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 743.6190414428711,
+ "y": 1879.5000114440918,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ac22119.a35ce7"
+ ]
+ ]
+ },
+ {
+ "id": "7385e826.1e20b8",
+ "type": "switchNode",
+ "name": "switch ecomp-naming",
+ "xml": "<switch test='`$db.vf-model.ecomp-generated-naming`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1121.2384300231934,
+ "y": 1780.2144479751587,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "c7848c1b.2755",
+ "63b39cde.16cae4",
+ "79c7d709.311e18"
+ ]
+ ]
+ },
+ {
+ "id": "ac22119.a35ce7",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 889.3335418701172,
+ "y": 1879.5001287460327,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7385e826.1e20b8",
+ "a2a899d6.631ce"
+ ]
+ ]
+ },
+ {
+ "id": "63b39cde.16cae4",
+ "type": "outcome",
+ "name": "N",
+ "xml": "<outcome value='N'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1307.6668167114258,
+ "y": 1780.690574645996,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ced87cfe.6267b"
+ ]
+ ]
+ },
+ {
+ "id": "ced87cfe.6267b",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"No vnf-name was received but ecomp-generated-naming is not Y\" />\n",
+ "comments": "",
+ "x": 1461.9526023864746,
+ "y": 1799.2620191574097,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "c7848c1b.2755",
+ "type": "outcome",
+ "name": "Y",
+ "xml": "<outcome value='Y'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1307.6668090820312,
+ "y": 1739.2620286941528,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a3cf01ba.66ac98"
+ ]
+ ]
+ },
+ {
+ "id": "79c7d709.311e18",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1307.6667556762695,
+ "y": 1823.547706604004,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ced87cfe.6267b"
+ ]
+ ]
+ },
+ {
+ "id": "a3cf01ba.66ac98",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1444.809726715088,
+ "y": 1739.4048957824707,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aabbb10c.1ba08",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 728.8097686767578,
+ "y": 2234.1191873550415,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6314c0d9.140b2"
+ ]
+ ]
+ },
+ {
+ "id": "6314c0d9.140b2",
+ "type": "set",
+ "name": "set tmp.vnf-name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-information.vnf-name`\" />\n",
+ "comments": "",
+ "x": 894.5717315673828,
+ "y": 2232.976457595825,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3beb7057.231e78",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:generate-unique-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1779.643009185791,
+ "y": 1929.261948108673,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "81027dc0.e3c148",
+ "21154e6f.895c62"
+ ]
+ ]
+ },
+ {
+ "id": "81027dc0.e3c148",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2056.7858123779297,
+ "y": 1902.833481311798,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ce9dddcd.2aaf8"
+ ]
+ ]
+ },
+ {
+ "id": "21154e6f.895c62",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2061.5475578308105,
+ "y": 1948.2143921852112,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "262123d3.5f7d2c"
+ ]
+ ]
+ },
+ {
+ "id": "806c7812.c6106",
+ "type": "set",
+ "name": "set variables for generating unique name",
+ "xml": "<set>\n<parameter name='generate-unique-name-input.action' value='ASSIGN' />\n<parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`\" />\n",
+ "comments": "",
+ "x": 1734.6432609558105,
+ "y": 1880.357267856598,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "262123d3.5f7d2c",
+ "type": "set",
+ "name": "set tmp.vnf-name to generated name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\n",
+ "comments": "",
+ "x": 2284.4519538879395,
+ "y": 1947.6904673576355,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ce9dddcd.2aaf8",
+ "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=\"`$generate-unique-name-output.error-message`\" />\n",
+ "comments": "",
+ "x": 2210.3572731018066,
+ "y": 1902.2619910240173,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "a2a899d6.631ce",
+ "type": "switchNode",
+ "name": "switch naming-policy",
+ "xml": "<switch test='`$db.vf-model.naming-policy`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1119.024013519287,
+ "y": 1988.5000648498535,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ed656bab.19a14",
+ "57a640a4.897548"
+ ]
+ ]
+ },
+ {
+ "id": "ed656bab.19a14",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1309.0239448547363,
+ "y": 1909.9286193847656,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "886e4a38.baf3f"
+ ]
+ ]
+ },
+ {
+ "id": "57a640a4.897548",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1309.2621841430664,
+ "y": 2037.3095636367798,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7b7e647a.75f324"
+ ]
+ ]
+ },
+ {
+ "id": "886e4a38.baf3f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1461.8812141418457,
+ "y": 1908.5000858306885,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "806c7812.c6106",
+ "3beb7057.231e78"
+ ]
+ ]
+ },
+ {
+ "id": "e253edf1.811a",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1800.9291381835938,
+ "y": 2053.0239453315735,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "212d48d0.479528",
+ "9de38862.6225"
+ ]
+ ]
+ },
+ {
+ "id": "7b7e647a.75f324",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1463.786033630371,
+ "y": 2037.3095636367798,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a1f5d870.7f1b1",
+ "e253edf1.811a"
+ ]
+ ]
+ },
+ {
+ "id": "a1f5d870.7f1b1",
+ "type": "set",
+ "name": "set variables for generating name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\n<parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />",
+ "comments": "",
+ "x": 1710.929054260254,
+ "y": 2007.3095993995667,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "642508b0.79c448",
+ "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=\"Unable to generate VNF name\" />\n",
+ "comments": "",
+ "x": 2243.786087036133,
+ "y": 2026.880883216858,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "59675eaa.bff9a",
+ "type": "set",
+ "name": "set tmp.vnf-name to generated name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\n",
+ "comments": "",
+ "x": 2322.214656829834,
+ "y": 2071.595185279846,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "cc558d50.a15698",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2005.2854461669922,
+ "y": 2853.6662101745605,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5d8843b.a7451bc",
+ "a7b55ced.0acf5"
+ ]
+ ]
+ },
+ {
+ "id": "a7b55ced.0acf5",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2329.5711517333984,
+ "y": 2880.237741470337,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5d8843b.a7451bc",
+ "type": "set",
+ "name": "set variables for deleting name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
+ "comments": "",
+ "x": 2230.999771118164,
+ "y": 2833.0948123931885,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f6f1f4aa.91ffa",
+ "type": "comment",
+ "name": "Unassign the VNF name",
+ "info": "",
+ "comments": "",
+ "x": 2096.9520950317383,
+ "y": 2773.6663122177124,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "de36732.02f1d9",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 945.2857818603516,
+ "y": 2938.666510105133,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "267c8333.b6b41c",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "bca359aa.ea657",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 943.6190643310547,
+ "y": 2980.3332624435425,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d8746dc5.16b6a8",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "17e0c5d6.6b5e32",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 800.2857360839844,
+ "y": 3161.9998922348022,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4c53fd4b.741ad4",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "29b9ea01.3157fe",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1091.9524230957031,
+ "y": 3251.9998922348022,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9f2c8e1d.bc9d48",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "f8b0e31a.69846",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1651.9524421691895,
+ "y": 3405.9997596740723,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3ad691fc.ce86ce",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "ce329189.366548",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1650.2857246398926,
+ "y": 3447.6665120124817,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "47e87554.0101b4",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "65b6c831.c5485",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1593.619068145752,
+ "y": 3863.6665077209473,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "93dfd24c.069538",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "643da192.6cbbb8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1250.6191101074219,
+ "y": 5035.333201408386,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "189b8c3d.25fac4",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "27a776e9.fbab3a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1470.6191101074219,
+ "y": 5163.333201408386,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ff4464bf.dffb6",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "f9343030.e19f98",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1468.952392578125,
+ "y": 5206.999953746796,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6b436e6b.f83b58",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "6d66a46f.8f258c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1333.9524841308594,
+ "y": 5280.333201408386,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2359ac2a.3e0f14",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "7cc448d4.16c81",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1332.2857666015625,
+ "y": 5323.999953746796,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "902bb36e.02d208",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "d9ff6d90.7eee28",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 780.6191444396973,
+ "y": 5435.3333168029785,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "73b9cad.4267434",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "33df4ca0.132d64",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 778.9524269104004,
+ "y": 5479.000069141388,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "8634857d.82a3b8",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "212d48d0.479528",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2099.095184326172,
+ "y": 2027.952452659607,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "642508b0.79c448"
+ ]
+ ]
+ },
+ {
+ "id": "9de38862.6225",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2103.8569297790527,
+ "y": 2073.33336353302,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "59675eaa.bff9a"
+ ]
+ ]
+ },
+ {
+ "id": "6549374f.d5df9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 754.3332824707031,
+ "y": 1382.9196710586548,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "db3e2bd5.25d1d8",
+ "74dc73bc.f91dbc"
+ ]
+ ]
+ },
+ {
+ "id": "16cb3af3.980cad",
+ "type": "for",
+ "name": "for each instance group id",
+ "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 537.6666297912598,
+ "y": 1383.5863161087036,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6549374f.d5df9"
+ ]
+ ]
+ },
+ {
+ "id": "db3e2bd5.25d1d8",
+ "type": "get-resource",
+ "name": "get-resource instance-group",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"instance-group\" \n\t\tkey=\"instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\"\n pfx='aai.instance-group' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 985.6666412353516,
+ "y": 1306.2530527114868,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "677b47d4.197f1",
+ "4f975206.42b044"
+ ]
+ ]
+ },
+ {
+ "id": "4f975206.42b044",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1199.9128494262695,
+ "y": 1324.4039011001587,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d9bdda6f.0d718"
+ ]
+ ]
+ },
+ {
+ "id": "677b47d4.197f1",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1208.8414459228516,
+ "y": 1282.6896343231201,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1478d3df.88a424"
+ ]
+ ]
+ },
+ {
+ "id": "1478d3df.88a424",
+ "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=\"`'Cannot find instance group id ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in AAI'`\" />\n",
+ "comments": "",
+ "x": 1381.6666564941406,
+ "y": 1280.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d9bdda6f.0d718",
+ "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 retrieving instance-group from AAI\" />\n",
+ "comments": "",
+ "x": 1381.6666564941406,
+ "y": 1324.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "74dc73bc.f91dbc",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.3332977294922,
+ "y": 1454.586368560791,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "63151d66.27336c"
+ ]
+ ]
+ },
+ {
+ "id": "63151d66.27336c",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1172.6667404174805,
+ "y": 1454.5863075256348,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d19c02e6.4b8bc8"
+ ]
+ ]
+ },
+ {
+ "id": "d19c02e6.4b8bc8",
+ "type": "outcome",
+ "name": "collection",
+ "xml": "<outcome value='collection'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1344.3333778381348,
+ "y": 1454.586389541626,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9b35c121.bc33e"
+ ]
+ ]
+ },
+ {
+ "id": "9b35c121.bc33e",
+ "type": "get-resource",
+ "name": "get-resource collection",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"collection\" \n\t\tkey=\"collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\"\n pfx='aai.collection' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1564.3332824707031,
+ "y": 1452.9196510314941,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f9f8813c.08693",
+ "24f587c8.0c75a8",
+ "b6e5c42f.a30fd"
+ ]
+ ]
+ },
+ {
+ "id": "24f587c8.0c75a8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1778.579475402832,
+ "y": 1404.4038400650024,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5ddf9f2b.f357e"
+ ]
+ ]
+ },
+ {
+ "id": "f9f8813c.08693",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1787.508071899414,
+ "y": 1362.6895732879639,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f9dc29da.b3b21"
+ ]
+ ]
+ },
+ {
+ "id": "f9dc29da.b3b21",
+ "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=\"`'Cannot find collection ' +\n $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\n + ' in AAI'`\" />\n",
+ "comments": "",
+ "x": 1944.3332824707031,
+ "y": 1361.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5ddf9f2b.f357e",
+ "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=\"System error retrieving collection from AAI\" />\n",
+ "comments": "",
+ "x": 1944.3332824707031,
+ "y": 1405.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b6e5c42f.a30fd",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1777.6666831970215,
+ "y": 1541.2530164718628,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d656a0a2.00b1e8"
+ ]
+ ]
+ },
+ {
+ "id": "d656a0a2.00b1e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1930.9998245239258,
+ "y": 1540.5863122940063,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "27451716.fec75",
+ "250da88.60119d8",
+ "67857de.8994284",
+ "a686c66d.95e1a8",
+ "ffe952b4.3e93e8"
+ ]
+ ]
+ },
+ {
+ "id": "27451716.fec75",
+ "type": "for",
+ "name": "for each network-instance-group",
+ "xml": "<for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2169.333168029785,
+ "y": 1491.2530603408813,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "540078c7.3e22f"
+ ]
+ ]
+ },
+ {
+ "id": "250da88.60119d8",
+ "type": "set",
+ "name": "set found-network-instance-group to false",
+ "xml": "<set>\n<parameter name='found-network-instance-group' value='false' />\n",
+ "comments": "",
+ "x": 2199.3331298828125,
+ "y": 1444.5864324569702,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "540078c7.3e22f",
+ "type": "switchNode",
+ "name": "network-instance-group-id matches?",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2485.9996795654297,
+ "y": 1491.253059387207,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1359274a.c9e751"
+ ]
+ ]
+ },
+ {
+ "id": "1359274a.c9e751",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2707.666458129883,
+ "y": 1491.2530241012573,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1f76ed63.309293"
+ ]
+ ]
+ },
+ {
+ "id": "1f76ed63.309293",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2837.666488647461,
+ "y": 1491.2531003952026,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a8b95ef5.c774a",
+ "38775c89.04b34c"
+ ]
+ ]
+ },
+ {
+ "id": "a8b95ef5.c774a",
+ "type": "set",
+ "name": "set found-network-instance-group to true",
+ "xml": "<set>\n<parameter name='found-network-instance-group' value='true' />\n",
+ "comments": "",
+ "x": 3070.9996643066406,
+ "y": 1462.9197254180908,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "38775c89.04b34c",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2964.333278656006,
+ "y": 1511.253095626831,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "67857de.8994284",
+ "type": "switchNode",
+ "name": "switch found-network-instance-group",
+ "xml": "<switch test='`$found-network-instance-group`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2180.999786376953,
+ "y": 1541.253041267395,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "8b10053b.c507b8"
+ ]
+ ]
+ },
+ {
+ "id": "8b10053b.c507b8",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2402.666633605957,
+ "y": 1541.2530636787415,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "73628974.41794"
+ ]
+ ]
+ },
+ {
+ "id": "73628974.41794",
+ "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=\"`'Could not find network instance group ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in MD-SAL'`\" />\n",
+ "comments": "",
+ "x": 2549.333206176758,
+ "y": 1539.5863981246948,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "4394124c.44d794",
+ "type": "set",
+ "name": "set tmp.vnf-network-collection_length to 0",
+ "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='0' />\n",
+ "comments": "",
+ "x": 585.9999694824219,
+ "y": 1334.5864477157593,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "a686c66d.95e1a8",
+ "type": "set",
+ "name": "set vnf-network-collection data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\n value='`$aai.instance-group.instance-group-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\n value='`$aai.instance-group.id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\n value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\n value='`$aai.collection.collection-customization-id`' />\n",
+ "comments": "",
+ "x": 2161.0001106262207,
+ "y": 1589.5863771438599,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ffe952b4.3e93e8",
+ "type": "set",
+ "name": "increment tmp.vnf-network-collection_length",
+ "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\n",
+ "comments": "",
+ "x": 2202.666816711426,
+ "y": 1636.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "2407628e.2ee6be",
+ "type": "set",
+ "name": "set vnf-network-collection_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\n value='`$tmp.vnf-network-collection_length`' />\n",
+ "comments": "",
+ "x": 565.1666641235352,
+ "y": 1592.0863971710205,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "7a429165.827b78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 689.6667518615723,
+ "y": 5551.729342460632,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bf4aeb08.2c39a"
+ ]
+ ]
+ },
+ {
+ "id": "a323fa5.3a8dc88",
+ "type": "for",
+ "name": "for each instance group id",
+ "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 473.0000991821289,
+ "y": 5552.395987510681,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7a429165.827b78"
+ ]
+ ]
+ },
+ {
+ "id": "bf4aeb08.2c39a",
+ "type": "save",
+ "name": "save generic-vnf relationship to instance-group",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"instance-group\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/instance-groups/instance-group/'\n + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 973.0000801086426,
+ "y": 5551.253023147583,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1715949a.0a3723",
+ "36f68961.b1e9ee"
+ ]
+ ]
+ },
+ {
+ "id": "62aedcf5.8101fc",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "x": 1529.6667518615723,
+ "y": 5569.586276054382,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "1715949a.0a3723",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1232.3573036193848,
+ "y": 5528.205438613892,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "cd0daf19.9d1e"
+ ]
+ ]
+ },
+ {
+ "id": "36f68961.b1e9ee",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1240.9287338256836,
+ "y": 5572.491151809692,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2487c202.d2179e"
+ ]
+ ]
+ },
+ {
+ "id": "52665799.0d53d",
+ "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 relationship in generic-vnf in AAI\" />\n",
+ "comments": "",
+ "x": 1532.3573532104492,
+ "y": 5526.348539352417,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "cd0daf19.9d1e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1385.6189880371094,
+ "y": 5527.785677909851,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "52665799.0d53d",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "2487c202.d2179e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1383.9522705078125,
+ "y": 5571.4524302482605,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "62aedcf5.8101fc",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "d4a87018.ef3a9",
+ "type": "switchNode",
+ "name": "switch subnet_length",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1294.5714988708496,
+ "y": 3984.3483905792236,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b0edb11e.282bc",
+ "b1855265.5e5398",
+ "5293df59.0d5738"
+ ]
+ ]
+ },
+ {
+ "id": "b0edb11e.282bc",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1467.4286613464355,
+ "y": 3947.2054500579834,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "39976e51.0d3af2"
+ ]
+ ]
+ },
+ {
+ "id": "b1855265.5e5398",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1468.8572311401367,
+ "y": 3985.7766132354736,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "39976e51.0d3af2"
+ ]
+ ]
+ },
+ {
+ "id": "5293df59.0d5738",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1467.428695678711,
+ "y": 4024.3480052948,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4ce6f696.2fb698"
+ ]
+ ]
+ },
+ {
+ "id": "4ce6f696.2fb698",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1588.857250213623,
+ "y": 4024.3482723236084,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b66dbfec.08d64",
+ "e13df041.93d998"
+ ]
+ ]
+ },
+ {
+ "id": "39976e51.0d3af2",
+ "type": "set",
+ "name": "set subnet_length to 0",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='0' />\n",
+ "comments": "",
+ "x": 1660.2858543395996,
+ "y": 3955.7766132354736,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f6f8007e.44c25",
+ "type": "call",
+ "name": "call self-serve-vnf-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1154.9719772338867,
+ "y": 582.5269885063171,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bbf73747.fb38e8"
+ ]
+ ]
+ },
+ {
+ "id": "750a541f.389b9c",
+ "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=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`\" />\n",
+ "comments": "",
+ "x": 1539.0433540344238,
+ "y": 582.5269389152527,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "40830cf7.851d3c",
+ "type": "comment",
+ "name": "SELF-SERVE FORK",
+ "info": "",
+ "comments": "",
+ "x": 885.8413009643555,
+ "y": 604.9792346954346,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "bbf73747.fb38e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1360.2695579528809,
+ "y": 582.0150198936462,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "750a541f.389b9c"
+ ]
+ ]
+ },
+ {
+ "id": "71c37da.ca45504",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 271.0793685913086,
+ "y": 421.87208461761475,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f0fccd2a.ef011",
+ "b64fdf51.475e6",
+ "4603d416.c13b14",
+ "54a690a3.566b7",
+ "2eb275c7.eda4b2",
+ "d1195cfa.559228"
+ ]
+ ]
+ },
+ {
+ "id": "a874eb32.f6f168",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1930.047706604004,
+ "y": 4002.952467918396,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5916323f.9579e4",
+ "920a9f96.de71d8",
+ "c34c6358.0d5a1",
+ "a8f75919.b0f548"
+ ]
+ ]
+ },
+ {
+ "id": "85e069bd.2867e",
+ "type": "set",
+ "name": "clear aai.l3-network",
+ "xml": "<set>\n<parameter name='aai.l3-network.' value='' />\n",
+ "comments": "",
+ "x": 1288.6191520690918,
+ "y": 3375.8095865249634,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "55b96b73.a3fe2c",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3730.3330879211426,
+ "y": 3902.9521503448486,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "721426a5.cd4d3",
+ "type": "set",
+ "name": "set found-network to false",
+ "xml": "<set>\n<parameter name='found-network' value='false' />\n",
+ "comments": "",
+ "x": 1430.047679901123,
+ "y": 3608.6665544509888,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "62e527d2.1d70b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2401.7619857788086,
+ "y": 3762.952350616455,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1327057d.754d53",
+ "5d3cb1c3.7483"
+ ]
+ ]
+ },
+ {
+ "id": "5d3cb1c3.7483",
+ "type": "switchNode",
+ "name": "switch found-network",
+ "xml": "<switch test='`$found-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2593.190532684326,
+ "y": 3792.952404975891,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "580a5665.5e59c8"
+ ]
+ ]
+ },
+ {
+ "id": "d5b2ed44.4c2308",
+ "type": "set",
+ "name": "set found-network to true",
+ "xml": "<set>\n<parameter name='found-network' value='true' />\n",
+ "comments": "",
+ "x": 3786.047966003418,
+ "y": 3857.2378311157227,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "580a5665.5e59c8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2761.7620239257812,
+ "y": 3792.9523344039917,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a329bff7.fcce5"
+ ]
+ ]
+ },
+ {
+ "id": "a329bff7.fcce5",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2891.762092590332,
+ "y": 3791.5237283706665,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5b55e55c.75e71c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1602.0477027893066,
+ "y": 3736.6666288375854,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d845e519.b3b708",
+ "b0c27a22.aa05d"
+ ]
+ ]
+ },
+ {
+ "id": "b0c27a22.aa05d",
+ "type": "switchNode",
+ "name": "switch found-network",
+ "xml": "<switch test='`$found-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1812.0476570129395,
+ "y": 3808.666512489319,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "55660d1.d082974"
+ ]
+ ]
+ },
+ {
+ "id": "55660d1.d082974",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1980.6191482543945,
+ "y": 3808.6664419174194,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ee901ebf.55824"
+ ]
+ ]
+ },
+ {
+ "id": "ee901ebf.55824",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2110.6192169189453,
+ "y": 3807.2378358840942,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "813f9f7d.79ca28",
+ "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": 1127.3809127807617,
+ "y": 736.681556224823,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "35d8f89f.cae8e8",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 1209.1943588256836,
+ "y": 634.019036769867,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "11521b87.cda144",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1117.2856407165527,
+ "y": 684.4588055610657,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2f302cda.06e25c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 905.9521713256836,
+ "y": 653.967264175415,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f6f8007e.44c25",
+ "35d8f89f.cae8e8",
+ "11521b87.cda144",
+ "813f9f7d.79ca28"
+ ]
+ ]
+ },
+ {
+ "id": "c34c6358.0d5a1",
+ "type": "set",
+ "name": "set subnet data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\n value='`$tmp.ip-version`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\n",
+ "comments": "",
+ "x": 2084.3334732055664,
+ "y": 4033.634214401245,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "a8f75919.b0f548",
+ "type": "switchNode",
+ "name": "switch dhcp-enabled",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2098.8572540283203,
+ "y": 4086.477168083191,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5b9cfd56.94cab4",
+ "20b53f2d.6d298"
+ ]
+ ]
+ },
+ {
+ "id": "5b9cfd56.94cab4",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2261.714418683733,
+ "y": 4065.0485258102417,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5825a0c3.778368"
+ ]
+ ]
+ },
+ {
+ "id": "20b53f2d.6d298",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2260.2857513427734,
+ "y": 4110.762951850891,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4ebb03e8.e8e0ec"
+ ]
+ ]
+ },
+ {
+ "id": "5825a0c3.778368",
+ "type": "set",
+ "name": "set dhcp-enabled to Y",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='Y' />\n",
+ "comments": "",
+ "x": 2434.571617126465,
+ "y": 4063.619921684265,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "4ebb03e8.e8e0ec",
+ "type": "set",
+ "name": "set dhcp-enabled to N",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='N' />\n",
+ "comments": "",
+ "x": 2431.714385986328,
+ "y": 4110.762951850891,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5916323f.9579e4",
+ "type": "switchNode",
+ "name": "switch subnet-role",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2099.333423614502,
+ "y": 3915.5248403549194,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e517ce5c.e07be8"
+ ]
+ ]
+ },
+ {
+ "id": "e517ce5c.e07be8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2266.000026702881,
+ "y": 3915.524492263794,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2b57ab32.a2f884"
+ ]
+ ]
+ },
+ {
+ "id": "2b57ab32.a2f884",
+ "type": "set",
+ "name": "set subnet-role to NONE",
+ "xml": "<set>\n<parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\n",
+ "comments": "",
+ "x": 2447.6668128967285,
+ "y": 3914.858144760132,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "920a9f96.de71d8",
+ "type": "switchNode",
+ "name": "switch ip-version",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2094.5717582702637,
+ "y": 3980.0159463882446,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "cc335709.20c6a",
+ "d22c3e1.6742e4"
+ ]
+ ]
+ },
+ {
+ "id": "cc335709.20c6a",
+ "type": "outcome",
+ "name": "4",
+ "xml": "<outcome value='4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2260.285900115967,
+ "y": 3961.4443435668945,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b999772a.e74e08"
+ ]
+ ]
+ },
+ {
+ "id": "d22c3e1.6742e4",
+ "type": "outcome",
+ "name": "6",
+ "xml": "<outcome value='6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2260.285861968994,
+ "y": 4002.8730869293213,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "baf052e9.035a8"
+ ]
+ ]
+ },
+ {
+ "id": "b999772a.e74e08",
+ "type": "set",
+ "name": "set tmp.ip-version to ipv4",
+ "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n",
+ "comments": "",
+ "x": 2447.428665161133,
+ "y": 3960.5872707366943,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "baf052e9.035a8",
+ "type": "set",
+ "name": "set tmp.ip-version to ipv6",
+ "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n",
+ "comments": "",
+ "x": 2446.000217437744,
+ "y": 4002.87308883667,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f3f529c4.6b12c",
+ "type": "switchNode",
+ "name": "switch network-role",
+ "xml": "<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 726.9999504089355,
+ "y": 3988.2529973983765,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ad907250.d52f88",
+ "1e7fd31a.7311cd",
+ "ffba2516.16032",
+ "dfcf0f8b.63ead"
+ ]
+ ]
+ },
+ {
+ "id": "ad907250.d52f88",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 895.09521484375,
+ "y": 3886.5864086151123,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "98619fd2.bec62"
+ ]
+ ]
+ },
+ {
+ "id": "1e7fd31a.7311cd",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 893.6665916442871,
+ "y": 4014.919596672058,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7818536.37f0dac"
+ ]
+ ]
+ },
+ {
+ "id": "98619fd2.bec62",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1032.4762229919434,
+ "y": 3926.347988128662,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ddb641a.0cdf6c",
+ "type": "get-resource",
+ "name": "get-resource VNF_RELATED_NETWORK_ROLE",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n and network_role = $db.vf-network-role-mapping[$role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1389.0000457763672,
+ "y": 4317.99951171875,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6e176994.c9fc08",
+ "a8e7219.491b5e"
+ ]
+ ]
+ },
+ {
+ "id": "6e176994.c9fc08",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1657.6667098999023,
+ "y": 4148.666353225708,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "cf025be1.019988"
+ ]
+ ]
+ },
+ {
+ "id": "34f534dd.e70314",
+ "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 reading VNF_RELATED_NETWORK_ROLE table\" />\n",
+ "comments": "",
+ "x": 1967.6666831970215,
+ "y": 4148.475923538208,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "cf025be1.019988",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1804.8572273254395,
+ "y": 4147.214367866516,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "34f534dd.e70314",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "a8e7219.491b5e",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1660.6667404174805,
+ "y": 4511.3328647613525,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2d2c045a.605fac"
+ ]
+ ]
+ },
+ {
+ "id": "2d2c045a.605fac",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1827.0000457763672,
+ "y": 4509.33251953125,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d22411ae.cfab38",
+ "f00be450.6e03b8",
+ "ed5ab810.0698c",
+ "fe2e985b.3fac1",
+ "85d1660f.115f8",
+ "56fd3cba.9c5d9c",
+ "b51e7fb9.9341e",
+ "be6e885e.eba838",
+ "af3119a2.d6d4a8"
+ ]
+ ]
+ },
+ {
+ "id": "6cf05edd.c5677",
+ "type": "outcome",
+ "name": "service-instance",
+ "xml": "<outcome value='service-instance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2765.285514831543,
+ "y": 3681.5711908340454,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ec948079.0335d"
+ ]
+ ]
+ },
+ {
+ "id": "ec948079.0335d",
+ "type": "for",
+ "name": "for each relationship data",
+ "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2990.7613525390625,
+ "y": 3681.9998207092285,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ecc5143d.d0e99"
+ ]
+ ]
+ },
+ {
+ "id": "ecc5143d.d0e99",
+ "type": "switchNode",
+ "name": "switch relationship-key",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3225.9999237060547,
+ "y": 3680.333251953125,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bbd443c8.b2a97"
+ ]
+ ]
+ },
+ {
+ "id": "bbd443c8.b2a97",
+ "type": "outcome",
+ "name": "service-instance.service-instance-id",
+ "xml": "<outcome value='service-instance.service-instance-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3492.4282836914062,
+ "y": 3680.333315849304,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b0369bab.d1cf"
+ ]
+ ]
+ },
+ {
+ "id": "b0369bab.d1cf",
+ "type": "set",
+ "name": "set network-service-instance-id",
+ "xml": "<set>\n<parameter name='network-service-instance-id'\n value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\n",
+ "comments": "",
+ "x": 3786.000068664551,
+ "y": 3678.6667308807373,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d22411ae.cfab38",
+ "type": "execute",
+ "name": "generate network-topology-identifier-structure url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.network-topology-identifier-structure`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$network-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2146.3332138061523,
+ "y": 4205.000152587891,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ed5ab810.0698c",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get network-topology-identifier-structure",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-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-ntis\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2203.3330078125,
+ "y": 4308.428893089294,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e6cc22fc.af83a8"
+ ]
+ ]
+ },
+ {
+ "id": "f00be450.6e03b8",
+ "type": "execute",
+ "name": "generate network-topology-identifier-structure url (part 2)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ntis-url\"/>\n <parameter name=\"target\" value=\"{network-id}\"/>\n <parameter name=\"replacement\" value=\"`$l3-network-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2167.999801635742,
+ "y": 4248.33349609375,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fa6296d4.7da71",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 473.3334197998047,
+ "y": 4154.99951171875,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e6cc22fc.af83a8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2532.442195892334,
+ "y": 4308.179370880127,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "282f7afe.cbc7c6"
+ ]
+ ]
+ },
+ {
+ "id": "9143790a.31996",
+ "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=\"`\n 'Error retrieving network-topology-identifier-structure for service instance '\n + $network-service-instance-id\n + ' and network-id '\n + $l3-network-id`\" />\n",
+ "comments": "",
+ "x": 2837.666572570801,
+ "y": 4318.665860176086,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "282f7afe.cbc7c6",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2669.8570861816406,
+ "y": 4307.404459953308,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9143790a.31996",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "fe2e985b.3fac1",
+ "type": "set",
+ "name": "set is-trunked and segmentation-id in vnf-network",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\n value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\n value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\n ",
+ "comments": "",
+ "x": 2146.000030517578,
+ "y": 4368.66651725769,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "56fd3cba.9c5d9c",
+ "type": "save",
+ "name": "custom query: get owning entity",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.oe\">\n<parameter name=\"start[0]\" value=\"`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"/query/owning-entity-fromService-instance\" /> \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2086.9999237060547,
+ "y": 4444,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2a32fc41.36b374",
+ "2dd01fd8.93e128"
+ ]
+ ]
+ },
+ {
+ "id": "2a32fc41.36b374",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2297.2379722595215,
+ "y": 4422.666354179382,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "fe87cf4c.666438"
+ ]
+ ]
+ },
+ {
+ "id": "2dd01fd8.93e128",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2304.3808670043945,
+ "y": 4468.380578994751,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d8b53acc.a4a998"
+ ]
+ ]
+ },
+ {
+ "id": "21db44b1.f7526c",
+ "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 getting owning entity from service instance\" />\n",
+ "comments": "",
+ "x": 2601.9999237060547,
+ "y": 4420.66650390625,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "fe87cf4c.666438",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2439.1904678344727,
+ "y": 4419.404948234558,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "21db44b1.f7526c",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "84457b19.381f68",
+ "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=\"Unable to find owning entity from service instance\" />\n",
+ "comments": "",
+ "x": 2600.3334197998047,
+ "y": 4470.66650390625,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d8b53acc.a4a998",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2437.5239639282227,
+ "y": 4469.404948234558,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "84457b19.381f68",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "e71b1bdf.e3349",
+ "type": "save",
+ "name": "custom query: get tenant network",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.get-networks\">\n<parameter name=\"start[0]\" value=\"`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\n + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" /> \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2536.6667404174805,
+ "y": 4617.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "76ce5749.456708",
+ "822b2122.3612e8"
+ ]
+ ]
+ },
+ {
+ "id": "76ce5749.456708",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2749.9047889709473,
+ "y": 4595.66663646698,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9637e847.9f9948"
+ ]
+ ]
+ },
+ {
+ "id": "822b2122.3612e8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2757.0476837158203,
+ "y": 4641.380861282349,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "846ade0e.b07b78"
+ ]
+ ]
+ },
+ {
+ "id": "66764ab7.27f574",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error calling getNetworks custom query in AAI\" />\n",
+ "comments": "",
+ "x": 3054.6667404174805,
+ "y": 4593.666786193848,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "9637e847.9f9948",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2891.8572845458984,
+ "y": 4592.405230522156,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "66764ab7.27f574",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "b8d55e2e.271e08",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No l3-network returned from getNetworks custom query for related network role '\n + $db.vnf-related-network-role[0].related-network-role`\" />\n",
+ "comments": "",
+ "x": 3053.0002365112305,
+ "y": 4643.666786193848,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "846ade0e.b07b78",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2890.1907806396484,
+ "y": 4642.405230522156,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b8d55e2e.271e08",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "e134937a.177c2",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2503.6667404174805,
+ "y": 4743.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "52894cbe.44c3ac"
+ ]
+ ]
+ },
+ {
+ "id": "52894cbe.44c3ac",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2701.6667404174805,
+ "y": 4743.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "304c09da.85f77e"
+ ]
+ ]
+ },
+ {
+ "id": "304c09da.85f77e",
+ "type": "outcome",
+ "name": "vlan-tag",
+ "xml": "<outcome value='vlan-tag'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2871.6667404174805,
+ "y": 4743.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3e80d79f.f3105"
+ ]
+ ]
+ },
+ {
+ "id": "3e80d79f.f3105",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3039.6667404174805,
+ "y": 4741.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1f10b656.cec3a2",
+ "ce9fe060.e2a868",
+ "bbb52bca.889a8"
+ ]
+ ]
+ },
+ {
+ "id": "1f10b656.cec3a2",
+ "type": "set",
+ "name": "set vlan-tag-id",
+ "xml": "<set>\n<parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\n",
+ "comments": "",
+ "x": 3215.6667404174805,
+ "y": 4701.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ce9fe060.e2a868",
+ "type": "get-resource",
+ "name": "get-resource vlan-tag",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vlan-tag\" \n\t\tkey=\"vlan-tag.vlan-tag-id = $vlan-tag-id\"\n pfx='aai.vlan-tag' local-only='false'\n>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3237.6667404174805,
+ "y": 4759.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "56d9856.c67207c",
+ "21dc559b.022632"
+ ]
+ ]
+ },
+ {
+ "id": "56d9856.c67207c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3417.7143478393555,
+ "y": 4741.143348693848,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "23eac337.91b434"
+ ]
+ ]
+ },
+ {
+ "id": "23eac337.91b434",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3560.5236282348633,
+ "y": 4741.333990573883,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ca977500.30f7b",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "ca977500.30f7b",
+ "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 getting vlan-tag object from AAI\" />\n",
+ "comments": "",
+ "x": 3721.666633605957,
+ "y": 4737.000509262085,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "85d1660f.115f8",
+ "type": "for",
+ "name": "for each related network role",
+ "xml": "<for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2074.6666717529297,
+ "y": 4673.333847045898,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3baee05d.ce7ed"
+ ]
+ ]
+ },
+ {
+ "id": "3baee05d.ce7ed",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2279.6666717529297,
+ "y": 4674.6669921875,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e71b1bdf.e3349",
+ "e134937a.177c2",
+ "656856.eda49fac"
+ ]
+ ]
+ },
+ {
+ "id": "be6e885e.eba838",
+ "type": "switchNode",
+ "name": "switch rn-index",
+ "xml": "<switch test='`$rn-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2035.6666717529297,
+ "y": 4563,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "284c1661.f85f52"
+ ]
+ ]
+ },
+ {
+ "id": "b51e7fb9.9341e",
+ "type": "set",
+ "name": "set rn-index to related network length",
+ "xml": "<set>\n<parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\n",
+ "comments": "",
+ "x": 2104.3332595825195,
+ "y": 4513.999853134155,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "284c1661.f85f52",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2199.6666717529297,
+ "y": 4563,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "983fc56f.c30ce"
+ ]
+ ]
+ },
+ {
+ "id": "983fc56f.c30ce",
+ "type": "set",
+ "name": "set rn-index to 0",
+ "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
+ "comments": "",
+ "x": 2359.6666717529297,
+ "y": 4563,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "656856.eda49fac",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\n",
+ "comments": "",
+ "x": 2507.3333282470703,
+ "y": 4673.66682434082,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "af3119a2.d6d4a8",
+ "type": "set",
+ "name": "set new related network length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
+ "comments": "",
+ "x": 2069.6667404174805,
+ "y": 4817.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "21dc559b.022632",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3419.6667404174805,
+ "y": 4789.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a3807c8f.32092"
+ ]
+ ]
+ },
+ {
+ "id": "a3807c8f.32092",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$aai.vlan-tag.vlan-tag-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$aai.vlan-tag.vlan-id-outer`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$aai.vlan-tag.vlan-id-inner`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$aai.vlan-tag.is-private`' />\n",
+ "comments": "",
+ "x": 3611.6667404174805,
+ "y": 4789.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "bbb52bca.889a8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3189.6667404174805,
+ "y": 4827.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5f19f981.44f8e8",
+ "type": "comment",
+ "name": "temporary data issue: also ignore string \"null\" and \"NULL\"",
+ "info": "",
+ "comments": "",
+ "x": 866.0000534057617,
+ "y": 3846.7621212005615,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ffba2516.16032",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value='null'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 893.1428756713867,
+ "y": 3929.6192626953125,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "98619fd2.bec62"
+ ]
+ ]
+ },
+ {
+ "id": "dfcf0f8b.63ead",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value='NULL'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 893.1428852081299,
+ "y": 3972.4763345718384,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "98619fd2.bec62"
+ ]
+ ]
+ },
+ {
+ "id": "54a690a3.566b7",
+ "type": "switchNode",
+ "name": "switch input cloud-owner",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 525.9999923706055,
+ "y": 258.6666564941406,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "36ae954f.893402",
+ "721bab5f.eced9c"
+ ]
+ ]
+ },
+ {
+ "id": "36ae954f.893402",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 709.333366394043,
+ "y": 228.66664505004883,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7432cce1.83deac"
+ ]
+ ]
+ },
+ {
+ "id": "721bab5f.eced9c",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 709.095272064209,
+ "y": 269.61913871765137,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3204702c.f7b9d8"
+ ]
+ ]
+ },
+ {
+ "id": "7432cce1.83deac",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 844.3333206176758,
+ "y": 226.99998474121094,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3204702c.f7b9d8",
+ "type": "set",
+ "name": "set prop.cloud-region.cloud-owner",
+ "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\n",
+ "comments": "",
+ "x": 925.9999771118164,
+ "y": 268.6666660308838,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "2eb275c7.eda4b2",
+ "type": "call",
+ "name": "call self-serve-vnf-forking-logic",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 543.8571472167969,
+ "y": 551.9673004150391,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d1195cfa.559228",
+ "type": "switchNode",
+ "name": "switch ss.self-serve-flag",
+ "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 523.9998626708984,
+ "y": 717.5387878417969,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "272b86e.2f2c07a",
+ "af9ed331.fb3a28"
+ ]
+ ]
+ },
+ {
+ "id": "272b86e.2f2c07a",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 735.7140197753906,
+ "y": 790.8240718841553,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "aefac3f0.23ec18"
+ ]
+ ]
+ },
+ {
+ "id": "af9ed331.fb3a28",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 735.2855377197266,
+ "y": 654.3959054946899,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2f302cda.06e25c"
+ ]
+ ]
+ },
+ {
+ "id": "88c71ce1.a67868",
+ "type": "comment",
+ "name": "'Old' version of DG, called for flows where SO does not expect async response (so-sdnc-adapter)",
+ "info": "",
+ "comments": "",
+ "x": 454,
+ "y": 55,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json
index 1b0f4cbf..345e63d2 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json
@@ -1,5843 +1,219 @@
[
{
- "id": "fa733965.8e1b48",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 116.66666412353516,
- "y": 70.74699592590332,
- "z": "2d523017.81121",
- "wires": [
- [
- "daf6d1e0.f0a85"
- ]
- ]
- },
- {
- "id": "daf6d1e0.f0a85",
- "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": 231.9523696899414,
- "y": 112.65177536010742,
- "z": "2d523017.81121",
- "wires": [
- [
- "3a6f31b4.299cee"
- ]
- ]
- },
- {
- "id": "3a6f31b4.299cee",
- "type": "method",
- "name": "method vnf-topology-operation-assign",
- "xml": "<method rpc='vnf-topology-operation-assign' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 204.76197052001953,
- "y": 155.41365909576416,
- "z": "2d523017.81121",
- "wires": [
- [
- "9ab83872.914ab8"
- ]
- ]
- },
- {
- "id": "21dff779.bf4cc8",
+ "id": "d8152ad9.82c12",
"type": "comment",
"name": "vnf-topology-operation-assign",
"info": "",
"comments": "",
- "x": 492.6781921386719,
- "y": 20,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "49a698b9.947698",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 513.0476303100586,
- "y": 466.3898124694824,
- "z": "2d523017.81121",
- "wires": [
- [
- "725cf24d.8d4b4c",
- "abc6c6e8.654018"
- ]
- ]
- },
- {
- "id": "725cf24d.8d4b4c",
- "type": "outcome",
- "name": "CreateVnfInstance",
- "xml": "<outcome value='CreateVnfInstance'>\n",
- "comments": "",
- "outputs": 1,
- "x": 766.7619247436523,
- "y": 443.53269386291504,
- "z": "2d523017.81121",
- "wires": [
- [
- "b07fe8dd.932d38"
- ]
- ]
- },
- {
- "id": "abc6c6e8.654018",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 728.761890411377,
- "y": 489.24702167510986,
- "z": "2d523017.81121",
- "wires": [
- [
- "97a46274.9df5e"
- ]
- ]
- },
- {
- "id": "b07fe8dd.932d38",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 951.6190528869629,
- "y": 443.53272342681885,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "c8588b9c.b0d898",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 174.4048080444336,
- "y": 3352.7708625793457,
- "z": "2d523017.81121",
- "wires": [
- [
- "50e14066.4a8fb",
- "945671e8.3d2b7",
- "7054feb2.2900b",
- "25919575.6cb00a",
- "10583438.2574cc",
- "9cd27ab5.524f18",
- "13077d8a.632752",
- "8c40a330.8c84",
- "996bdc9d.0d63b",
- "2dd23fff.89a8d",
- "f2f609da.bd9858",
- "1b9bd518.29100b",
- "4eb737ee.442a38",
- "3530cc21.a0c0d4",
- "2fcd14d0.0b537c",
- "4796fba2.d51144",
- "42f099e.9f61568",
- "ab296e58.94c7",
- "8dc1e7e0.9d5668",
- "d03eeca7.23711",
- "494fd3fe.881b4c",
- "31dc7765.4b4208",
- "ae22f7f9.632468",
- "530dfe10.6f29",
- "2f250d1f.126482",
- "3c27d937.bf75c6",
- "6ae8e0f.7c6952",
- "dfdec27.324004",
- "dc580d36.feec6",
- "87cefff2.af896",
- "9e4b2f5.d8554d",
- "5563a4c5.a199ec",
- "97421a9a.865f98",
- "59c331da.0d09b",
- "b01ba289.b4c4d",
- "f93440f1.dad62",
- "5091afc0.4393d",
- "7381e60f.8d7388",
- "ef3b1f74.d9716",
- "4c1fc0a3.ee098"
- ]
- ]
- },
- {
- "id": "ade9f393.c1d96",
- "type": "get-resource",
- "name": "get-resource VF_MODEL",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 525.3809356689453,
- "y": 557.5326824188232,
- "z": "2d523017.81121",
- "wires": [
- [
- "1e3f6d8d.668b62",
- "270acedb.4b2862"
- ]
- ]
- },
- {
- "id": "1e3f6d8d.668b62",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 726.166633605957,
- "y": 537.913519859314,
- "z": "2d523017.81121",
- "wires": [
- [
- "df6715d9.ce37d8"
- ]
- ]
- },
- {
- "id": "270acedb.4b2862",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 734.7380638122559,
- "y": 582.1992330551147,
- "z": "2d523017.81121",
- "wires": [
- [
- "e48fe633.d5a078"
- ]
- ]
- },
- {
- "id": "50e14066.4a8fb",
- "type": "switchNode",
- "name": "switch service-data.vnfs.vnf_length",
- "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 549.0475845336914,
- "y": 1145.9851322174072,
- "z": "2d523017.81121",
- "wires": [
- [
- "a52ad9f3.5409f8",
- "f1a27d38.307e4"
- ]
- ]
- },
- {
- "id": "a52ad9f3.5409f8",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 774.7619132995605,
- "y": 1113.1279201507568,
- "z": "2d523017.81121",
- "wires": [
- [
- "5a889bed.1fd0a4"
- ]
- ]
- },
- {
- "id": "5a889bed.1fd0a4",
- "type": "set",
- "name": "set vnf-index=0",
- "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
- "comments": "",
- "x": 939.0476341247559,
- "y": 1112.1279983520508,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f1a27d38.307e4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 776.1904754638672,
- "y": 1177.4137382507324,
- "z": "2d523017.81121",
- "wires": [
- [
- "ff49d41f.68ca58"
- ]
- ]
- },
- {
- "id": "742d47cf.681298",
- "type": "set",
- "name": "set vnf-index = vnf_length",
- "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
- "comments": "",
- "x": 1194.0476303100586,
- "y": 1155.699426651001,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "841debf7.ded508",
- "type": "for",
- "name": "for each existing VNF",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1179.4761428833008,
- "y": 1201.6993656158447,
- "z": "2d523017.81121",
- "wires": [
- [
- "7d0d1ffd.f9c63"
- ]
- ]
- },
- {
- "id": "ff49d41f.68ca58",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 949.9047355651855,
- "y": 1177.413703918457,
- "z": "2d523017.81121",
- "wires": [
- [
- "742d47cf.681298",
- "841debf7.ded508"
- ]
- ]
- },
- {
- "id": "7d0d1ffd.f9c63",
- "type": "switchNode",
- "name": "switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1533.7619094848633,
- "y": 1201.270845413208,
- "z": "2d523017.81121",
- "wires": [
- [
- "8c6a6fdd.7581b"
- ]
- ]
- },
- {
- "id": "8c6a6fdd.7581b",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1828.047664642334,
- "y": 1200.8423299789429,
- "z": "2d523017.81121",
- "wires": [
- [
- "67d1f32e.64262c"
- ]
- ]
- },
- {
- "id": "7be2c7fd.7f9938",
- "type": "comment",
- "name": "make sure this VNF doesn't exist already",
- "info": "",
- "comments": "",
- "x": 1520.904640197754,
- "y": 1158.8422756195068,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "945671e8.3d2b7",
- "type": "set",
- "name": "set vnf-topology data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n",
- "comments": "",
- "x": 514.7618675231934,
- "y": 1677.6518993377686,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "7054feb2.2900b",
- "type": "switchNode",
- "name": "switch input vnf-name",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 527.2618865966797,
- "y": 2039.770956993103,
- "z": "2d523017.81121",
- "wires": [
- [
- "794a160e.b68c48",
- "109f5318.f22f2d"
- ]
- ]
- },
- {
- "id": "25919575.6cb00a",
- "type": "get-resource",
- "name": "get-resource cloud region",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\n\t\t depth='all'\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
- "comments": "",
- "outputs": 1,
- "x": 559.4048309326172,
- "y": 2935.7706928253174,
- "z": "2d523017.81121",
- "wires": [
- [
- "da5da517.ae2e18",
- "54304dd.70307b4"
- ]
- ]
- },
- {
- "id": "54304dd.70307b4",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 767.5081481933594,
- "y": 2954.921399116516,
- "z": "2d523017.81121",
- "wires": [
- [
- "cbecda63.60f978"
- ]
- ]
- },
- {
- "id": "da5da517.ae2e18",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 776.4367446899414,
- "y": 2912.2071323394775,
- "z": "2d523017.81121",
- "wires": [
- [
- "55ab3764.a14138"
- ]
- ]
- },
- {
- "id": "10583438.2574cc",
- "type": "get-resource",
- "name": "get-resource VF_TO_NETWORK_ROLE_MAPPING",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-network-role-mapping[]'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 624.6429138183594,
- "y": 3246.8182125091553,
- "z": "2d523017.81121",
- "wires": [
- [
- "b9431e3d.b421d",
- "395440a1.5e6de"
- ]
- ]
- },
- {
- "id": "b9431e3d.b421d",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 920.4285850524902,
- "y": 3225.532377243042,
- "z": "2d523017.81121",
- "wires": [
- [
- "5be8614b.d2283"
- ]
- ]
- },
- {
- "id": "395440a1.5e6de",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 929.0000152587891,
- "y": 3269.818090438843,
- "z": "2d523017.81121",
- "wires": [
- [
- "4f0a7869.c1d018"
- ]
- ]
- },
- {
- "id": "fde1d716.a4a0e8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1025.5716133117676,
- "y": 4363.460702896118,
- "z": "2d523017.81121",
- "wires": [
- [
- "abcfb9a1.c41368",
- "912ecbf0.ffa438",
- "c223a2fd.f4871",
- "7e1ee9f5.bc8198",
- "c6001282.4b6e1",
- "ea99e7e9.ed0b98",
- "c41b6137.b6d4b",
- "8dc14ff8.fbd57",
- "4e569933.c14918"
- ]
- ]
- },
- {
- "id": "c223a2fd.f4871",
- "type": "get-resource",
- "name": "get-resource l3-network",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"l3-networks\" \n\t\tkey=\"l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role\"\n pfx='aai.l3-network' local-only='false'\n>\n",
- "comments": "",
- "outputs": 1,
- "x": 1275.2858123779297,
- "y": 3453.8417415618896,
- "z": "2d523017.81121",
- "wires": [
- [
- "ede95f4d.859fa",
- "3e760d07.8da062"
- ]
- ]
- },
- {
- "id": "3e760d07.8da062",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1480.7621269226074,
- "y": 3483.1273441314697,
- "z": "2d523017.81121",
- "wires": [
- [
- "4fcc2ec6.5268d"
- ]
- ]
- },
- {
- "id": "ede95f4d.859fa",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1488.2621231079102,
- "y": 3434.2703142166138,
- "z": "2d523017.81121",
- "wires": [
- [
- "1b9558ce.3c84a7"
- ]
- ]
- },
- {
- "id": "abcfb9a1.c41368",
- "type": "set",
- "name": "set vnf-network data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\n value='`$db.vf-network-role-mapping[$role-index].network-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\n value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\n value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\n value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\n value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\n",
- "comments": "",
- "x": 1271.6192779541016,
- "y": 4259.413550376892,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "996bdc9d.0d63b",
- "type": "for",
- "name": "for each cloud-region availability zone",
- "xml": "<for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 492.00031661987305,
- "y": 5506.532527923584,
- "z": "2d523017.81121",
- "wires": [
- [
- "b2e77d6f.5c88e"
- ]
- ]
- },
- {
- "id": "cab1cdc0.80552",
- "type": "set",
- "name": "set availability-zone",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\n value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\n",
- "comments": "",
- "x": 953.6669998168945,
- "y": 5475.865942001343,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "2dd23fff.89a8d",
- "type": "set",
- "name": "set vnf-parameters-data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n",
- "comments": "",
- "x": 451.6192436218262,
- "y": 5356.484888076782,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "c622b6f5.5fb0e8",
- "type": "save",
- "name": "save generic-vnf l3-network relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 918.1907768249512,
- "y": 5650.29474067688,
- "z": "2d523017.81121",
- "wires": [
- [
- "72e530eb.ef2a9",
- "560ad615.6ebaf8"
- ]
- ]
- },
- {
- "id": "4eb737ee.442a38",
- "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": 404.9645233154297,
- "y": 6546.056180000305,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "1b9bd518.29100b",
- "type": "set",
- "name": "set vnf-level-oper-status to PendingCreate",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
- "comments": "",
- "x": 507.49225997924805,
- "y": 6019.500453948975,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "13077d8a.632752",
- "type": "for",
- "name": "for each network-role",
- "xml": "<for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>",
- "comments": "",
- "outputs": 1,
- "x": 485.57154846191406,
- "y": 4336.794371604919,
- "z": "2d523017.81121",
- "wires": [
- [
- "b7e5144f.5264b8"
- ]
- ]
- },
- {
- "id": "9cd27ab5.524f18",
- "type": "set",
- "name": "set network-index = 0",
- "xml": "<set>\n<parameter name='network-index' value='0' />\n",
- "comments": "",
- "x": 527.0714111328125,
- "y": 3300.8660068511963,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "912ecbf0.ffa438",
- "type": "set",
- "name": "increment network-index",
- "xml": "<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n",
- "comments": "",
- "x": 1253.6192665100098,
- "y": 5307.175491333008,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "8c40a330.8c84",
- "type": "set",
- "name": "set vnf-network_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\n value='`$network-index`' />\n",
- "comments": "",
- "x": 450.4763298034668,
- "y": 5306.484931945801,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f2f609da.bd9858",
- "type": "set",
- "name": "copy input data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n",
- "comments": "",
- "x": 416.7620658874512,
- "y": 5965.913442611694,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "3530cc21.a0c0d4",
- "type": "for",
- "name": "for each vnf-network",
- "xml": "<for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 441.1906852722168,
- "y": 5649.29465675354,
- "z": "2d523017.81121",
- "wires": [
- [
- "b6d2730a.405db"
- ]
- ]
- },
- {
- "id": "b6d2730a.405db",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 644.8573265075684,
- "y": 5649.294617652893,
- "z": "2d523017.81121",
- "wires": [
- [
- "c622b6f5.5fb0e8"
- ]
- ]
- },
- {
- "id": "2fcd14d0.0b537c",
- "type": "set",
- "name": "set new vnf_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n",
- "comments": "",
- "x": 497.6905059814453,
- "y": 1198.0090227127075,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "4796fba2.d51144",
- "type": "for",
- "name": "for each cloud-region relationship",
- "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 572.2619552612305,
- "y": 3023.008864402771,
- "z": "2d523017.81121",
- "wires": [
- [
- "de35f354.4a026"
- ]
- ]
- },
- {
- "id": "de35f354.4a026",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 819.9404983520508,
- "y": 3022.7587938308716,
- "z": "2d523017.81121",
- "wires": [
- [
- "9753c9fc.ee6548"
- ]
- ]
- },
- {
- "id": "9753c9fc.ee6548",
- "type": "outcome",
- "name": "complex",
- "xml": "<outcome value='complex'>\n",
- "comments": "",
- "outputs": 1,
- "x": 989.4048194885254,
- "y": 3022.1516160964966,
- "z": "2d523017.81121",
- "wires": [
- [
- "f1d0780c.c74608"
- ]
- ]
- },
- {
- "id": "49d47361.e5235c",
- "type": "set",
- "name": "set aic-clli",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
- "comments": "",
- "x": 1366.976203918457,
- "y": 3020.389811515808,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "42f099e.9f61568",
- "type": "switchNode",
- "name": "switch aic-clli",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 505.3095817565918,
- "y": 3136.1039962768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "18989148.50f10f"
- ]
- ]
- },
- {
- "id": "18989148.50f10f",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 653.4524154663086,
- "y": 3136.103979110718,
- "z": "2d523017.81121",
- "wires": [
- [
- "9a466e25.4156f"
- ]
- ]
- },
- {
- "id": "56b5f776.c4c628",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n",
- "comments": "",
- "x": 931.7621269226074,
- "y": 2494.9612531661987,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "c7e1c13d.03db5",
- "type": "for",
- "name": "for each l3-network",
- "xml": "<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1391.8812561035156,
- "y": 4083.984929084778,
- "z": "2d523017.81121",
- "wires": [
- [
- "c1ed15e6.f88648"
- ]
- ]
- },
- {
- "id": "e75f10eb.ced4f",
- "type": "switchNode",
- "name": "switch orchestration-status",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1810.4524269104004,
- "y": 4018.556393623352,
- "z": "2d523017.81121",
- "wires": [
- [
- "acbbb297.0a07e",
- "18131921.5c40e7",
- "84ce6f22.6e9ac",
- "a5969f85.edad",
- "8306b63a.7a6a88"
- ]
- ]
- },
- {
- "id": "acbbb297.0a07e",
- "type": "outcome",
- "name": "Pending Delete",
- "xml": "<outcome value='Pending Delete'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2051.119297027588,
- "y": 4060.222897529602,
- "z": "2d523017.81121",
- "wires": [
- [
- "bcc48c45.57047"
- ]
- ]
- },
- {
- "id": "18131921.5c40e7",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2023.9764366149902,
- "y": 4111.222878456116,
- "z": "2d523017.81121",
- "wires": [
- [
- "f846017e.0f7b7"
- ]
- ]
- },
- {
- "id": "d24ce0d7.c8619",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2559.6907386779785,
- "y": 4056.460795402527,
- "z": "2d523017.81121",
- "wires": [
- [
- "c028438.b008bc",
- "225c2fa8.b622f"
- ]
- ]
- },
- {
- "id": "f846017e.0f7b7",
- "type": "for",
- "name": "for each relationship",
- "xml": "<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2193.976348876953,
- "y": 4110.794255256653,
- "z": "2d523017.81121",
- "wires": [
- [
- "3979a64c.84ab9a"
- ]
- ]
- },
- {
- "id": "c028438.b008bc",
- "type": "outcome",
- "name": "cloud-region",
- "xml": "<outcome value='cloud-region'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2733.9765243530273,
- "y": 4079.365619659424,
- "z": "2d523017.81121",
- "wires": [
- [
- "24abd19e.88186e"
- ]
- ]
- },
- {
- "id": "24abd19e.88186e",
- "type": "for",
- "name": "for each relationship data",
- "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2931.11922454834,
- "y": 4079.794087409973,
- "z": "2d523017.81121",
- "wires": [
- [
- "6e6e70c9.1f47f"
- ]
- ]
- },
- {
- "id": "6e6e70c9.1f47f",
- "type": "switchNode",
- "name": "switch relationship-key",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3162.547824859619,
- "y": 4079.3654623031616,
- "z": "2d523017.81121",
- "wires": [
- [
- "41f73a04.000a34"
- ]
- ]
- },
- {
- "id": "41f73a04.000a34",
- "type": "outcome",
- "name": "cloud-region.cloud-region-id",
- "xml": "<outcome value='cloud-region.cloud-region-id'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3403.976390838623,
- "y": 4079.3655586242676,
- "z": "2d523017.81121",
- "wires": [
- [
- "ec6b1424.dae298"
- ]
- ]
- },
- {
- "id": "ec6b1424.dae298",
- "type": "switchNode",
- "name": "switch relationship-value == cloud-region-id",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3708.262310028076,
- "y": 4079.22261428833,
- "z": "2d523017.81121",
- "wires": [
- [
- "76d1c220.996b9c"
- ]
- ]
- },
- {
- "id": "76d1c220.996b9c",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3413.2624473571777,
- "y": 4196.865568161011,
- "z": "2d523017.81121",
- "wires": [
- [
- "1de3d6a.5295a29"
- ]
- ]
- },
- {
- "id": "7e1ee9f5.bc8198",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1228.0954284667969,
- "y": 4015.270573616028,
- "z": "2d523017.81121",
- "wires": [
- [
- "c7e1c13d.03db5",
- "85730c77.85f6e"
- ]
- ]
- },
- {
- "id": "c6001282.4b6e1",
- "type": "set",
- "name": "set l3-network-id = -1",
- "xml": "<set>\n<parameter name='l3-network-id' value='-1' />\n",
- "comments": "",
- "x": 1272.4287872314453,
- "y": 3887.175227165222,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "1de3d6a.5295a29",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3559.0954246520996,
- "y": 4196.341676712036,
- "z": "2d523017.81121",
- "wires": [
- [
- "f676c278.1ddf2",
- "6ee99534.f9db3c",
- "133789d2.fbdb36"
- ]
- ]
- },
- {
- "id": "f676c278.1ddf2",
- "type": "set",
- "name": "set l3-network-id = this l3-network",
- "xml": "<set>\n<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n",
- "comments": "",
- "x": 3794.333427429199,
- "y": 4158.484645843506,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "ea99e7e9.ed0b98",
- "type": "switchNode",
- "name": "switch l3-network-id",
- "xml": "<switch test='`$l3-network-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1269.4287109375,
- "y": 4210.842268943787,
- "z": "2d523017.81121",
- "wires": [
- [
- "8b18bc8b.1ecc5"
- ]
- ]
- },
- {
- "id": "8b18bc8b.1ecc5",
- "type": "outcome",
- "name": "-1",
- "xml": "<outcome value='-1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1439.4286613464355,
- "y": 4210.842024803162,
- "z": "2d523017.81121",
- "wires": [
- [
- "d03cff5b.4eae8"
- ]
- ]
- },
- {
- "id": "ab296e58.94c7",
- "type": "switchNode",
- "name": "switch input model-invariant-uuid",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 575.6192016601562,
- "y": 2517.7856969833374,
- "z": "2d523017.81121",
- "wires": [
- [
- "a6d2444d.170f18",
- "d0c4e96a.f0e598"
- ]
- ]
- },
- {
- "id": "a6d2444d.170f18",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 781.2858734130859,
- "y": 2494.9286603927612,
- "z": "2d523017.81121",
- "wires": [
- [
- "56b5f776.c4c628"
- ]
- ]
- },
- {
- "id": "d0c4e96a.f0e598",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 782.714469909668,
- "y": 2539.2142515182495,
- "z": "2d523017.81121",
- "wires": [
- [
- "53133cb6.18d844"
- ]
- ]
- },
- {
- "id": "53133cb6.18d844",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n",
- "comments": "",
- "x": 937.0002059936523,
- "y": 2538.6428236961365,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "6f1bca5a.057ce4",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n",
- "comments": "",
- "x": 932.7143974304199,
- "y": 2583.4999294281006,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "8dc1e7e0.9d5668",
- "type": "switchNode",
- "name": "switch input model-uuid",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 548.2382202148438,
- "y": 2606.3244342803955,
- "z": "2d523017.81121",
- "wires": [
- [
- "8002dd41.ae1f",
- "896eccc9.b25eb"
- ]
- ]
- },
- {
- "id": "8002dd41.ae1f",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 782.2381935119629,
- "y": 2583.467366218567,
- "z": "2d523017.81121",
- "wires": [
- [
- "6f1bca5a.057ce4"
- ]
- ]
- },
- {
- "id": "896eccc9.b25eb",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 783.6667900085449,
- "y": 2627.752957344055,
- "z": "2d523017.81121",
- "wires": [
- [
- "17701e26.510582"
- ]
- ]
- },
- {
- "id": "17701e26.510582",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n",
- "comments": "",
- "x": 937.9525260925293,
- "y": 2627.181529521942,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "b6fbf29a.0df09",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n",
- "comments": "",
- "x": 929.8573303222656,
- "y": 2672.3571367263794,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d03eeca7.23711",
- "type": "switchNode",
- "name": "switch input model-version",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 556.3810920715332,
- "y": 2695.1815814971924,
- "z": "2d523017.81121",
- "wires": [
- [
- "6aa27ca4.a61d34",
- "1ae6e106.ea9c7f"
- ]
- ]
- },
- {
- "id": "6aa27ca4.a61d34",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 779.3810768127441,
- "y": 2672.324543952942,
- "z": "2d523017.81121",
- "wires": [
- [
- "b6fbf29a.0df09"
- ]
- ]
- },
- {
- "id": "1ae6e106.ea9c7f",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 780.8096733093262,
- "y": 2716.61013507843,
- "z": "2d523017.81121",
- "wires": [
- [
- "56c362db.13020c"
- ]
- ]
- },
- {
- "id": "56c362db.13020c",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n",
- "comments": "",
- "x": 935.0954093933105,
- "y": 2716.038707256317,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "9fcfee3c.f2226",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n",
- "comments": "",
- "x": 929.8573303222656,
- "y": 2759.4999589920044,
- "z": "2d523017.81121",
+ "x": 289,
+ "y": 64,
+ "z": "d1fefa2f.dc5878",
"wires": []
},
{
- "id": "494fd3fe.881b4c",
- "type": "switchNode",
- "name": "switch input model-name",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 551.3810920715332,
- "y": 2782.3244037628174,
- "z": "2d523017.81121",
- "wires": [
- [
- "3f7d112e.5f72ee",
- "6e803b0d.a54dc4"
- ]
- ]
- },
- {
- "id": "3f7d112e.5f72ee",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 779.3810768127441,
- "y": 2759.467366218567,
- "z": "2d523017.81121",
- "wires": [
- [
- "9fcfee3c.f2226"
- ]
- ]
- },
- {
- "id": "6e803b0d.a54dc4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 780.8096733093262,
- "y": 2803.752957344055,
- "z": "2d523017.81121",
- "wires": [
- [
- "9d0420e8.1e34b"
- ]
- ]
- },
- {
- "id": "9d0420e8.1e34b",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n",
- "comments": "",
- "x": 935.0954093933105,
- "y": 2803.181529521942,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "bcc48c45.57047",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2204.3333892822266,
- "y": 4060.9997749328613,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "8306b63a.7a6a88",
- "type": "outcome",
- "name": "PendingDelete",
- "xml": "<outcome value='PendingDelete'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2049.000030517578,
- "y": 4015.999689102173,
- "z": "2d523017.81121",
- "wires": [
- [
- "ea893bb0.586278"
- ]
- ]
- },
- {
- "id": "ea893bb0.586278",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2204.214122772217,
- "y": 4016.776566505432,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "a5969f85.edad",
- "type": "outcome",
- "name": "Pending Create",
- "xml": "<outcome value='Pending Create'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2051.000030517578,
- "y": 3972.666193008423,
- "z": "2d523017.81121",
- "wires": [
- [
- "bab4140b.02b308"
- ]
- ]
- },
- {
- "id": "bab4140b.02b308",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2204.214122772217,
- "y": 3973.443070411682,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "84ce6f22.6e9ac",
- "type": "outcome",
- "name": "PendingCreate",
- "xml": "<outcome value='PendingCreate'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2051.000030517578,
- "y": 3929.332941055298,
- "z": "2d523017.81121",
- "wires": [
- [
- "fc3367.845aac98"
- ]
- ]
- },
- {
- "id": "fc3367.845aac98",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2204.214122772217,
- "y": 3930.109818458557,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "a129d9ae.667dd8",
- "type": "for",
- "name": "for each A&AI subnet",
- "xml": "<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1737.3810577392578,
- "y": 4350.047110080719,
- "z": "2d523017.81121",
- "wires": [
- [
- "26e050ad.0575e"
- ]
- ]
- },
- {
- "id": "84d519bc.318478",
- "type": "set",
- "name": "set subnet_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\n",
- "comments": "",
- "x": 1726.047622680664,
- "y": 4395.04719209671,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "31dc7765.4b4208",
- "type": "set",
- "name": "set availability-zones.max-count and length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\n value='`$db.vf-model.avail-zone-max-count`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\n value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\n",
- "comments": "",
- "x": 511.66682052612305,
- "y": 5594.547995567322,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "ae22f7f9.632468",
- "type": "set",
- "name": "set vnf-name",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\n value='`$tmp.vnf-name`' />\n",
- "comments": "",
- "x": 512.5000152587891,
- "y": 2451.8334608078003,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "530dfe10.6f29",
- "type": "save",
- "name": "update generic-vnf",
- "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vnf-name\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`\" />\n<parameter name=\"prov-status\" value=\"PREPROV\" />\n<!-- <parameter name=\"operational-status\" value=\"out-of-service-path\" /> -->\n<parameter name=\"equipment-role\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`\" />\n<parameter name=\"model-invariant-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"selflink\" value=\"`$vnf-object-path`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 432.0000877380371,
- "y": 5804.213758468628,
- "z": "2d523017.81121",
- "wires": [
- [
- "8c964a5c.697478",
- "9e7283af.92a1c"
- ]
- ]
- },
- {
- "id": "2f250d1f.126482",
- "type": "set",
- "name": "set vnf-object-path",
- "xml": "<set>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
- "comments": "",
- "x": 432.00012588500977,
- "y": 5734.214241027832,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "3c27d937.bf75c6",
- "type": "set",
- "name": "set vnf-id",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n",
- "comments": "",
- "x": 500.83335876464844,
- "y": 2403.5000038146973,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "6ae8e0f.7c6952",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnf.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 406.51210021972656,
- "y": 6370.226758003235,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "72e530eb.ef2a9",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1168.0241317749023,
- "y": 5627.833315849304,
- "z": "2d523017.81121",
- "wires": [
- [
- "1d23943a.cc401c"
- ]
- ]
- },
- {
- "id": "560ad615.6ebaf8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1176.5955619812012,
- "y": 5672.119029045105,
- "z": "2d523017.81121",
- "wires": [
- [
- "48b115c8.09c9bc"
- ]
- ]
- },
- {
- "id": "8c964a5c.697478",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 606.3574180603027,
- "y": 5782.833353996277,
- "z": "2d523017.81121",
- "wires": [
- [
- "b5f5454e.605518"
- ]
- ]
- },
- {
- "id": "9e7283af.92a1c",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 614.9288482666016,
- "y": 5827.119067192078,
- "z": "2d523017.81121",
- "wires": [
- [
- "fb7909b7.07d3a8"
- ]
- ]
- },
- {
- "id": "dfdec27.324004",
- "type": "set",
- "name": "set model-customization-uuid",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n",
- "comments": "",
- "x": 564.1666793823242,
- "y": 2855.1666078567505,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f7d7f0fa.89cd2",
- "type": "execute",
- "name": "split related-link",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1386.357063293457,
- "y": 2975.1517295837402,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "f1d0780c.c74608",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1172.0237655639648,
- "y": 3021.8185176849365,
- "z": "2d523017.81121",
- "wires": [
- [
- "f7d7f0fa.89cd2",
- "49d47361.e5235c",
- "68e794dc.43eb9c"
- ]
- ]
- },
- {
- "id": "68e794dc.43eb9c",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1356.0237274169922,
- "y": 3065.1518144607544,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "b2e77d6f.5c88e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 743.6667594909668,
- "y": 5505.628111839294,
- "z": "2d523017.81121",
- "wires": [
- [
- "cab1cdc0.80552",
- "2c7d624d.a1567e"
- ]
- ]
- },
- {
- "id": "2c7d624d.a1567e",
- "type": "save",
- "name": "save generic-vnf availability-zone relationship",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"availability-zone\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.cloud-region.cloud-owner`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"availability-zone.availability-zone-name\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1037.0001487731934,
- "y": 5528.9615659713745,
- "z": "2d523017.81121",
- "wires": [
- [
- "7e45c7a1.1fc228",
- "7cb74929.a6a798"
- ]
- ]
- },
- {
- "id": "7e45c7a1.1fc228",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1301.8334007263184,
- "y": 5509.833388328552,
- "z": "2d523017.81121",
- "wires": [
- [
- "ac3d2a38.193128"
- ]
- ]
- },
- {
- "id": "7cb74929.a6a798",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
+ "id": "2dfa6d30.c20ada",
+ "type": "dgstart",
+ "name": "DGSTART",
"outputs": 1,
- "x": 1310.4048309326172,
- "y": 5554.119101524353,
- "z": "2d523017.81121",
+ "x": 109,
+ "y": 149,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "edd6eeb3.58833"
+ "6fce10a9.87d3d"
]
]
},
{
- "id": "4f0a7869.c1d018",
- "type": "set",
- "name": "set mapping rows to 0",
- "xml": "<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n",
- "comments": "",
- "x": 1122.9761505126953,
- "y": 3269.437578201294,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "dc580d36.feec6",
- "type": "switchNode",
- "name": "switch AAI availability-zone_length",
- "xml": "<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n",
+ "id": "c77c58e8.bd4388",
+ "type": "method",
+ "name": "vnf-topology-operation-assign",
+ "xml": "<method rpc='vnf-topology-operation-assign' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 484.381046295166,
- "y": 5409.437698364258,
- "z": "2d523017.81121",
+ "x": 271,
+ "y": 252,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "65cd03d3.cd933c"
+ "4626099.919e7f8"
]
]
},
{
- "id": "65cd03d3.cd933c",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
+ "id": "6fce10a9.87d3d",
+ "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": 702.952465057373,
- "y": 5409.009107589722,
- "z": "2d523017.81121",
+ "x": 306,
+ "y": 194,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "5cdda0db.c6c79"
+ "c77c58e8.bd4388"
]
]
},
{
- "id": "55344fcf.542e2",
- "type": "set",
- "name": "set availability-zone_length to 0",
- "xml": "<set>\n<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\n",
- "comments": "",
- "x": 1304.3811073303223,
- "y": 5427.580345153809,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "5cdda0db.c6c79",
+ "id": "34c5880c.3f1be8",
"type": "switchNode",
- "name": "switch AZ max count > 0",
- "xml": "<switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>\n",
+ "name": "so-response-url empty?",
+ "xml": "<switch test='length($vnf-topology-operation-input.sdnc-request-header.svc-notification-url) == 0'>\n",
"comments": "",
"outputs": 1,
- "x": 891.5239372253418,
- "y": 5409.43741941452,
- "z": "2d523017.81121",
+ "x": 413,
+ "y": 403,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "689f8ebb.877dd",
- "dd9a3b97.b39268"
+ "ea711693.205148",
+ "9c19c050.c2966"
]
]
},
{
- "id": "689f8ebb.877dd",
+ "id": "ea711693.205148",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1094.3810443878174,
- "y": 5383.723169326782,
- "z": "2d523017.81121",
+ "x": 638,
+ "y": 359,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "63585eee.6f434"
+ "ef1a11b7.9f048"
]
]
},
{
- "id": "dd9a3b97.b39268",
+ "id": "9c19c050.c2966",
"type": "outcomeFalse",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 1095.8096656799316,
- "y": 5428.008916854858,
- "z": "2d523017.81121",
- "wires": [
- [
- "55344fcf.542e2"
- ]
- ]
- },
- {
- "id": "2bc8145e.9e6d7c",
- "type": "execute",
- "name": "execute PropertiesNode",
- "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": 522.2024078369141,
- "y": 188.4255886077881,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "794a160e.b68c48",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 729.2857055664062,
- "y": 1853.2470073699951,
- "z": "2d523017.81121",
- "wires": [
- [
- "8d68e064.9148"
- ]
- ]
- },
- {
- "id": "b4c0271b.8d9548",
- "type": "switchNode",
- "name": "switch ecomp-naming",
- "xml": "<switch test='`$db.vf-model.ecomp-generated-naming`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1106.9050941467285,
- "y": 1753.961443901062,
- "z": "2d523017.81121",
- "wires": [
- [
- "1882b0bf.c2311f",
- "2eeee2ce.d551be",
- "b8c05ccb.47683"
- ]
- ]
- },
- {
- "id": "8d68e064.9148",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 875.0002059936523,
- "y": 1853.247124671936,
- "z": "2d523017.81121",
- "wires": [
- [
- "b4c0271b.8d9548",
- "2febaea8.95a862"
- ]
- ]
- },
- {
- "id": "2eeee2ce.d551be",
- "type": "outcome",
- "name": "N",
- "xml": "<outcome value='N'>",
- "comments": "",
- "outputs": 1,
- "x": 1293.333480834961,
- "y": 1754.4375705718994,
- "z": "2d523017.81121",
- "wires": [
- [
- "da3712d9.f41f4"
- ]
- ]
- },
- {
- "id": "1882b0bf.c2311f",
- "type": "outcome",
- "name": "Y",
- "xml": "<outcome value='Y'>",
- "comments": "",
- "outputs": 1,
- "x": 1293.3334732055664,
- "y": 1713.0090246200562,
- "z": "2d523017.81121",
- "wires": [
- [
- "18523eea.6d6ad1"
- ]
- ]
- },
- {
- "id": "b8c05ccb.47683",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1293.3334197998047,
- "y": 1797.2947025299072,
- "z": "2d523017.81121",
+ "x": 628,
+ "y": 451,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "da3712d9.f41f4"
+ "f7cfe715.aecd18"
]
]
},
{
- "id": "18523eea.6d6ad1",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1430.476390838623,
- "y": 1713.151891708374,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "109f5318.f22f2d",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 714.476432800293,
- "y": 2207.866183280945,
- "z": "2d523017.81121",
- "wires": [
- [
- "fa97f7fa.540fd8"
- ]
- ]
- },
- {
- "id": "fa97f7fa.540fd8",
- "type": "set",
- "name": "set tmp.vnf-name",
- "xml": "<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-information.vnf-name`\" />\n",
- "comments": "",
- "x": 880.238395690918,
- "y": 2206.7234535217285,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "8d7fa952.98d108",
+ "id": "ef1a11b7.9f048",
"type": "call",
- "name": "call GENERIC-RESOURCE-API:generate-unique-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1765.3096733093262,
- "y": 1903.0089440345764,
- "z": "2d523017.81121",
- "wires": [
- [
- "681ac6a0.a11838",
- "f4abec22.90002"
- ]
- ]
- },
- {
- "id": "681ac6a0.a11838",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2042.4524765014648,
- "y": 1876.5804772377014,
- "z": "2d523017.81121",
- "wires": [
- [
- "6d7f13cc.8d975c"
- ]
- ]
- },
- {
- "id": "f4abec22.90002",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2047.2142219543457,
- "y": 1921.9613881111145,
- "z": "2d523017.81121",
- "wires": [
- [
- "f9e4fa65.eb0968"
- ]
- ]
- },
- {
- "id": "b5dba753.21ae88",
- "type": "set",
- "name": "set variables for generating unique name",
- "xml": "<set>\n<parameter name='generate-unique-name-input.action' value='ASSIGN' />\n<parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`\" />\n",
- "comments": "",
- "x": 1720.3099250793457,
- "y": 1854.1042637825012,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f9e4fa65.eb0968",
- "type": "set",
- "name": "set tmp.vnf-name to generated name",
- "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\n",
- "comments": "",
- "x": 2270.1186180114746,
- "y": 1921.4374632835388,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "2febaea8.95a862",
- "type": "switchNode",
- "name": "switch naming-policy",
- "xml": "<switch test='`$db.vf-model.naming-policy`'>\n",
+ "name": "call vnf-topology-operation-assign-sync",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-sync' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1104.6906776428223,
- "y": 1962.2470607757568,
- "z": "2d523017.81121",
+ "x": 1314,
+ "y": 360,
+ "z": "d1fefa2f.dc5878",
"wires": [
- [
- "8f7b27bf.e7e3a8",
- "b931038a.dea97"
- ]
- ]
- },
- {
- "id": "8f7b27bf.e7e3a8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1294.6906089782715,
- "y": 1883.675615310669,
- "z": "2d523017.81121",
- "wires": [
- [
- "1ce185e2.fb229a"
- ]
- ]
- },
- {
- "id": "b931038a.dea97",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1294.9288482666016,
- "y": 2011.056559562683,
- "z": "2d523017.81121",
- "wires": [
- [
- "42c58d7a.bc5884"
- ]
- ]
- },
- {
- "id": "1ce185e2.fb229a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1447.5478782653809,
- "y": 1882.2470817565918,
- "z": "2d523017.81121",
- "wires": [
- [
- "b5dba753.21ae88",
- "8d7fa952.98d108"
- ]
+ []
]
},
{
- "id": "17d076a4.213ab9",
+ "id": "4b8837af.8e5f18",
"type": "call",
- "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "name": "call vnf-topology-operation-assign-async",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-async' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1786.595802307129,
- "y": 2026.7709412574768,
- "z": "2d523017.81121",
+ "x": 1403,
+ "y": 563,
+ "z": "d1fefa2f.dc5878",
"wires": [
- [
- "7ca77e3f.200f2",
- "edded880.2d4e08"
- ]
- ]
- },
- {
- "id": "42c58d7a.bc5884",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1449.4526977539062,
- "y": 2011.056559562683,
- "z": "2d523017.81121",
- "wires": [
- [
- "9ce0b71c.18bda8",
- "17d076a4.213ab9"
- ]
- ]
- },
- {
- "id": "9ce0b71c.18bda8",
- "type": "set",
- "name": "set variables for generating name",
- "xml": "<set>\n<parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\n<parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />",
- "comments": "",
- "x": 1696.595718383789,
- "y": 1981.05659532547,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "efe8f3b.6be4a1",
- "type": "set",
- "name": "set tmp.vnf-name to generated name",
- "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\n",
- "comments": "",
- "x": 2346.4527740478516,
- "y": 2046.770751953125,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f54d4b54.f29d58",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1912.7142639160156,
- "y": 6493.819259643555,
- "z": "2d523017.81121",
- "wires": [
- [
- "a406d4bc.916068",
- "9c453248.1f195",
- "d27d64fe.c0c2c8",
- "71ce4538.3940fc"
- ]
- ]
- },
- {
- "id": "7ca77e3f.200f2",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2084.761848449707,
- "y": 2001.6994485855103,
- "z": "2d523017.81121",
- "wires": [
- [
- "702e58b3.200b38"
- ]
- ]
- },
- {
- "id": "edded880.2d4e08",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2089.523593902588,
- "y": 2047.0803594589233,
- "z": "2d523017.81121",
- "wires": [
- [
- "efe8f3b.6be4a1"
- ]
- ]
- },
- {
- "id": "8e72cfc8.575e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 739.9999465942383,
- "y": 1356.666666984558,
- "z": "2d523017.81121",
- "wires": [
- [
- "46dd139e.86081c",
- "761b2c43.67ef34"
- ]
- ]
- },
- {
- "id": "87cefff2.af896",
- "type": "for",
- "name": "for each instance group id",
- "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 523.3332939147949,
- "y": 1357.333312034607,
- "z": "2d523017.81121",
- "wires": [
- [
- "8e72cfc8.575e"
- ]
- ]
- },
- {
- "id": "46dd139e.86081c",
- "type": "get-resource",
- "name": "get-resource instance-group",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"instance-group\" \n\t\tkey=\"instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\"\n pfx='aai.instance-group' local-only='false' >\n\n",
- "comments": "",
- "outputs": 1,
- "x": 967.9999847412109,
- "y": 1288.3334255218506,
- "z": "2d523017.81121",
- "wires": [
- [
- "113b83c3.c5f2cc",
- "1095d6a8.eb1ea9"
- ]
- ]
- },
- {
- "id": "1095d6a8.eb1ea9",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1185.5792770385742,
- "y": 1319.8174781799316,
- "z": "2d523017.81121",
- "wires": [
- [
- "6b5b96d7.f11058"
- ]
- ]
- },
- {
- "id": "113b83c3.c5f2cc",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1194.5081100463867,
- "y": 1256.4366302490234,
- "z": "2d523017.81121",
- "wires": [
- [
- "3d4ce14c.b56fbe"
- ]
- ]
- },
- {
- "id": "761b2c43.67ef34",
- "type": "for",
- "name": "for each relationship",
- "xml": "<for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 944.9999618530273,
- "y": 1428.3333644866943,
- "z": "2d523017.81121",
- "wires": [
- [
- "ef07f13d.87a9"
- ]
- ]
- },
- {
- "id": "ef07f13d.87a9",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1158.3334045410156,
- "y": 1428.333303451538,
- "z": "2d523017.81121",
- "wires": [
- [
- "df5b0cc3.ccd9a"
- ]
- ]
- },
- {
- "id": "df5b0cc3.ccd9a",
- "type": "outcome",
- "name": "collection",
- "xml": "<outcome value='collection'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1330.00004196167,
- "y": 1428.3333854675293,
- "z": "2d523017.81121",
- "wires": [
- [
- "98da2133.07fbe"
- ]
- ]
- },
- {
- "id": "98da2133.07fbe",
- "type": "get-resource",
- "name": "get-resource collection",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"collection\" \n\t\tkey=\"collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\"\n pfx='aai.collection' local-only='false' >\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1549.9999465942383,
- "y": 1426.6666469573975,
- "z": "2d523017.81121",
- "wires": [
- [
- "c6ab56ad.e1e918",
- "c4f813df.f6eb3",
- "fa511cd0.4acf7"
- ]
- ]
- },
- {
- "id": "c4f813df.f6eb3",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1764.2461395263672,
- "y": 1378.1508359909058,
- "z": "2d523017.81121",
- "wires": [
- [
- "1cfc4c24.ab0124"
- ]
- ]
- },
- {
- "id": "c6ab56ad.e1e918",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1773.1747360229492,
- "y": 1336.4365692138672,
- "z": "2d523017.81121",
- "wires": [
- [
- "75f0b66c.711368"
- ]
- ]
- },
- {
- "id": "fa511cd0.4acf7",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1783.33345413208,
- "y": 1539.9999542236328,
- "z": "2d523017.81121",
- "wires": [
- [
- "2caf3e47.5abe82"
- ]
- ]
- },
- {
- "id": "2caf3e47.5abe82",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1936.6665954589844,
- "y": 1539.3332500457764,
- "z": "2d523017.81121",
- "wires": [
- [
- "889214a0.071c58",
- "61c009cd.371838",
- "1b8b156c.6c083b",
- "79b15187.90b49",
- "67373c69.98b004"
- ]
- ]
- },
- {
- "id": "889214a0.071c58",
- "type": "for",
- "name": "for each network-instance-group",
- "xml": "<for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2249.2857360839844,
- "y": 1488.5715045928955,
- "z": "2d523017.81121",
- "wires": [
- [
- "64d1075e.ee3f48"
- ]
- ]
- },
- {
- "id": "61c009cd.371838",
- "type": "set",
- "name": "set found-network-instance-group to false",
- "xml": "<set>\n<parameter name='found-network-instance-group' value='false' />\n",
- "comments": "",
- "x": 2279.2856979370117,
- "y": 1441.9048767089844,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "64d1075e.ee3f48",
- "type": "switchNode",
- "name": "network-instance-group-id matches?",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2565.952247619629,
- "y": 1488.5715036392212,
- "z": "2d523017.81121",
- "wires": [
- [
- "e14a30ad.b266"
- ]
- ]
- },
- {
- "id": "e14a30ad.b266",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2787.619026184082,
- "y": 1488.5714683532715,
- "z": "2d523017.81121",
- "wires": [
- [
- "338a6e83.74e682"
- ]
- ]
- },
- {
- "id": "338a6e83.74e682",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2917.61905670166,
- "y": 1488.5715446472168,
- "z": "2d523017.81121",
- "wires": [
- [
- "b65b391.a6cd9c8",
- "5a856f0a.aefef"
- ]
- ]
- },
- {
- "id": "b65b391.a6cd9c8",
- "type": "set",
- "name": "set found-network-instance-group to true",
- "xml": "<set>\n<parameter name='found-network-instance-group' value='true' />\n",
- "comments": "",
- "x": 3190.952423095703,
- "y": 1463.5715236663818,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "5a856f0a.aefef",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3084.2860374450684,
- "y": 1511.904893875122,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "1b8b156c.6c083b",
- "type": "switchNode",
- "name": "switch found-network-instance-group",
- "xml": "<switch test='`$found-network-instance-group`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2260.9523544311523,
- "y": 1538.5714855194092,
- "z": "2d523017.81121",
- "wires": [
- [
- "49805ef2.194a"
- ]
- ]
- },
- {
- "id": "49805ef2.194a",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2482.6192016601562,
- "y": 1538.5715079307556,
- "z": "2d523017.81121",
- "wires": [
- [
- "a3ec7ac.ac12b88"
- ]
- ]
- },
- {
- "id": "9e4b2f5.d8554d",
- "type": "set",
- "name": "set tmp.vnf-network-collection_length to 0",
- "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='0' />\n",
- "comments": "",
- "x": 571.666633605957,
- "y": 1308.3334436416626,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "79b15187.90b49",
- "type": "set",
- "name": "set vnf-network-collection data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\n value='`$aai.instance-group.instance-group-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\n value='`$aai.instance-group.id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\n value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\n value='`$aai.collection.collection-customization-id`' />\n",
- "comments": "",
- "x": 2240.95267868042,
- "y": 1586.904821395874,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "67373c69.98b004",
- "type": "set",
- "name": "increment tmp.vnf-network-collection_length",
- "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\n",
- "comments": "",
- "x": 2282.619384765625,
- "y": 1633.5714893341064,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "5563a4c5.a199ec",
- "type": "set",
- "name": "set vnf-network-collection_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\n value='`$tmp.vnf-network-collection_length`' />\n",
- "comments": "",
- "x": 550.8333282470703,
- "y": 1565.8333930969238,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "a9b7ab72.63a7e8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 668.6667098999023,
- "y": 5898.80961894989,
- "z": "2d523017.81121",
- "wires": [
- [
- "f0f08819.d9d3b8"
- ]
- ]
- },
- {
- "id": "97421a9a.865f98",
- "type": "for",
- "name": "for each instance group id",
- "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 452.000057220459,
- "y": 5899.476263999939,
- "z": "2d523017.81121",
- "wires": [
- [
- "a9b7ab72.63a7e8"
- ]
- ]
- },
- {
- "id": "f0f08819.d9d3b8",
- "type": "save",
- "name": "save generic-vnf relationship to instance-group",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"instance-group\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/instance-groups/instance-group/'\n + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 952.0000381469727,
- "y": 5898.333299636841,
- "z": "2d523017.81121",
- "wires": [
- [
- "7a8ee12f.371a6",
- "1be782fa.92bfcd"
- ]
- ]
- },
- {
- "id": "7a8ee12f.371a6",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1211.3572616577148,
- "y": 5875.285715103149,
- "z": "2d523017.81121",
- "wires": [
- [
- "b5b87fb0.590f"
- ]
- ]
- },
- {
- "id": "1be782fa.92bfcd",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1219.9286918640137,
- "y": 5919.57142829895,
- "z": "2d523017.81121",
- "wires": [
- [
- "610d2304.a3d70c"
- ]
+ []
]
},
{
- "id": "c41b6137.b6d4b",
+ "id": "f7cfe715.aecd18",
"type": "switchNode",
- "name": "switch subnet_length",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\n",
+ "name": "so-response-url = ignored URL?",
+ "xml": "<switch test='$vnf-topology-operation-input.sdnc-request-header.svc-notification-url) == $prop.so.ignore-url'>\n",
"comments": "",
"outputs": 1,
- "x": 1273.5714569091797,
- "y": 4331.428667068481,
- "z": "2d523017.81121",
+ "x": 850,
+ "y": 452,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "f2057e5e.eaee4",
- "f813a06e.cb2a1",
- "ce347497.746558"
+ "585f0b6a.5484b4",
+ "99002e6e.d012d"
]
]
},
{
- "id": "f2057e5e.eaee4",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1446.4286193847656,
- "y": 4294.285726547241,
- "z": "2d523017.81121",
- "wires": [
- [
- "82fb5a4d.e1f5b8"
- ]
- ]
- },
- {
- "id": "f813a06e.cb2a1",
- "type": "outcome",
- "name": "0",
- "xml": "<outcome value='0'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1447.8571891784668,
- "y": 4332.856889724731,
- "z": "2d523017.81121",
- "wires": [
- [
- "82fb5a4d.e1f5b8"
- ]
- ]
- },
- {
- "id": "ce347497.746558",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1446.428653717041,
- "y": 4371.428281784058,
- "z": "2d523017.81121",
- "wires": [
- [
- "7cc4f5b7.8976ac"
- ]
- ]
- },
- {
- "id": "7cc4f5b7.8976ac",
+ "id": "4626099.919e7f8",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1567.8572082519531,
- "y": 4371.428548812866,
- "z": "2d523017.81121",
+ "x": 189,
+ "y": 321,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "a129d9ae.667dd8",
- "84d519bc.318478"
+ "961c47b7.44b8d",
+ "34c5880c.3f1be8"
]
]
},
{
- "id": "82fb5a4d.e1f5b8",
- "type": "set",
- "name": "set subnet_length to 0",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='0' />\n",
- "comments": "",
- "x": 1639.2858123779297,
- "y": 4302.856889724731,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "9ab83872.914ab8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 256.7460632324219,
- "y": 368.11908626556396,
- "z": "2d523017.81121",
- "wires": [
- [
- "2bc8145e.9e6d7c",
- "49a698b9.947698",
- "ade9f393.c1d96",
- "36f653c4.5383bc",
- "16470885.0e3b37",
- "1caeb411.8cfeac",
- "fe102b69.7b64c8"
- ]
- ]
- },
- {
- "id": "26e050ad.0575e",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1909.047664642334,
- "y": 4350.032744407654,
- "z": "2d523017.81121",
- "wires": [
- [
- "6613870.b132378",
- "722310bb.9f769",
- "9fd39f7.3cbf46",
- "d3095f31.7d4de"
- ]
- ]
- },
- {
- "id": "8dc14ff8.fbd57",
- "type": "set",
- "name": "clear aai.l3-network",
- "xml": "<set>\n<parameter name='aai.l3-network.' value='' />\n",
- "comments": "",
- "x": 1260.4762344360352,
- "y": 3404.3182973861694,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "6ee99534.f9db3c",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3709.3330459594727,
- "y": 4250.032426834106,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "85730c77.85f6e",
- "type": "set",
- "name": "set found-network to false",
- "xml": "<set>\n<parameter name='found-network' value='false' />\n",
- "comments": "",
- "x": 1409.0476379394531,
- "y": 3955.7468309402466,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "3979a64c.84ab9a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2380.7619438171387,
- "y": 4110.032627105713,
- "z": "2d523017.81121",
- "wires": [
- [
- "d24ce0d7.c8619",
- "c4e4f6d8.6939d8"
- ]
- ]
- },
- {
- "id": "c4e4f6d8.6939d8",
- "type": "switchNode",
- "name": "switch found-network",
- "xml": "<switch test='`$found-network`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2572.1904907226562,
- "y": 4140.032681465149,
- "z": "2d523017.81121",
- "wires": [
- [
- "8700444f.d17ae8"
- ]
- ]
- },
- {
- "id": "133789d2.fbdb36",
- "type": "set",
- "name": "set found-network to true",
- "xml": "<set>\n<parameter name='found-network' value='true' />\n",
- "comments": "",
- "x": 3765.047924041748,
- "y": 4204.3181076049805,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "8700444f.d17ae8",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2740.7619819641113,
- "y": 4140.0326108932495,
- "z": "2d523017.81121",
- "wires": [
- [
- "4c345848.e3a208"
- ]
- ]
- },
- {
- "id": "4c345848.e3a208",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 2870.762050628662,
- "y": 4138.604004859924,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "c1ed15e6.f88648",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1581.0476608276367,
- "y": 4083.7469053268433,
- "z": "2d523017.81121",
- "wires": [
- [
- "e75f10eb.ced4f",
- "be46946a.165bb8"
- ]
- ]
- },
- {
- "id": "be46946a.165bb8",
- "type": "switchNode",
- "name": "switch found-network",
- "xml": "<switch test='`$found-network`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1791.0476150512695,
- "y": 4155.746788978577,
- "z": "2d523017.81121",
- "wires": [
- [
- "2f6a30a5.92d22"
- ]
- ]
- },
- {
- "id": "2f6a30a5.92d22",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1959.6191062927246,
- "y": 4155.746718406677,
- "z": "2d523017.81121",
- "wires": [
- [
- "587b7976.a36108"
- ]
- ]
- },
- {
- "id": "587b7976.a36108",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 2089.6191749572754,
- "y": 4154.318112373352,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "9fd39f7.3cbf46",
- "type": "set",
- "name": "set subnet data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\n value='`$tmp.ip-version`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\n",
- "comments": "",
- "x": 2063.3334312438965,
- "y": 4380.714490890503,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d3095f31.7d4de",
- "type": "switchNode",
- "name": "switch dhcp-enabled",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\n",
+ "id": "961c47b7.44b8d",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "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": 2077.8572120666504,
- "y": 4433.557444572449,
- "z": "2d523017.81121",
+ "x": 410,
+ "y": 320,
+ "z": "d1fefa2f.dc5878",
"wires": [
- [
- "a8c627c.ce253d8",
- "39879203.ca3c2e"
- ]
+ []
]
},
{
- "id": "a8c627c.ce253d8",
+ "id": "585f0b6a.5484b4",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 2240.714376722063,
- "y": 4412.1288022994995,
- "z": "2d523017.81121",
+ "x": 1090,
+ "y": 451,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "85e1593a.3a1828"
+ "ef1a11b7.9f048"
]
]
},
{
- "id": "39879203.ca3c2e",
+ "id": "99002e6e.d012d",
"type": "outcomeFalse",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 2239.2857093811035,
- "y": 4457.843228340149,
- "z": "2d523017.81121",
- "wires": [
- [
- "d7a92919.2d05e8"
- ]
- ]
- },
- {
- "id": "85e1593a.3a1828",
- "type": "set",
- "name": "set dhcp-enabled to Y",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='Y' />\n",
- "comments": "",
- "x": 2413.571575164795,
- "y": 4410.700198173523,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d7a92919.2d05e8",
- "type": "set",
- "name": "set dhcp-enabled to N",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='N' />\n",
- "comments": "",
- "x": 2410.714344024658,
- "y": 4457.843228340149,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "6613870.b132378",
- "type": "switchNode",
- "name": "switch subnet-role",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2078.333381652832,
- "y": 4262.605116844177,
- "z": "2d523017.81121",
- "wires": [
- [
- "75942d08.2adc24"
- ]
- ]
- },
- {
- "id": "75942d08.2adc24",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 2244.999984741211,
- "y": 4262.604768753052,
- "z": "2d523017.81121",
- "wires": [
- [
- "4010a065.68c26"
- ]
- ]
- },
- {
- "id": "4010a065.68c26",
- "type": "set",
- "name": "set subnet-role to NONE",
- "xml": "<set>\n<parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\n",
- "comments": "",
- "x": 2426.6667709350586,
- "y": 4261.93842124939,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "722310bb.9f769",
- "type": "switchNode",
- "name": "switch ip-version",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2073.5717163085938,
- "y": 4327.096222877502,
- "z": "2d523017.81121",
- "wires": [
- [
- "5fa58662.2f38f8",
- "df8a7995.4fde48"
- ]
- ]
- },
- {
- "id": "5fa58662.2f38f8",
- "type": "outcome",
- "name": "4",
- "xml": "<outcome value='4'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2239.285858154297,
- "y": 4308.524620056152,
- "z": "2d523017.81121",
- "wires": [
- [
- "5516675c.dd67e8"
- ]
- ]
- },
- {
- "id": "df8a7995.4fde48",
- "type": "outcome",
- "name": "6",
- "xml": "<outcome value='6'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2239.285820007324,
- "y": 4349.953363418579,
- "z": "2d523017.81121",
- "wires": [
- [
- "f2e70afd.b8c238"
- ]
- ]
- },
- {
- "id": "5516675c.dd67e8",
- "type": "set",
- "name": "set tmp.ip-version to ipv4",
- "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n",
- "comments": "",
- "x": 2426.428623199463,
- "y": 4307.667547225952,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f2e70afd.b8c238",
- "type": "set",
- "name": "set tmp.ip-version to ipv6",
- "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n",
- "comments": "",
- "x": 2425.000175476074,
- "y": 4349.953365325928,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "b7e5144f.5264b8",
- "type": "switchNode",
- "name": "switch network-role",
- "xml": "<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 705.9999084472656,
- "y": 4335.333273887634,
- "z": "2d523017.81121",
- "wires": [
- [
- "b3ca721f.fe335",
- "272dba83.a8aed6",
- "83078563.934988",
- "5dd2d1e7.b5782"
- ]
- ]
- },
- {
- "id": "b3ca721f.fe335",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 874.0951728820801,
- "y": 4233.66668510437,
- "z": "2d523017.81121",
- "wires": [
- [
- "15298732.e21cb9"
- ]
- ]
- },
- {
- "id": "272dba83.a8aed6",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 872.6665496826172,
- "y": 4361.999873161316,
- "z": "2d523017.81121",
- "wires": [
- [
- "fde1d716.a4a0e8"
- ]
- ]
- },
- {
- "id": "15298732.e21cb9",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1011.4761810302734,
- "y": 4273.42826461792,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "4e569933.c14918",
- "type": "get-resource",
- "name": "get-resource VNF_RELATED_NETWORK_ROLE",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n and network_role = $db.vf-network-role-mapping[$role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1368.0000038146973,
- "y": 4665.079788208008,
- "z": "2d523017.81121",
- "wires": [
- [
- "231fd20b.4ba7ee",
- "7d447ac2.636e24"
- ]
- ]
- },
- {
- "id": "231fd20b.4ba7ee",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1636.6666679382324,
- "y": 4495.746629714966,
- "z": "2d523017.81121",
- "wires": [
- [
- "c3080a54.9b9f68"
- ]
- ]
- },
- {
- "id": "7d447ac2.636e24",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1639.6666984558105,
- "y": 4858.41314125061,
- "z": "2d523017.81121",
- "wires": [
- [
- "75a86f84.f58c6"
- ]
- ]
- },
- {
- "id": "75a86f84.f58c6",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1806.0000038146973,
- "y": 4856.412796020508,
- "z": "2d523017.81121",
- "wires": [
- [
- "ec2c65f9.047778",
- "ef924ba7.f37c58",
- "13bb35f5.a0401a",
- "e36fed30.43efa",
- "13a6411b.4f65df",
- "e8de30ac.6f904",
- "dc960591.08f438",
- "e90b4b31.6e7908",
- "56b41d87.a09d94"
- ]
- ]
- },
- {
- "id": "225c2fa8.b622f",
- "type": "outcome",
- "name": "service-instance",
- "xml": "<outcome value='service-instance'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2744.285472869873,
- "y": 4028.651467323303,
- "z": "2d523017.81121",
- "wires": [
- [
- "99500da8.54e39"
- ]
- ]
- },
- {
- "id": "99500da8.54e39",
- "type": "for",
- "name": "for each relationship data",
- "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2969.7613105773926,
- "y": 4029.0800971984863,
- "z": "2d523017.81121",
- "wires": [
- [
- "ee0dc0db.eb114"
- ]
- ]
- },
- {
- "id": "ee0dc0db.eb114",
- "type": "switchNode",
- "name": "switch relationship-key",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3204.9998817443848,
- "y": 4027.413528442383,
- "z": "2d523017.81121",
- "wires": [
- [
- "d270b105.8ac1a"
- ]
- ]
- },
- {
- "id": "d270b105.8ac1a",
- "type": "outcome",
- "name": "service-instance.service-instance-id",
- "xml": "<outcome value='service-instance.service-instance-id'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3471.4282417297363,
- "y": 4027.413592338562,
- "z": "2d523017.81121",
- "wires": [
- [
- "bda20892.371be8"
- ]
- ]
- },
- {
- "id": "bda20892.371be8",
- "type": "set",
- "name": "set network-service-instance-id",
- "xml": "<set>\n<parameter name='network-service-instance-id'\n value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\n",
- "comments": "",
- "x": 3765.000026702881,
- "y": 4025.747007369995,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "ec2c65f9.047778",
- "type": "execute",
- "name": "generate network-topology-identifier-structure url",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.network-topology-identifier-structure`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$network-service-instance-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 2125.3331718444824,
- "y": 4552.080429077148,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "13bb35f5.a0401a",
- "type": "execute",
- "name": "execute RestApiCallNode - get network-topology-identifier-structure",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-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-ntis\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 2182.33296585083,
- "y": 4655.509169578552,
- "z": "2d523017.81121",
- "wires": [
- [
- "3038b18e.e97b7e"
- ]
- ]
- },
- {
- "id": "ef924ba7.f37c58",
- "type": "execute",
- "name": "generate network-topology-identifier-structure url (part 2)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ntis-url\"/>\n <parameter name=\"target\" value=\"{network-id}\"/>\n <parameter name=\"replacement\" value=\"`$l3-network-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 2146.9997596740723,
- "y": 4595.413772583008,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "59c331da.0d09b",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 452.33337783813477,
- "y": 4502.079788208008,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "3038b18e.e97b7e",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2511.442153930664,
- "y": 4655.259647369385,
- "z": "2d523017.81121",
- "wires": [
- [
- "f361b5ff.f38548"
- ]
- ]
- },
- {
- "id": "e36fed30.43efa",
- "type": "set",
- "name": "set is-trunked and segmentation-id in vnf-network",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\n value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\n value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\n ",
- "comments": "",
- "x": 2124.999988555908,
- "y": 4715.746793746948,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "e8de30ac.6f904",
- "type": "save",
- "name": "custom query: get owning entity",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.oe\">\n<parameter name=\"start[0]\" value=\"`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"/query/owning-entity-fromService-instance\" /> \n",
- "comments": "",
- "outputs": 1,
- "x": 2065.9998817443848,
- "y": 4791.080276489258,
- "z": "2d523017.81121",
- "wires": [
- [
- "bb11fe98.9b1b9",
- "12e91c7e.074344"
- ]
- ]
- },
- {
- "id": "bb11fe98.9b1b9",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2276.2379302978516,
- "y": 4769.74663066864,
- "z": "2d523017.81121",
- "wires": [
- [
- "b897f854.8a4f58"
- ]
- ]
- },
- {
- "id": "12e91c7e.074344",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2283.3808250427246,
- "y": 4815.460855484009,
- "z": "2d523017.81121",
- "wires": [
- [
- "a1cce433.a5c9a8"
- ]
- ]
- },
- {
- "id": "eb288d10.2446b",
- "type": "save",
- "name": "custom query: get tenant network",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.get-networks\">\n<parameter name=\"start[0]\" value=\"`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\n + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" /> \n",
- "comments": "",
- "outputs": 1,
- "x": 2515.6666984558105,
- "y": 4964.080413818359,
- "z": "2d523017.81121",
- "wires": [
- [
- "23ed24a4.2c91dc",
- "b4f16506.66bd08"
- ]
- ]
- },
- {
- "id": "23ed24a4.2c91dc",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2728.9047470092773,
- "y": 4942.746912956238,
- "z": "2d523017.81121",
- "wires": [
- [
- "3e5e2886.704ec8"
- ]
- ]
- },
- {
- "id": "b4f16506.66bd08",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2736.0476417541504,
- "y": 4988.461137771606,
- "z": "2d523017.81121",
- "wires": [
- [
- "fb3762dd.d74d3"
- ]
- ]
- },
- {
- "id": "e2f76977.fea098",
- "type": "for",
- "name": "for each relationship",
- "xml": "<for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2482.6666984558105,
- "y": 5090.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "586febb.af11914"
- ]
- ]
- },
- {
- "id": "586febb.af11914",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2680.6666984558105,
- "y": 5090.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "1b7b682d.5dd008"
- ]
- ]
- },
- {
- "id": "1b7b682d.5dd008",
- "type": "outcome",
- "name": "vlan-tag",
- "xml": "<outcome value='vlan-tag'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2850.6666984558105,
- "y": 5090.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "9b43a30b.ab1c1"
- ]
- ]
- },
- {
- "id": "9b43a30b.ab1c1",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3018.6666984558105,
- "y": 5088.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "97d76a2c.076008",
- "47618d94.b0d374",
- "1bf4c98d.f9c076"
- ]
- ]
- },
- {
- "id": "97d76a2c.076008",
- "type": "set",
- "name": "set vlan-tag-id",
- "xml": "<set>\n<parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\n",
- "comments": "",
- "x": 3194.6666984558105,
- "y": 5048.0805587768555,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "47618d94.b0d374",
- "type": "get-resource",
- "name": "get-resource vlan-tag",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vlan-tag\" \n\t\tkey=\"vlan-tag.vlan-tag-id = $vlan-tag-id\"\n pfx='aai.vlan-tag' local-only='false'\n>\n",
- "comments": "",
- "outputs": 1,
- "x": 3216.6666984558105,
- "y": 5106.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "1f2ba326.d9772d",
- "fbf7fa7c.23d608"
- ]
- ]
- },
- {
- "id": "1f2ba326.d9772d",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3396.7143058776855,
- "y": 5088.2236251831055,
- "z": "2d523017.81121",
- "wires": [
- [
- "cf0cc9f2.e1c008"
- ]
- ]
- },
- {
- "id": "13a6411b.4f65df",
- "type": "for",
- "name": "for each related network role",
- "xml": "<for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2053.6666297912598,
- "y": 5020.414123535156,
- "z": "2d523017.81121",
- "wires": [
- [
- "668947e0.2f65c8"
- ]
- ]
- },
- {
- "id": "668947e0.2f65c8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2258.6666297912598,
- "y": 5021.747268676758,
- "z": "2d523017.81121",
- "wires": [
- [
- "eb288d10.2446b",
- "e2f76977.fea098",
- "986e7ac7.81d148"
- ]
- ]
- },
- {
- "id": "e90b4b31.6e7908",
- "type": "switchNode",
- "name": "switch rn-index",
- "xml": "<switch test='`$rn-index`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2014.6666297912598,
- "y": 4910.080276489258,
- "z": "2d523017.81121",
- "wires": [
- [
- "896e1959.7fd6a8"
- ]
- ]
- },
- {
- "id": "dc960591.08f438",
- "type": "set",
- "name": "set rn-index to related network length",
- "xml": "<set>\n<parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\n",
- "comments": "",
- "x": 2083.3332176208496,
- "y": 4861.080129623413,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "896e1959.7fd6a8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 2178.6666297912598,
- "y": 4910.080276489258,
- "z": "2d523017.81121",
- "wires": [
- [
- "83542037.398bf"
- ]
- ]
- },
- {
- "id": "83542037.398bf",
- "type": "set",
- "name": "set rn-index to 0",
- "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
- "comments": "",
- "x": 2338.6666297912598,
- "y": 4910.080276489258,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "986e7ac7.81d148",
- "type": "set",
- "name": "set related-network data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\n",
- "comments": "",
- "x": 2486.3332862854004,
- "y": 5020.747100830078,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "56b41d87.a09d94",
- "type": "set",
- "name": "set new related network length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
- "comments": "",
- "x": 2048.6666984558105,
- "y": 5164.080413818359,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "fbf7fa7c.23d608",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3398.6666984558105,
- "y": 5136.080413818359,
- "z": "2d523017.81121",
- "wires": [
- [
- "dc2e5d86.8c21f"
- ]
- ]
- },
- {
- "id": "dc2e5d86.8c21f",
- "type": "set",
- "name": "set related-network data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$aai.vlan-tag.vlan-tag-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$aai.vlan-tag.vlan-id-outer`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$aai.vlan-tag.vlan-id-inner`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$aai.vlan-tag.is-private`' />\n",
- "comments": "",
- "x": 3590.6666984558105,
- "y": 5136.080413818359,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "1bf4c98d.f9c076",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3168.6666984558105,
- "y": 5174.080413818359,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "2f24f627.1d687a",
- "type": "comment",
- "name": "temporary data issue: also ignore string \"null\" and \"NULL\"",
- "info": "",
- "comments": "",
- "x": 845.0000114440918,
- "y": 4193.842397689819,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "83078563.934988",
- "type": "outcome",
- "name": "null",
- "xml": "<outcome value='null'>\n",
- "comments": "",
- "outputs": 1,
- "x": 872.1428337097168,
- "y": 4276.69953918457,
- "z": "2d523017.81121",
- "wires": [
- [
- "15298732.e21cb9"
- ]
- ]
- },
- {
- "id": "5dd2d1e7.b5782",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value='NULL'>",
- "comments": "",
- "outputs": 1,
- "x": 872.14284324646,
- "y": 4319.556611061096,
- "z": "2d523017.81121",
- "wires": [
- [
- "15298732.e21cb9"
- ]
- ]
- },
- {
- "id": "36f653c4.5383bc",
- "type": "switchNode",
- "name": "switch input cloud-owner",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 521.6667022705078,
- "y": 367.4136428833008,
- "z": "2d523017.81121",
- "wires": [
- [
- "6073cd09.c47954",
- "60806490.79275c"
- ]
- ]
- },
- {
- "id": "6073cd09.c47954",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 705.0000762939453,
- "y": 337.413631439209,
- "z": "2d523017.81121",
- "wires": [
- [
- "a192c343.146f"
- ]
- ]
- },
- {
- "id": "60806490.79275c",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 704.7619819641113,
- "y": 378.3661251068115,
- "z": "2d523017.81121",
- "wires": [
- [
- "7907b.f03a3f85"
- ]
- ]
- },
- {
- "id": "a192c343.146f",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 840.0000305175781,
- "y": 335.7469711303711,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "7907b.f03a3f85",
- "type": "set",
- "name": "set prop.cloud-region.cloud-owner",
- "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\n",
- "comments": "",
- "x": 921.6666870117188,
- "y": 377.41365242004395,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "16470885.0e3b37",
- "type": "call",
- "name": "call self-serve-vnf-forking-logic",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 539.5238265991211,
- "y": 688.2142810821533,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "1caeb411.8cfeac",
- "type": "switchNode",
- "name": "switch ss.self-serve-flag",
- "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 519.6665420532227,
- "y": 853.7857685089111,
- "z": "2d523017.81121",
- "wires": [
- [
- "37f74e26.cb2452",
- "beba854c.d89668"
- ]
- ]
- },
- {
- "id": "37f74e26.cb2452",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 731.3806991577148,
- "y": 927.0710525512695,
- "z": "2d523017.81121",
- "wires": [
- [
- "c8588b9c.b0d898"
- ]
- ]
- },
- {
- "id": "beba854c.d89668",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 730.9522171020508,
- "y": 790.6428861618042,
- "z": "2d523017.81121",
- "wires": [
- [
- "4645b056.44eb1"
- ]
- ]
- },
- {
- "id": "97a46274.9df5e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 911.111156463623,
- "y": 489.38886737823486,
- "z": "2d523017.81121",
- "wires": [
- [
- "2a1c1eb.da980e2",
- "22c02af2.d4ee26"
- ]
- ]
- },
- {
- "id": "df6715d9.ce37d8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 911.111156463623,
- "y": 537.9603090286255,
- "z": "2d523017.81121",
- "wires": [
- [
- "b8d206be.845728",
- "22c02af2.d4ee26"
- ]
- ]
- },
- {
- "id": "e48fe633.d5a078",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 913.9682731628418,
- "y": 582.2460145950317,
- "z": "2d523017.81121",
- "wires": [
- [
- "da0200d1.6944b",
- "22c02af2.d4ee26"
- ]
- ]
- },
- {
- "id": "2a1c1eb.da980e2",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVnfInstance'\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1147.539737701416,
- "y": 489.3888578414917,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b8d206be.845728",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1146.1111488342285,
- "y": 538.1031522750854,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "da0200d1.6944b",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1146.1111488342285,
- "y": 582.2460050582886,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "198f8218.7133ee",
- "type": "call",
- "name": "call self-serve-vnf-assign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1181.9878044128418,
- "y": 688.1072311401367,
- "z": "2d523017.81121",
- "wires": [
- [
- "d458bfd1.de073"
- ]
- ]
- },
- {
- "id": "e83e7b2d.1d4268",
- "type": "comment",
- "name": "SELF-SERVE FORK",
- "info": "",
- "comments": "",
- "x": 901.4285583496094,
- "y": 741.5119113922119,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d458bfd1.de073",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1387.285385131836,
- "y": 687.5952625274658,
- "z": "2d523017.81121",
- "wires": [
- [
- "c261dd9e.7394e"
- ]
- ]
- },
- {
- "id": "da6cb5e4.41c2f8",
- "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": 1157.2301712036133,
- "y": 936.789656996727,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "828a78b6.35b498",
- "type": "set",
- "name": "set vnf-level-oper-status to PendingCreate",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
- "comments": "",
- "x": 1245.0991516113281,
- "y": 739.599271774292,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "b15ef9f9.2e3088",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1144.3014678955078,
- "y": 790.0390481948853,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "4645b056.44eb1",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 921.5394287109375,
- "y": 790.4999408721924,
- "z": "2d523017.81121",
- "wires": [
- [
- "198f8218.7133ee",
- "828a78b6.35b498",
- "b15ef9f9.2e3088",
- "da6cb5e4.41c2f8",
- "afb784f3.b92c98",
- "179daba.4616354"
- ]
- ]
- },
- {
- "id": "22c02af2.d4ee26",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1762.9842987060547,
- "y": 767.2462577819824,
- "z": "2d523017.81121",
- "wires": [
- [
- "9f6e7d2d.65cdb",
- "efad6026.2740a"
- ]
- ]
- },
- {
- "id": "c261dd9e.7394e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1563.3016738891602,
- "y": 687.785698890686,
- "z": "2d523017.81121",
- "wires": [
- [
- "6b697ba4.a67094",
- "22c02af2.d4ee26"
- ]
- ]
- },
- {
- "id": "6b697ba4.a67094",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1774.8296203613281,
- "y": 629.690544128418,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "853dab16.a11508",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2205.666618347168,
- "y": 1201.666597366333,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "e351344c.af7228",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Cannot find instance group id ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in AAI'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1582.7617416381836,
- "y": 1256.476245880127,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "564bf42f.5df9ac",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving instance-group from AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1582.761703491211,
- "y": 1319.619031906128,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "33ec168e.11b45a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find AAI relationship from collection '\n + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\n + ' to service instance'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2177.333206176758,
- "y": 1335.9523315429688,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "38b03742.d98548",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to get network service instance '\n + $network-service-instance + ' from MD-SAL'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2178.8094482421875,
- "y": 1377.666732788086,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "56ab1164.7603f",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Could not find network instance group ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in MD-SAL service instance '\n + $network-service-instance`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2863.3335571289062,
- "y": 1536.1904573440552,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "60b9af41.99ebd",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2889.345314025879,
- "y": 1840.3692474365234,
- "z": "2d523017.81121",
- "wires": [
- [
- "816ac0ef.84b68",
- "67ea33dc.59706c"
- ]
- ]
- },
- {
- "id": "67d1f32e.64262c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2000.6664962768555,
- "y": 1199.9998836517334,
- "z": "2d523017.81121",
- "wires": [
- [
- "853dab16.a11508",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "3d4ce14c.b56fbe",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1370.999984741211,
- "y": 1256.6664772033691,
- "z": "2d523017.81121",
- "wires": [
- [
- "e351344c.af7228",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "6b5b96d7.f11058",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1371.666358947754,
- "y": 1319.3331823349,
- "z": "2d523017.81121",
- "wires": [
- [
- "564bf42f.5df9ac",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "75f0b66c.711368",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1959.9998779296875,
- "y": 1336.3333625793457,
- "z": "2d523017.81121",
- "wires": [
- [
- "33ec168e.11b45a",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "1cfc4c24.ab0124",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1958.333251953125,
- "y": 1378.333251953125,
- "z": "2d523017.81121",
- "wires": [
- [
- "38b03742.d98548",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "a3ec7ac.ac12b88",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2652.619094848633,
- "y": 1536.9047193527222,
- "z": "2d523017.81121",
- "wires": [
- [
- "56ab1164.7603f",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "da3712d9.f41f4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1459.0475540161133,
- "y": 1771.9046249389648,
- "z": "2d523017.81121",
- "wires": [
- [
- "62fa2d49.68c884",
- "5de10e3b.8401c"
- ]
- ]
- },
- {
- "id": "62fa2d49.68c884",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"No vnf-name was received but ecomp-generated-naming is not Y\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1688.90478515625,
- "y": 1772.3329601287842,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "6d7f13cc.8d975c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2211.9046783447266,
- "y": 1875.7618045806885,
- "z": "2d523017.81121",
- "wires": [
- [
- "4b15fa7b.a37b24",
- "5de10e3b.8401c"
- ]
- ]
- },
- {
- "id": "4b15fa7b.a37b24",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`$generate-unique-name-output.error-message`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2420.0475540161133,
- "y": 1875.3331956863403,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "702e58b3.200b38",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2260.476104736328,
- "y": 2001.9045372009277,
- "z": "2d523017.81121",
- "wires": [
- [
- "20b0a05b.f52ee",
- "5de10e3b.8401c"
- ]
- ]
- },
- {
- "id": "20b0a05b.f52ee",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Unable to generate VNF name\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2483.3331604003906,
- "y": 2002.3332080841064,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "5de10e3b.8401c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2535.2147064208984,
- "y": 2257.333641052246,
- "z": "2d523017.81121",
- "wires": [
- [
- "731462dd.b506dc",
- "33152a66.1de486"
- ]
- ]
- },
- {
- "id": "55ab3764.a14138",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 952.8571090698242,
- "y": 2912.2857341766357,
- "z": "2d523017.81121",
- "wires": [
- [
- "f054f599.b671b8",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "f054f599.b671b8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Cloud region not found in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1151.428451538086,
- "y": 2878.0000200271606,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "cbecda63.60f978",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 956.1904602050781,
- "y": 2955.619020462036,
- "z": "2d523017.81121",
- "wires": [
- [
- "7ff32092.da86f",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "7ff32092.da86f",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving cloud region from AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1154.7618026733398,
- "y": 2921.333306312561,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "9a466e25.4156f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 814.5238952636719,
- "y": 3134.619167327881,
- "z": "2d523017.81121",
- "wires": [
- [
- "9a766ef3.dad01",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "9a766ef3.dad01",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1024.5238876342773,
- "y": 3113.190655708313,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "2115eaa4.e5b146",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1911.1072616577148,
- "y": 3689.820848464966,
- "z": "2d523017.81121",
- "wires": [
- [
- "77d28d98.052f64",
- "2dcd5fd9.caa1d",
- "e2453329.ce9e1",
- "d8bb9422.93cd78"
- ]
- ]
- },
- {
- "id": "5be8614b.d2283",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1099.9999923706055,
- "y": 3224.714331626892,
- "z": "2d523017.81121",
- "wires": [
- [
- "8a74d4c9.f4d158",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "8a74d4c9.f4d158",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_TO_NETWORK_ROLE_MAPPING table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1302.8571014404297,
- "y": 3191.8572273254395,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "1b9558ce.3c84a7",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1669.9999465942383,
- "y": 3434.285619735718,
- "z": "2d523017.81121",
- "wires": [
- [
- "f01f3cd.81c20c",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "f01f3cd.81c20c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1881.4285507202148,
- "y": 3402.8569107055664,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "f361b5ff.f38548",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2690.4761276245117,
- "y": 4655.667684555054,
- "z": "2d523017.81121",
- "wires": [
- [
- "87fd5071.f5e61",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "87fd5071.f5e61",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`\n 'Error retrieving network-topology-identifier-structure for service instance '\n + $network-service-instance-id\n + ' and network-id '\n + $l3-network-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2901.9046325683594,
- "y": 4624.238899230957,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "c3080a54.9b9f68",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1803.1428604125977,
- "y": 4496.048126220703,
- "z": "2d523017.81121",
- "wires": [
- [
- "67128ab5.195dd4",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "67128ab5.195dd4",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VNF_RELATED_NETWORK_ROLE table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2017.1428604125977,
- "y": 4477.190979003906,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b897f854.8a4f58",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2447.6190872192383,
- "y": 4771.667268753052,
- "z": "2d523017.81121",
- "wires": [
- [
- "90365fab.e2211",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "90365fab.e2211",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error getting owning entity from service instance\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2654.762107849121,
- "y": 4747.381650924683,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "a1cce433.a5c9a8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2462.6190872192383,
- "y": 4816.667268753052,
- "z": "2d523017.81121",
- "wires": [
- [
- "1a20c9fe.aa7526",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "1a20c9fe.aa7526",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Unable to find owning entity from service instance\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2664.0477294921875,
- "y": 4790.953462600708,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "3e5e2886.704ec8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2906.6664810180664,
- "y": 4942.143200874329,
- "z": "2d523017.81121",
- "wires": [
- [
- "474a1c8f.5b8254",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "474a1c8f.5b8254",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error calling getNetworks custom query in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3122.380844116211,
- "y": 4912.143190383911,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "fb3762dd.d74d3",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2918.3332290649414,
- "y": 4987.143200874329,
- "z": "2d523017.81121",
- "wires": [
- [
- "d13c17c6.96baa8",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "d13c17c6.96baa8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No l3-network returned from getNetworks custom query for related network role '\n + $db.vnf-related-network-role[0].related-network-role`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3134.047592163086,
- "y": 4957.143190383911,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "cf0cc9f2.e1c008",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3562.618698120117,
- "y": 5088.333766937256,
- "z": "2d523017.81121",
+ "x": 1098,
+ "y": 552,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "583a5088.c3e55",
- "9615c407.df8ac8"
+ "4b8837af.8e5f18"
]
]
- },
- {
- "id": "583a5088.c3e55",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error getting vlan-tag object from AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3775.475830078125,
- "y": 5061.190900802612,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "9615c407.df8ac8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3682.345771789551,
- "y": 5539.275134086609,
- "z": "2d523017.81121",
- "wires": [
- [
- "2f005b1.f6000a4",
- "567a5bcf.b1abd4",
- "bda56dc4.abbc",
- "ab1a0201.102be"
- ]
- ]
- },
- {
- "id": "4fcc2ec6.5268d",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1669.9999313354492,
- "y": 3484.2856159210205,
- "z": "2d523017.81121",
- "wires": [
- [
- "75ca8e5d.ce23a",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "75ca8e5d.ce23a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving l3-network from AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1881.4285354614258,
- "y": 3452.856906890869,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "39a027a0.277908",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1805.71435546875,
- "y": 4195.714210510254,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "d03cff5b.4eae8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1605.71435546875,
- "y": 4210,
- "z": "2d523017.81121",
- "wires": [
- [
- "39a027a0.277908",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "63585eee.6f434",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1259.9999389648438,
- "y": 5382.856773376465,
- "z": "2d523017.81121",
- "wires": [
- [
- "2dd248fd.0355f8",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "2dd248fd.0355f8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No availability zones found in AAI for cloud region '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1462.8570709228516,
- "y": 5364.28534412384,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "ac3d2a38.193128",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1487.3811264038086,
- "y": 5509.524040222168,
- "z": "2d523017.81121",
- "wires": [
- [
- "fcb662f2.e888c",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "fcb662f2.e888c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating generic-vnf in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1688.8096771240234,
- "y": 5489.524041175842,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "edd6eeb3.58833",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1489.047752380371,
- "y": 5552.857048034668,
- "z": "2d523017.81121",
- "wires": [
- [
- "ed7e59f3.736ce8",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "ed7e59f3.736ce8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1690.476303100586,
- "y": 5532.857048988342,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "1d23943a.cc401c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1346.904800415039,
- "y": 5627.618696212769,
- "z": "2d523017.81121",
- "wires": [
- [
- "5db8f40e.5238ec",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "5db8f40e.5238ec",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating generic-vnf in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1544.5833358764648,
- "y": 5606.011522293091,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "48b115c8.09c9bc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1366.9642944335938,
- "y": 5672.678614616394,
- "z": "2d523017.81121",
- "wires": [
- [
- "33966a0a.bc1c26",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "33966a0a.bc1c26",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1571.2500610351562,
- "y": 5649.821611404419,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b5f5454e.605518",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 782.6785583496094,
- "y": 5782.29768371582,
- "z": "2d523017.81121",
- "wires": [
- [
- "5a2cf836.80cc88",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "5a2cf836.80cc88",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating selflink in generic-vnf in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 988.3928985595703,
- "y": 5758.011829376221,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "fb7909b7.07d3a8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 796.0118713378906,
- "y": 5825.63117980957,
- "z": "2d523017.81121",
- "wires": [
- [
- "840ebe47.1002a",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "840ebe47.1002a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1001.7262115478516,
- "y": 5801.345325469971,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b5b87fb0.590f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1376.059555053711,
- "y": 5875.011758804321,
- "z": "2d523017.81121",
- "wires": [
- [
- "9605363d.80ae88",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "9605363d.80ae88",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating relationship in generic-vnf in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1570.3452758789062,
- "y": 5849.2977504730225,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "610d2304.a3d70c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1391.059555053711,
- "y": 5918.345254898071,
- "z": "2d523017.81121",
- "wires": [
- [
- "70fd7745.526758",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "70fd7745.526758",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1585.3452758789062,
- "y": 5892.6312465667725,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b01ba289.b4c4d",
- "type": "execute",
- "name": "execute RestApiCallNode - PUT vnf",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $tmp.vnf.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=\"vnf-assign\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 485.9878692626953,
- "y": 6282.9891719818115,
- "z": "2d523017.81121",
- "wires": [
- [
- "b8a25bcd.5c5768",
- "336fda4d.6f39d6"
- ]
- ]
- },
- {
- "id": "b8a25bcd.5c5768",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 733.2006301879883,
- "y": 6304.319892883301,
- "z": "2d523017.81121",
- "wires": [
- [
- "dd704ec0.5452"
- ]
- ]
- },
- {
- "id": "336fda4d.6f39d6",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 725.629264831543,
- "y": 6262.819912910461,
- "z": "2d523017.81121",
- "wires": [
- [
- "dd704ec0.5452"
- ]
- ]
- },
- {
- "id": "dd704ec0.5452",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 901.225944519043,
- "y": 6282.750367164612,
- "z": "2d523017.81121",
- "wires": [
- [
- "70b79c9a.11b3d4",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "70b79c9a.11b3d4",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error doing PUT of vnf-data\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1106.9402542114258,
- "y": 6248.464484214783,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "f93440f1.dad62",
- "type": "set",
- "name": "set so.response-code = 200",
- "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />",
- "comments": "",
- "x": 456.7604293823242,
- "y": 6425.500561714172,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "fe102b69.7b64c8",
- "type": "set",
- "name": "Initialize SO 500 reponse params",
- "xml": "<set>\n<parameter name=\"so.ack-final-indicator\" value=\"Y\" />\n<parameter name=\"so.response-code\" value=\"500\" />\n<parameter name=\"so.notification-url\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`\" />\n<parameter name=\"so.svc-request-id\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`\" />\n<parameter name=\"so.service-type\" value=\"`$vnf-topology-operation-input.service-information.subscription-service-type`\" />\n<parameter name=\"so.service-instance-id\" value=\"`$vnf-topology-operation-input.service-information.service-instance-id`\" />\n",
- "comments": "",
- "x": 554.42724609375,
- "y": 261.9549217224121,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "77d28d98.052f64",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2236.9576263427734,
- "y": 3740.151798248291,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "afb784f3.b92c98",
- "type": "set",
- "name": "set so.reponse-code = 200",
- "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
- "comments": "",
- "x": 1197.5128784179688,
- "y": 836.2629871368408,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "2dcd5fd9.caa1d",
- "type": "set",
- "name": "set variables for deleting name",
- "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
- "comments": "",
- "x": 2183.762954711914,
- "y": 3639.040738105774,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "e2453329.ce9e1",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2281.334228515625,
- "y": 3689.1830978393555,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "bda56dc4.abbc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4015.7076721191406,
- "y": 5563.346151351929,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "2f005b1.f6000a4",
- "type": "set",
- "name": "set variables for deleting name",
- "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
- "comments": "",
- "x": 3962.5130004882812,
- "y": 5462.235091209412,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "567a5bcf.b1abd4",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4060.084274291992,
- "y": 5512.377450942993,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "d27d64fe.c0c2c8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2244.8742904663086,
- "y": 6544.319822311401,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "9c453248.1f195",
- "type": "set",
- "name": "set variables for deleting name",
- "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
- "comments": "",
- "x": 2187.929588317871,
- "y": 6443.2088985443115,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "a406d4bc.916068",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2285.500862121582,
- "y": 6493.351258277893,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "9f6e7d2d.65cdb",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2077.3744049072266,
- "y": 740.8462972640991,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "816ac0ef.84b68",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3201.1239700317383,
- "y": 1816.596351146698,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "731462dd.b506dc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2853.6240234375,
- "y": 2231.346435546875,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "5091afc0.4393d",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 521.2630310058594,
- "y": 6479.874531745911,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "179daba.4616354",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1269.5129089355469,
- "y": 885.0129909515381,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "efad6026.2740a",
- "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-message`\" />\n",
- "comments": "",
- "x": 1958.762954711914,
- "y": 791.2629833221436,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "67ea33dc.59706c",
- "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-message`\" />\n",
- "comments": "",
- "x": 3082.512939453125,
- "y": 1860.8463134765625,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "33152a66.1de486",
- "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-message`\" />\n",
- "comments": "",
- "x": 2737.512939453125,
- "y": 2279.596435546875,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d8bb9422.93cd78",
- "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-message`\" />\n",
- "comments": "",
- "x": 2117.5130882263184,
- "y": 3787.929880142212,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "ab1a0201.102be",
- "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-message`\" />\n",
- "comments": "",
- "x": 3898.485107421875,
- "y": 5613.06884765625,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "71ce4538.3940fc",
- "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-message`\" />\n",
- "comments": "",
- "x": 2124.735321044922,
- "y": 6591.263185501099,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "7381e60f.8d7388",
- "type": "execute",
- "name": "generate vnf URL (sub service-instance-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.vnf-assign`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.service-topology.service-topology-identifier.service-instance-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 510.0130157470703,
- "y": 6086.542016029358,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "ef3b1f74.d9716",
- "type": "execute",
- "name": "generate vnf URL (sub vnf-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.vnf.url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 465.012939453125,
- "y": 6137.969970703125,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "4c1fc0a3.ee098",
- "type": "set",
- "name": "copy vnf data",
- "xml": "<set>\n<parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />\n",
- "comments": "",
- "x": 410.90589904785156,
- "y": 6185.827503204346,
- "z": "2d523017.81121",
- "wires": []
}
] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.xml
new file mode 100644
index 00000000..923303a0
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.xml
@@ -0,0 +1,1862 @@
+<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='vf-module-topology-operation-assign-async' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <set>
+ <parameter name="so.ack-final-indicator" value="Y" />
+ <parameter name="so.response-code" value="500" />
+ <parameter name="so.notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />
+ <parameter name="so.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />
+ <parameter name="so.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />
+ <parameter name="so.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />
+ </set>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateVfModuleInstance'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-module-model'>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='vnf-index' value='-1' />
+ </set>
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='vnf-index' value='`$idx`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-index`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <set>
+ <parameter name="so.response-code" value="200" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vf-module-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
+ + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
+ value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
+ <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
+ <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving cloud region from AAI. Is AAI down?" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-module-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$db.vf-module-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$db.vf-module-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$db.vf-module-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
+ <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
+ <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-preload" />
+ <outcome value='failure'>
+ <block>
+ <switch test='`$mdsal-preload.response-code`'>
+ <outcome value='404'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving preload-information" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
+ </execute>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>
+ <outcome value='false'>
+ <set>
+ <parameter name='automated-assignment' value='true' />
+ </set>
+ </outcome>
+ <outcome value='true'>
+ <set>
+ <parameter name='automated-assignment' value='false' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='-1' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='`$idx`' />
+ </set>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$vnf-network-index`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'VNFC network role '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ + ' is not found in VNF network list'
+ `" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <for index='subnet-role-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
+ <for index='address-family-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='0'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='af-count' value='0' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <set>
+ <parameter name='af-count' value='`$af-count + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$af-count`'>
+ <outcome value='1'>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
+ value='`$subnet-id`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='-1' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have network-start-address populated'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have cidr-mask populated'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <set>
+ <parameter name='ip-type' value='IPv4' />
+ </set>
+ </outcome>
+ <outcome value='ipv6'>
+ <set>
+ <parameter name='ip-type' value='IPv6' />
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
+ <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
+ <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
+ <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
+ <parameter name="ipType" value="`$ip-type`" />
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$subnet-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
+ `" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </for>
+ </block>
+ </for>
+ </for>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
+ and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='false' />
+ </set>
+ <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
+ == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='true' />
+ </set>
+ <set>
+ <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
+ <parameter name='saved-related-network-index' value='`$related-network-index`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='false'>
+ <block atomic='true'>
+ <set>
+ <parameter name="error-message" value="`'Unable to find related network '
+ + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
+ </set>
+ <set>
+ <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </for>
+ </outcome>
+ </get-resource>
+ </block>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='vf-module-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vf-modules/vf-module/'
+ + $vf-module-topology-operation-input.vf-module-information.vf-module-id
+ + '/vf-module-data/vf-module-topology/'`"/>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="selflink" value="`$vf-module-object-path`" />
+ <parameter name="automated-assignment" value="`$automated-assignment`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vf-module in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ </set>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-function' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>
+ <outcome value=''>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ <outcome value='Other'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id +
+ '/vf-modules/vf-module/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vnfc relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
+ <parameter name="ctx-destination" value="cp-instance-id" />
+ </execute>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id" >
+ <parameter name="cp-instance-id" value="`$cp-instance-id`" />
+ <parameter name="port-id" value="0" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving cp object to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving cp object to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
+ value='`$cp-instance-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
+ value='0' />
+ </set>
+ <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
+ <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ <outcome value='ipv6'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </for>
+ <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </for>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
+ <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
+ <parameter name="vip-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
+ <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
+ <parameter name="vip-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
+ </execute>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
+ <block atomic="true">
+ <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
+ AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
+ AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </delete>
+ <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
+key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
+ value='$vf-module-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
+ value='$vf-module-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
+ value='$vf-module-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
+ value='$vf-module-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
+ value='$vf-module-topology-operation-input.vf-module-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
+ value='$vf-module-topology-operation-input.vf-module-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
+ </set>
+ <set>
+ <parameter name='vf-module-data.'
+ value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.vf-module`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{vnf-id}"/>
+ <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.vf-module.url"/>
+ <parameter name="target" value="{vf-module-id}"/>
+ <parameter name="replacement" value="`$vf-module-topology-operation-input.vf-module-information.vf-module-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`" />
+ <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vf-module.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="vf-module-assign" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error doing PUT of vf-module" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error doing PUT of vf-module" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
+ </execute>
+ <set>
+ <parameter name="so.response-code" value="200" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml
new file mode 100644
index 00000000..52601479
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml
@@ -0,0 +1,1433 @@
+<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='vf-module-topology-operation-assign-sync' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateVfModuleInstance'>
+ <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="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />
+ </return>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-module-model'>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
+ </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="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='vnf-index' value='-1' />
+ </set>
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='vnf-index' value='`$idx`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-index`'>
+ <outcome value='-1'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />
+ </return>
+ </outcome>
+ </switch>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`" />
+ </return>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vf-module-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
+ + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
+ value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
+ <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
+ <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </return>
+ </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 retrieving cloud region from AAI" />
+ </return>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-module-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$db.vf-module-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$db.vf-module-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$db.vf-module-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
+ <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
+ <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-preload" />
+ <outcome value='failure'>
+ <block>
+ <switch test='`$mdsal-preload.response-code`'>
+ <outcome value='404'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving preload-information" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
+ </execute>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>
+ <outcome value='false'>
+ <set>
+ <parameter name='automated-assignment' value='true' />
+ </set>
+ </outcome>
+ <outcome value='true'>
+ <set>
+ <parameter name='automated-assignment' value='false' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='-1' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='`$idx`' />
+ </set>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$vnf-network-index`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNFC network role '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ + ' is not found in VNF network list'
+ `" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <for index='subnet-role-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
+ <for index='address-family-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='0'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='af-count' value='0' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <set>
+ <parameter name='af-count' value='`$af-count + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$af-count`'>
+ <outcome value='1'>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
+ value='`$subnet-id`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='-1' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
+ <outcome value=''>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have network-start-address populated'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
+ <outcome value=''>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have cidr-mask populated'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <set>
+ <parameter name='ip-type' value='IPv4' />
+ </set>
+ </outcome>
+ <outcome value='ipv6'>
+ <set>
+ <parameter name='ip-type' value='IPv6' />
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
+ <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
+ <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
+ <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
+ <parameter name="ipType" value="`$ip-type`" />
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$subnet-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
+ `" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </for>
+ </block>
+ </for>
+ </for>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
+ and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='false' />
+ </set>
+ <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
+ == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='true' />
+ </set>
+ <set>
+ <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
+ <parameter name='saved-related-network-index' value='`$related-network-index`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='false'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find related network '
+ + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
+ </set>
+ <set>
+ <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </for>
+ </outcome>
+ </get-resource>
+ </block>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='vf-module-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vf-modules/vf-module/'
+ + $vf-module-topology-operation-input.vf-module-information.vf-module-id
+ + '/vf-module-data/vf-module-topology/'`"/>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="selflink" value="`$vf-module-object-path`" />
+ <parameter name="automated-assignment" value="`$automated-assignment`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-function' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>
+ <outcome value=''>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ <outcome value='Other'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id +
+ '/vf-modules/vf-module/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vnfc relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
+ <parameter name="ctx-destination" value="cp-instance-id" />
+ </execute>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id" >
+ <parameter name="cp-instance-id" value="`$cp-instance-id`" />
+ <parameter name="port-id" value="0" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating cp object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating cp object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
+ value='`$cp-instance-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
+ value='0' />
+ </set>
+ <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
+ <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ <outcome value='ipv6'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </for>
+ <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </for>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
+ <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
+ <parameter name="vip-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
+ <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
+ <parameter name="vip-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
+ </execute>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
+ <block atomic="true">
+ <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
+ AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
+ AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </delete>
+ <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
+key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
+ value='$vf-module-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
+ value='$vf-module-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
+ value='$vf-module-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
+ value='$vf-module-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
+ value='$vf-module-topology-operation-input.vf-module-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
+ value='$vf-module-topology-operation-input.vf-module-request-input.' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' ></call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml
index 4223b729..b6cd4203 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml
@@ -2,1861 +2,26 @@
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='vf-module-topology-operation-assign' mode='sync'>
- <block atomic="true">
+ <block>
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
<parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
<parameter name='contextPrefix' value='prop' />
</execute>
- <set>
- <parameter name="so.ack-final-indicator" value="Y" />
- <parameter name="so.response-code" value="500" />
- <parameter name="so.notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />
- <parameter name="so.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />
- <parameter name="so.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />
- <parameter name="so.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />
- </set>
- <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
- <outcome value='CreateVfModuleInstance'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'
- pfx='db.vf-module-model'>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <set>
- <parameter name='vnf-index' value='-1' />
- </set>
- <switch test='`$service-data.vnfs.vnf_length`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='Other'>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
- <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='vnf-index' value='`$idx`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- </outcome>
- </switch>
- <switch test='`$vnf-index`'>
- <outcome value='-1'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
- <switch test="`$ss.self-serve-flag`">
+ <switch test='length($vf-module-topology-operation-input.sdnc-request-header.svc-notification-url) == 0'>
<outcome value='true'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
- value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
- value='`$vf-module-topology-operation-input.request-information.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
- </execute>
- <set>
- <parameter name="so.response-code" value="200" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <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>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-sync' mode='sync' ></call>
</outcome>
<outcome value='false'>
- <block atomic="true">
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
- <outcome value=''>
- <set>
- <parameter name='vf-module-index' value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block>
- <set>
- <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
- </set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
- <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
- + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
- value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
- <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
- <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cloud-region"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
- cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
- pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving cloud region from AAI. Is AAI down?" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
- value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
- value='`$db.vf-module-model.invariant-uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
- value='`$db.vf-module-model.uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
- value='`$db.vf-module-model.version`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
- value='`$db.vf-module-model.name`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
- </set>
- <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
- <outcome value=''>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- </outcome>
- <outcome value='Other'>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
- <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-preload" />
- <outcome value='failure'>
- <block>
- <switch test='`$mdsal-preload.response-code`'>
- <outcome value='404'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving preload-information" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='success'>
- <block>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
- <outcome value='failure'>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </outcome>
- </call>
- </block>
- </outcome>
- </execute>
- </outcome>
- </switch>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
- </execute>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>
- <outcome value='false'>
- <set>
- <parameter name='automated-assignment' value='true' />
- </set>
- </outcome>
- <outcome value='true'>
- <set>
- <parameter name='automated-assignment' value='false' />
- </set>
- </outcome>
- </switch>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <block atomic="true">
- <set>
- <parameter name='vnf-network-index' value='-1' />
- </set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='vnf-network-index' value='`$idx`' />
- </set>
- <set>
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$vnf-network-index`'>
- <outcome value='-1'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'VNFC network role '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
- + ' is not found in VNF network list'
- `" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <for index='subnet-role-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
- <for index='address-family-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='0'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- </set>
- <block atomic="true">
- <set>
- <parameter name='af-count' value='0' />
- </set>
- <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
- </set>
- <set>
- <parameter name='af-count' value='`$af-count + 1`' />
- </set>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$af-count`'>
- <outcome value='1'>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
- value='`$subnet-id`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='subnet-id' value='-1' />
- </set>
- <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
- <outcome value='true'>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'SDNC subnet id '
- + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
- + ' does not have network-start-address populated'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='Other'>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'SDNC subnet id '
- + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
- + ' does not have cidr-mask populated'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <switch test='`$tmp.address-family`'>
- <outcome value='ipv4'>
- <set>
- <parameter name='ip-type' value='IPv4' />
- </set>
- </outcome>
- <outcome value='ipv6'>
- <set>
- <parameter name='ip-type' value='IPv6' />
- </set>
- </outcome>
- </switch>
- <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
- <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
- <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
- <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
- <parameter name="ipType" value="`$ip-type`" />
- <outcome value='success'>
- <block atomic="true">
- <set>
- <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
- </set>
- <break/>
- </block>
- </outcome>
- </execute>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </for>
- <switch test='`$subnet-id`'>
- <outcome value='-1'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
- `" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
- </set>
- </block>
- </outcome>
- </switch>
- </block>
- </block>
- </outcome>
- </switch>
- </for>
- </for>
- </block>
- </for>
- </for>
- </for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block atomic="true">
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
- and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
- pfx='db.vnf-related-network-role[]'>
- <outcome value='failure'>
- <block atomic='true'>
- <set>
- <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
- <block atomic="true">
- <set>
- <parameter name='found-related-network' value='false' />
- </set>
- <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <block atomic="true">
- <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
- == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='found-related-network' value='true' />
- </set>
- <set>
- <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
- <parameter name='saved-related-network-index' value='`$related-network-index`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-related-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- <switch test='`$found-related-network`'>
- <outcome value='false'>
- <block atomic='true'>
- <set>
- <parameter name="error-message" value="`'Unable to find related network '
- + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
- </set>
- <set>
- <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
- </set>
- <switch test='`$rn-index`'>
- <outcome value=''>
- <set>
- <parameter name='rn-index' value='0' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
- value='`$rn-index + 1`' />
- </set>
- </block>
- </for>
- </outcome>
- </get-resource>
- </block>
- </for>
- </block>
- </for>
- <set>
- <parameter name='vf-module-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/vnfs/vnf/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vf-modules/vf-module/'
- + $vf-module-topology-operation-input.vf-module-information.vf-module-id
- + '/vf-module-data/vf-module-topology/'`"/>
- <parameter name='vnf-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/vnfs/vnf/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vnf-topology/'`"/>
- <parameter name='service-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/service-topology/'`"/>
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="selflink" value="`$vf-module-object-path`" />
- <parameter name="automated-assignment" value="`$automated-assignment`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vf-module in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- </set>
- </block>
- </outcome>
- </update>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.nfc-function' value='DEFAULT' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>
- <outcome value=''>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
- <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
- <parameter name="nfc-function" value="`$tmp.nfc-function`" />
- <parameter name="orchestration-status" value="`PendingCreate`" />
- <parameter name="in-maint" value="true" />
- <parameter name="prov-status" value="`PREPROV`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- <outcome value='Other'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
- <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
- <parameter name="nfc-function" value="`$tmp.nfc-function`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
- <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />
- <parameter name="orchestration-status" value="`PendingCreate`" />
- <parameter name="in-maint" value="true" />
- <parameter name="prov-status" value="`PREPROV`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
- $vf-module-topology-operation-input.vnf-information.vnf-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
- $vf-module-topology-operation-input.vnf-information.vnf-id +
- '/vf-modules/vf-module/' +
- $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vnfc relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <block atomic="true">
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
- <parameter name="ctx-destination" value="cp-instance-id" />
- </execute>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id" >
- <parameter name="cp-instance-id" value="`$cp-instance-id`" />
- <parameter name="port-id" value="0" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving cp object to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving cp object to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
- value='`$cp-instance-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
- value='0' />
- </set>
- <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
- <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- </set>
- <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
- <switch test='`$tmp.address-family`'>
- <outcome value='ipv4'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv4-address-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
- <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
- <parameter name="l3-interface-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv4-address-list:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
- '/subnets/subnet/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </outcome>
- <outcome value='ipv6'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv6-address-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
- <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
- <parameter name="l3-interface-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv6-address-list:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
- '/subnets/subnet/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </for>
- <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </for>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
- </set>
- <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
- <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
- <parameter name="vip-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
- + '/subnets/subnet/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="cp" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- + '/cps/cp/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
- <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
- <parameter name="vip-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
- + '/subnets/subnet/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="cp" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- + '/cps/cp/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
- </execute>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
- <block atomic="true">
- <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
- AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
- AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </delete>
- <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
-key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </save>
- </block>
- </for>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
- value='$vf-module-topology-operation-input.sdnc-request-header.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
- value='$vf-module-topology-operation-input.request-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
- value='$vf-module-topology-operation-input.service-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
- value='$vf-module-topology-operation-input.vnf-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
- value='$vf-module-topology-operation-input.vf-module-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
- value='$vf-module-topology-operation-input.vf-module-request-input.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
- value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
- </set>
- <set>
- <parameter name='vf-module-data.'
- value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.vf-module`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{service-instance-id}"/>
- <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{vnf-id}"/>
- <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.vf-module.url"/>
- <parameter name="target" value="{vf-module-id}"/>
- <parameter name="replacement" value="`$vf-module-topology-operation-input.vf-module-information.vf-module-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`" />
- <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vf-module.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="vf-module-assign" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error doing PUT of vf-module" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error doing PUT of vf-module" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
- </execute>
- <set>
- <parameter name="so.response-code" value="200" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <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>
+ <switch test='$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url) == $prop.so.ignore-url'>
+ <outcome value='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-sync' mode='sync' ></call>
+ </outcome>
+ <outcome value='false'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-async' mode='sync' ></call>
+ </outcome>
+ </switch>
</outcome>
</switch>
</block>
</method>
-</service-logic>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.xml
new file mode 100644
index 00000000..61b4226a
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.xml
@@ -0,0 +1,1536 @@
+<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='vnf-topology-operation-assign-async' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <set>
+ <parameter name="so.ack-final-indicator" value="Y" />
+ <parameter name="so.response-code" value="500" />
+ <parameter name="so.notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />
+ <parameter name="so.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />
+ <parameter name="so.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />
+ <parameter name="so.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateVnfInstance'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVnfInstance'" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-model'>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error reading VF_MODEL table" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <set>
+ <parameter name="so.response-code" value="200" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vnf-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic='true'>
+ <set>
+ <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
+ + ' already exists'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='0' />
+ </set>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="instance-group"
+ key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"
+ pfx='aai.instance-group' local-only='false' >
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Cannot find instance group id ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in AAI'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving instance-group from AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
+ <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='collection'>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="collection"
+ key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
+ pfx='aai.collection' local-only='false' >
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find AAI relationship from collection '
+ + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
+ + ' to service instance'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Failed to get network service instance '
+ + $network-service-instance + ' from MD-SAL'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-network-instance-group' value='false' />
+ </set>
+ <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='found-network-instance-group' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-network-instance-group`'>
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Could not find network instance group ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in MD-SAL service instance '
+ + $network-service-instance`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
+ value='`$aai.instance-group.instance-group-function`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
+ value='`$aai.instance-group.id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
+ value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
+ value='`$aai.collection.collection-customization-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
+ value='`$tmp.vnf-network-collection_length`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'
+ value='`$db.vf-model.nf-type`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'
+ value='`$db.vf-model.nf-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'
+ value='`$db.vf-model.nf-function`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'
+ value='`$db.vf-model.nf-code`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'
+ value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'
+ value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>
+ <outcome value=''>
+ <block atomic="true">
+ <switch test='`$db.vf-model.ecomp-generated-naming`'>
+ <outcome value='Y'>
+ <block></block>
+ </outcome>
+ <outcome value='N'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$db.vf-model.naming-policy`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name='generate-unique-name-input.action' value='ASSIGN' />
+ <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />
+ <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
+ <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />
+ <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />
+ <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Unable to generate VNF name" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'
+ value='`$tmp.vnf-name`' />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ value='`$db.vf-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ value='`$db.vf-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ value='`$db.vf-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND
+ depth='all'"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-network-role-mapping[]'>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='db.vf-network-role-mapping_length' value='0' />
+ </set>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='0' />
+ </set>
+ <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>
+ <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='null'>
+ <block></block>
+ </outcome>
+ <outcome value='NULL'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='aai.l3-network.' value='' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-networks"
+ key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"
+ pfx='aai.l3-network' local-only='false'
+>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving l3-network from AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='l3-network-id' value='-1' />
+ </set>
+ <block>
+ <set>
+ <parameter name='found-network' value='false' />
+ </set>
+ <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
+ <outcome value='PendingCreate'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Create'>
+ <block></block>
+ </outcome>
+ <outcome value='PendingDelete'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Delete'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
+ <outcome value='service-instance'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='service-instance.service-instance-id'>
+ <set>
+ <parameter name='network-service-instance-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ <outcome value='cloud-region'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='cloud-region.cloud-region-id'>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ </set>
+ <set>
+ <parameter name='found-network' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ <switch test='`$l3-network-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'
+ value='`$db.vf-network-role-mapping[$role-index].network-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'
+ value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='0'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >
+ <block>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>
+ <outcome value=''>
+ <set>
+ <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>
+ <outcome value='4'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv4' />
+ </set>
+ </outcome>
+ <outcome value='6'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv6' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'
+ value='`$tmp.ip-version`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
+ <outcome value='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='Y' />
+ </set>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='N' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
+ and network_role = $db.vf-network-role-mapping[$role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$network-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.ntis-url"/>
+ <parameter name="target" value="{network-id}"/>
+ <parameter name="replacement" value="`$l3-network-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-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-ntis" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`
+ 'Error retrieving network-topology-identifier-structure for service instance '
+ + $network-service-instance-id
+ + ' and network-id '
+ + $l3-network-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'
+ value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'
+ value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.oe">
+ <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="/query/owning-entity-fromService-instance" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error getting owning entity from service instance" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Unable to find owning entity from service instance" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.get-networks">
+ <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role
+ + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '
+ + $db.vnf-related-network-role[0].related-network-role`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />
+ </set>
+ <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >
+ <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='vlan-tag'>
+ <block atomic="true">
+ <set>
+ <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $vlan-tag-id"
+ pfx='aai.vlan-tag' local-only='false'
+>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error getting vlan-tag object from AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$aai.vlan-tag.vlan-tag-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$aai.vlan-tag.vlan-id-outer`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$aai.vlan-tag.vlan-id-inner`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$aai.vlan-tag.is-private`' />
+ </set>
+ </outcome>
+ </get-resource>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='`$network-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'
+ value='`$network-index`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
+ value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />
+ </set>
+ <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
+ <outcome value=''>
+ <switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
+ + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
+ value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
+ value='`$db.vf-model.avail-zone-max-count`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
+ value='`$aai.cloud-region.availability-zones.availability-zone_length`' />
+ </set>
+ <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
+ <parameter name="prov-status" value="PREPROV" />
+ <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
+ <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
+ <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="selflink" value="`$vnf-object-path`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/instance-groups/instance-group/'
+ + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.vnf-assign`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.vnf.url"/>
+ <parameter name="target" value="{vnf-id}"/>
+ <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>
+ </execute>
+ <set>
+ <parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`" />
+ <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vnf.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="vnf-assign" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error doing PUT of vnf-data" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error doing PUT of vnf-data" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
+ </execute>
+ <set>
+ <parameter name="so.response-code" value="200" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml
new file mode 100644
index 00000000..2202daca
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml
@@ -0,0 +1,1250 @@
+<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='vnf-topology-operation-assign-sync' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateVnfInstance'>
+ <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="If svc-action is 'assign' then request-action must be 'CreateVnfInstance'" />
+ </return>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-model'>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODEL table" />
+ </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="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />
+ </return>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vnf-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
+ + ' already exists'`" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='0' />
+ </set>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="instance-group"
+ key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"
+ pfx='aai.instance-group' local-only='false' >
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Cannot find instance group id ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in AAI'`" />
+ </return>
+ </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 retrieving instance-group from AAI" />
+ </return>
+ </outcome>
+ </get-resource>
+ <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
+ <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='collection'>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="collection"
+ key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
+ pfx='aai.collection' local-only='false' >
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Cannot find collection ' +
+ $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
+ + ' in AAI'`" />
+ </return>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="System error retrieving collection from AAI" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-network-instance-group' value='false' />
+ </set>
+ <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='found-network-instance-group' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-network-instance-group`'>
+ <outcome value='false'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Could not find network instance group ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in MD-SAL'`" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
+ value='`$aai.instance-group.instance-group-function`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
+ value='`$aai.instance-group.id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
+ value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
+ value='`$aai.collection.collection-customization-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
+ value='`$tmp.vnf-network-collection_length`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'
+ value='`$db.vf-model.nf-type`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'
+ value='`$db.vf-model.nf-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'
+ value='`$db.vf-model.nf-function`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'
+ value='`$db.vf-model.nf-code`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'
+ value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'
+ value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>
+ <outcome value=''>
+ <block atomic="true">
+ <switch test='`$db.vf-model.ecomp-generated-naming`'>
+ <outcome value='Y'>
+ <block></block>
+ </outcome>
+ <outcome value='N'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </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="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$db.vf-model.naming-policy`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name='generate-unique-name-input.action' value='ASSIGN' />
+ <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />
+ <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
+ <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />
+ <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />
+ <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Unable to generate VNF name" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'
+ value='`$tmp.vnf-name`' />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ value='`$db.vf-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ value='`$db.vf-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ value='`$db.vf-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND
+ depth='all'"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
+ <outcome value=''>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-network-role-mapping[]'>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='db.vf-network-role-mapping_length' value='0' />
+ </set>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='0' />
+ </set>
+ <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>
+ <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='null'>
+ <block></block>
+ </outcome>
+ <outcome value='NULL'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='aai.l3-network.' value='' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-networks"
+ key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"
+ pfx='aai.l3-network' local-only='false'
+>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No active l3-network found in AAI with cloud_region_id '
+ + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '
+ + $db.vf-network-role-mapping[$network-index].network-role`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving l3-network from AAI" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='l3-network-id' value='-1' />
+ </set>
+ <block>
+ <set>
+ <parameter name='found-network' value='false' />
+ </set>
+ <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
+ <outcome value='PendingCreate'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Create'>
+ <block></block>
+ </outcome>
+ <outcome value='PendingDelete'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Delete'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
+ <outcome value='service-instance'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='service-instance.service-instance-id'>
+ <set>
+ <parameter name='network-service-instance-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ <outcome value='cloud-region'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='cloud-region.cloud-region-id'>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ </set>
+ <set>
+ <parameter name='found-network' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ <switch test='`$l3-network-id`'>
+ <outcome value='-1'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'
+ value='`$db.vf-network-role-mapping[$role-index].network-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'
+ value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='0'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >
+ <block>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>
+ <outcome value=''>
+ <set>
+ <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>
+ <outcome value='4'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv4' />
+ </set>
+ </outcome>
+ <outcome value='6'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv6' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'
+ value='`$tmp.ip-version`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
+ <outcome value='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='Y' />
+ </set>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='N' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
+ and network_role = $db.vf-network-role-mapping[$role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$network-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.ntis-url"/>
+ <parameter name="target" value="{network-id}"/>
+ <parameter name="replacement" value="`$l3-network-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-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-ntis" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`
+ 'Error retrieving network-topology-identifier-structure for service instance '
+ + $network-service-instance-id
+ + ' and network-id '
+ + $l3-network-id`" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'
+ value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'
+ value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.oe">
+ <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="/query/owning-entity-fromService-instance" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting owning entity from service instance" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Unable to find owning entity from service instance" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.get-networks">
+ <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role
+ + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '
+ + $db.vnf-related-network-role[0].related-network-role`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />
+ </set>
+ <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >
+ <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='vlan-tag'>
+ <block atomic="true">
+ <set>
+ <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $vlan-tag-id"
+ pfx='aai.vlan-tag' local-only='false'
+>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting vlan-tag object from AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$aai.vlan-tag.vlan-tag-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$aai.vlan-tag.vlan-id-outer`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$aai.vlan-tag.vlan-id-inner`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$aai.vlan-tag.is-private`' />
+ </set>
+ </outcome>
+ </get-resource>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='`$network-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'
+ value='`$network-index`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
+ value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />
+ </set>
+ <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
+ <outcome value=''>
+ <switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>
+ <outcome value='true'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
+ + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
+ value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
+ value='`$db.vf-model.avail-zone-max-count`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
+ value='`$aai.cloud-region.availability-zones.availability-zone_length`' />
+ </set>
+ <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
+ <parameter name="prov-status" value="PREPROV" />
+ <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
+ <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
+ <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="selflink" value="`$vnf-object-path`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/instance-groups/instance-group/'
+ + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml
index 66341c30..aaefc8e4 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml
@@ -2,1533 +2,24 @@
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='vnf-topology-operation-assign' mode='sync'>
- <block atomic="true">
+ <block>
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
<parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
<parameter name='contextPrefix' value='prop' />
</execute>
- <set>
- <parameter name="so.ack-final-indicator" value="Y" />
- <parameter name="so.response-code" value="500" />
- <parameter name="so.notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />
- <parameter name="so.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />
- <parameter name="so.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />
- <parameter name="so.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />
- </set>
- <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
- <outcome value='CreateVnfInstance'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVnfInstance'" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
- pfx='db.vf-model'>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error reading VF_MODEL table" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
- <switch test="`$ss.self-serve-flag`">
+ <switch test='length($vnf-topology-operation-input.sdnc-request-header.svc-notification-url) == 0'>
<outcome value='true'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
- </execute>
- <set>
- <parameter name="so.response-code" value="200" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <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>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-sync' mode='sync' ></call>
</outcome>
<outcome value='false'>
- <block atomic="true">
- <switch test='`$service-data.vnfs.vnf_length`'>
- <outcome value=''>
- <set>
- <parameter name='vnf-index' value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block atomic='true'>
- <set>
- <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
- </set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
- <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
- + ' already exists'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
- </set>
- <set>
- <parameter name='tmp.vnf-network-collection_length' value='0' />
- </set>
- <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
- <block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="instance-group"
- key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"
- pfx='aai.instance-group' local-only='false' >
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Cannot find instance group id ' +
- $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- + ' in AAI'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving instance-group from AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
- <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
- <outcome value='collection'>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="collection"
- key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
- pfx='aai.collection' local-only='false' >
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find AAI relationship from collection '
- + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
- + ' to service instance'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Failed to get network service instance '
- + $network-service-instance + ' from MD-SAL'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <block atomic="true">
- <set>
- <parameter name='found-network-instance-group' value='false' />
- </set>
- <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
- <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='found-network-instance-group' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-network-instance-group`'>
- <outcome value='false'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Could not find network instance group ' +
- $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- + ' in MD-SAL service instance '
- + $network-service-instance`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
- value='`$aai.instance-group.instance-group-function`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
- value='`$aai.instance-group.id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
- value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
- value='`$aai.collection.collection-customization-id`' />
- </set>
- <set>
- <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
- </set>
- </block>
- </outcome>
- </get-resource>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
- value='`$tmp.vnf-network-collection_length`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'
- value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'
- value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'
- value='`$db.vf-model.nf-type`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'
- value='`$db.vf-model.nf-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'
- value='`$db.vf-model.nf-function`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'
- value='`$db.vf-model.nf-code`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'
- value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'
- value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />
- </set>
- <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>
- <outcome value=''>
- <block atomic="true">
- <switch test='`$db.vf-model.ecomp-generated-naming`'>
- <outcome value='Y'>
- <block></block>
- </outcome>
- <outcome value='N'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <switch test='`$db.vf-model.naming-policy`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name='generate-unique-name-input.action' value='ASSIGN' />
- <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />
- <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
- <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />
- <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <set>
- <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />
- </set>
- </outcome>
- </call>
- </block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />
- <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Unable to generate VNF name" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <set>
- <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />
- </set>
- </outcome>
- </call>
- </block>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
- value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'
- value='`$tmp.vnf-name`' />
- </set>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
- value='`$db.vf-model.invariant-uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
- value='`$db.vf-model.uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
- value='`$db.vf-model.version`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
- value='`$db.vf-model.name`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cloud-region"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
- cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND
- depth='all'"
- pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving cloud region from AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
- value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
- pfx='db.vf-network-role-mapping[]'>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <set>
- <parameter name='db.vf-network-role-mapping_length' value='0' />
- </set>
- </outcome>
- </get-resource>
- <set>
- <parameter name='network-index' value='0' />
- </set>
- <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>
- <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='null'>
- <block></block>
- </outcome>
- <outcome value='NULL'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='aai.l3-network.' value='' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-networks"
- key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"
- pfx='aai.l3-network' local-only='false'
->
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving l3-network from AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <set>
- <parameter name='l3-network-id' value='-1' />
- </set>
- <block>
- <set>
- <parameter name='found-network' value='false' />
- </set>
- <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
- <block atomic="true">
- <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
- <outcome value='PendingCreate'>
- <block></block>
- </outcome>
- <outcome value='Pending Create'>
- <block></block>
- </outcome>
- <outcome value='PendingDelete'>
- <block></block>
- </outcome>
- <outcome value='Pending Delete'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
- <block atomic="true">
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
- <outcome value='service-instance'>
- <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
- <outcome value='service-instance.service-instance-id'>
- <set>
- <parameter name='network-service-instance-id'
- value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
- </set>
- </outcome>
- </switch>
- </for>
- </outcome>
- <outcome value='cloud-region'>
- <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
- <outcome value='cloud-region.cloud-region-id'>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
- </set>
- <set>
- <parameter name='found-network' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </for>
- </outcome>
- </switch>
- <switch test='`$found-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- </outcome>
- </switch>
- <switch test='`$found-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- </block>
- <switch test='`$l3-network-id`'>
- <outcome value='-1'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'
- value='`$db.vf-network-role-mapping[$role-index].network-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'
- value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'
- value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'
- value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'
- value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />
- </set>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='0' />
- </set>
- </outcome>
- <outcome value='0'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block>
- <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >
- <block>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>
- <outcome value=''>
- <set>
- <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />
- </set>
- </outcome>
- </switch>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>
- <outcome value='4'>
- <set>
- <parameter name='tmp.ip-version' value='ipv4' />
- </set>
- </outcome>
- <outcome value='6'>
- <set>
- <parameter name='tmp.ip-version' value='ipv6' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'
- value='`$tmp.ip-version`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
- </set>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
- <outcome value='true'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
- value='Y' />
- </set>
- </outcome>
- <outcome value='false'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
- value='N' />
- </set>
- </outcome>
- </switch>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />
- </set>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
- and network_role = $db.vf-network-role-mapping[$role-index].network-role'
- pfx='db.vnf-related-network-role[]'>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{service-instance-id}"/>
- <parameter name="replacement" value="`$network-service-instance-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.ntis-url"/>
- <parameter name="target" value="{network-id}"/>
- <parameter name="replacement" value="`$l3-network-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-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-ntis" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`
- 'Error retrieving network-topology-identifier-structure for service instance '
- + $network-service-instance-id
- + ' and network-id '
- + $l3-network-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'
- value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'
- value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="custom-query"
- key="format = 'resource'"
- force="true"
- local-only="false"
- pfx="tmp.AnAI-data.oe">
- <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />
- <parameter name="start_length" value="1" />
- <parameter name="query" value="/query/owning-entity-fromService-instance" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error getting owning entity from service instance" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Unable to find owning entity from service instance" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />
- </set>
- <switch test='`$rn-index`'>
- <outcome value=''>
- <set>
- <parameter name='rn-index' value='0' />
- </set>
- </outcome>
- </switch>
- <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="custom-query"
- key="format = 'resource'"
- force="true"
- local-only="false"
- pfx="tmp.AnAI-data.get-networks">
- <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />
- <parameter name="start_length" value="1" />
- <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role
- + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '
- + $db.vnf-related-network-role[0].related-network-role`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'
- value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'
- value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />
- </set>
- <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >
- <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>
- <outcome value='vlan-tag'>
- <block atomic="true">
- <set>
- <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vlan-tag"
- key="vlan-tag.vlan-tag-id = $vlan-tag-id"
- pfx='aai.vlan-tag' local-only='false'
->
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error getting vlan-tag object from AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
- value='`$aai.vlan-tag.vlan-tag-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
- value='`$aai.vlan-tag.vlan-id-outer`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
- value='`$aai.vlan-tag.vlan-id-inner`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
- value='`$aai.vlan-tag.is-private`' />
- </set>
- </outcome>
- </get-resource>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'
- value='`$rn-index + 1`' />
- </set>
- </block>
- </outcome>
- </get-resource>
- <set>
- <parameter name='network-index' value='`$network-index + 1`' />
- </set>
- </block>
- </outcome>
- </switch>
- </for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'
- value='`$network-index`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
- value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />
- </set>
- <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
- <outcome value=''>
- <switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
- + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='false'>
- <set>
- <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </switch>
- <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
- <block atomic="true">
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
- value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf:relationship-list"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
- value='`$db.vf-model.avail-zone-max-count`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
- value='`$aai.cloud-region.availability-zones.availability-zone_length`' />
- </set>
- <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf:relationship-list"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </for>
- <set>
- <parameter name='vnf-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vnf-topology-operation-input.service-information.service-instance-id
- + '/service-data/vnfs/vnf/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vnf-topology/'`"/>
- <parameter name='service-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vnf-topology-operation-input.service-information.service-instance-id
- + '/service-data/service-topology/'`"/>
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
- <parameter name="prov-status" value="PREPROV" />
- <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
- <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
- <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="in-maint" value="true" />
- <parameter name="selflink" value="`$vnf-object-path`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </update>
- <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf:relationship-list"
- key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/instance-groups/instance-group/'
- + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.vnf-assign`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{service-instance-id}"/>
- <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.vnf.url"/>
- <parameter name="target" value="{vnf-id}"/>
- <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>
- </execute>
- <set>
- <parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`" />
- <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vnf.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="vnf-assign" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error doing PUT of vnf-data" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error doing PUT of vnf-data" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
- </execute>
- <set>
- <parameter name="so.response-code" value="200" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <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>
+ <switch test='$vnf-topology-operation-input.sdnc-request-header.svc-notification-url) == $prop.so.ignore-url'>
+ <outcome value='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-sync' mode='sync' ></call>
+ </outcome>
+ <outcome value='false'>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-async' mode='sync' ></call>
+ </outcome>
+ </switch>
</outcome>
</switch>
</block>