Updates for vCPE Testing 55/48255/1
authorBrian Freeman <bf1936@att.com>
Sun, 20 May 2018 23:32:29 +0000 (18:32 -0500)
committerBrian Freeman <bf1936@att.com>
Sun, 20 May 2018 23:36:50 +0000 (18:36 -0500)
Issue-ID: SDNC-322
Change-Id: I7140c7968297136010b5543444fd0605b73626cc
Signed-off-by: Brian Freeman <bf1936@att.com>
Former-commit-id: 1eb79f28a8786b5a826edd2a09688291dc625c82

platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_gw-vfmodule-update.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-activate.json
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_gw-vfmodule-update.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml
platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-activate.xml

index 5c40721..c08887c 100644 (file)
@@ -1 +1 @@
-[{"id":"598da1da.5ff53","type":"dgstart","name":"DGSTART","outputs":1,"x":193,"y":95,"z":"ecd400e4.7e3cd","wires":[["e8bfe1b5.44e4"]]},{"id":"e8bfe1b5.44e4","type":"service-logic","name":"GENERIC-RESOURCE-API 1.2.0-SNAPSHOT-111701","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":289.2380790710449,"y":155.95239067077637,"z":"ecd400e4.7e3cd","wires":[["c2c3f191.17b448"]]},{"id":"c2c3f191.17b448","type":"method","name":"gw-vfmodule-update","xml":"<method rpc='gw-vfmodule-update' mode='sync'>\n","comments":"","outputs":1,"x":173.15488815307617,"y":249.19043064117432,"z":"ecd400e4.7e3cd","wires":[["816d44b0.518088"]]},{"id":"816d44b0.518088","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":289.9999809265137,"y":349.0000009536743,"z":"ecd400e4.7e3cd","wires":[["20ee11ef.1a4046","59e4ffe0.ab8b38","b4fdc1d0.687e58","5b65bf62.669eb8"]]},{"id":"f5047148.69fc68","type":"execute","name":"generate vnf service-info url - vnf-d","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$tmp.vnf-api-url1`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.vnf-api-url2\"/>\n    <parameter name=\"target\" value=\"{vnf-id}\"/>\n    <parameter name=\"replacement\" value=\"`$brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.gw-vnf-id`\"/>\n\n","comments":"","outputs":1,"x":2049.2500610351562,"y":1519.0002136230469,"z":"ecd400e4.7e3cd","wires":[[]]},{"id":"29cdf559.ca1eaa","type":"execute","name":"execute RestApiCallNode - PUT service into service","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.services.vnf.vfmodule.templatefile`\" />\n   <!--\n   <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vnf-api-url3`' />\n   -->\n   <parameter name='restapiUrl' value='`$tmp.vf-module-object-path`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='PUT' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-vfmodule-vgw\" />\n\n","comments":"","outputs":1,"x":1635.9999389648438,"y":2050.0001831054688,"z":"ecd400e4.7e3cd","wires":[["2fbded9d.71d2e2"]]},{"id":"56800ae7.a5f704","type":"execute","name":"generate vnf service-info url - service-instance-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$prop.restapi.service.vnf.vfmodule-resource`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.vnf-api-url1\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$tmp.service-data.service-information.service-instance-id`\"/>\n","comments":"","outputs":1,"x":2094.7500610351562,"y":1476.2502136230469,"z":"ecd400e4.7e3cd","wires":[[]]},{"id":"f3f3244.993d5d8","type":"execute","name":"generate vnf service-info url - vf-module-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$tmp.vnf-api-url2`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.vnf-api-url3\"/>\n    <parameter name=\"target\" value=\"{vf-module-id}\"/>\n    <parameter name=\"replacement\" value=\"`$brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.gw-vfmodule-id`\"/>\n\n","comments":"","outputs":1,"x":2073.5000610351562,"y":1560.0002136230469,"z":"ecd400e4.7e3cd","wires":[[]]},{"id":"633d1701.4091a8","type":"set","name":"set tmp.vgw.vg_mux_tunnel.vni","xml":"<set>\n<!--\n<parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\n-->\n<parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[0].allotted-resource-data[0].tunnelxconn-topology[0].tunnelxconn-assignments[0].vni`' />\n<parameter name='tmp.service.vnf.vf-module.vg-lan-ip' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[0].allotted-resource-data[0].tunnelxconn-topology[0].tunnelxconn-assignments[0].vg-ip`' />\n\n\n\n","comments":"","x":1627.2500610351562,"y":1637.5002136230469,"z":"ecd400e4.7e3cd","wires":[]},{"id":"7714e38d.36b9a4","type":"set","name":"set tmp.service.vnf.vf-module-id","xml":"<set>\n<parameter name='tmp.service.vnf.vf-module.vf-module-id' value='9aa4ede4-c639-48c4-9386-74c9ff87f8e3' />\n<parameter name='brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.gw-vfmodule-id' value='9aa4ede4-c639-48c4-9386-74c9ff87f8e3' />","comments":"","x":2089.75,"y":1317.0834045410156,"z":"ecd400e4.7e3cd","wires":[]},{"id":"93e84d90.340078","type":"set","name":"set tmp.service-data.vnf-information.vnf-id","xml":"<set>\n<parameter name='tmp.service-data.vnf-information.vnf-id' value='3a3332d1-12ad-4709-ac81-ba32b304a462' />\n<parameter name='brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.gw-vnf-id' value='3a3332d1-12ad-4709-ac81-ba32b304a462' />\n","comments":"","x":2056,"y":1277.0834045410156,"z":"ecd400e4.7e3cd","wires":[]},{"id":"d17fe59a.3953d8","type":"set","name":"set tmp.service-data.service-information.service-instance-id","xml":"<set>\n<parameter name='tmp.service-data.service-information.service-instance-id' value='6e34b9fb-9ec1-4c95-9e12-0326c434c623' />\n","comments":"","x":2104.7499389648438,"y":1222.083251953125,"z":"ecd400e4.7e3cd","wires":[]},{"id":"7600efdf.c93f7","type":"set","name":"set tmp.service.vnf.vf-module-id","xml":"<set>\n<parameter name='tmp.restapi.service.vnf.vfmodule-resource' value='`$prop.restapi.service.vnf.vfmodule-resource`' />\n","comments":"","x":1609.75,"y":1355.8333435058594,"z":"ecd400e4.7e3cd","wires":[]},{"id":"d5a817bf.40d818","type":"execute","name":"execute Propertis gen-res-api-dg","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":1617.2498779296875,"y":1147.0834045410156,"z":"ecd400e4.7e3cd","wires":[[]]},{"id":"2fbded9d.71d2e2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1917.2499389648438,"y":2101.2501831054688,"z":"ecd400e4.7e3cd","wires":[["7c36fcac.724384"]]},{"id":"7c36fcac.724384","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='Failed on PUT vf-module parameters to MD0SAL' />\n","comments":"","x":2107.2499389648438,"y":2110.0001831054688,"z":"ecd400e4.7e3cd","wires":[]},{"id":"5b65bf62.669eb8","type":"set","name":"set  consuming service-instance","xml":"<set>\n<!--\n<parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\n<parameter name='tmp.brg-mac-address-match' value=\"`'VGW2BRG-' + $tmp.brg-macaddress`\"/>\n\n<parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\nservice-data.service-topology.service-topology-identifier.service-instance-id\n\n-->\n<parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\n","comments":"","x":664.0000610351562,"y":361.08343505859375,"z":"ecd400e4.7e3cd","wires":[]},{"id":"3216409f.ddf908","type":"get-resource","name":"get-resource vnfs","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='preload-vnfs' pfx='tmp.preloadvnfdata' >\n","comments":"","outputs":1,"x":826.3055419921875,"y":692.7499694824219,"z":"ecd400e4.7e3cd","wires":[[]]},{"id":"88679ac8.e6e25","type":"for","name":"for tmp.vnfs","xml":"<for index='vnfidx' start='0' end='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list_length`' >\n\n\n","comments":"","outputs":1,"x":820.1944580078125,"y":794.9723510742188,"z":"ecd400e4.7e3cd","wires":[["fa60d02d.93243"]]},{"id":"a2c42524.6f687","type":"switchNode","name":"switch parameter name","xml":"<switch test='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name == $tmp.brg-mac-address-match`'>\n\n\n","comments":"","outputs":1,"x":1108.1942749023438,"y":810.361083984375,"z":"ecd400e4.7e3cd","wires":[["3dad1eb1.cf3592"]]},{"id":"3dad1eb1.cf3592","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1266.91650390625,"y":956.5,"z":"ecd400e4.7e3cd","wires":[["8001b05.27f695"]]},{"id":"8001b05.27f695","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1182,"y":1416.5,"z":"ecd400e4.7e3cd","wires":[["d512d66d.0b04b","d5a817bf.40d818","7600efdf.c93f7","1fcf0406.6ca354","c75aac33.bcb838","b54dc0bb.53e598","332e311a.704a56","a4d6fe94.d5efb","633d1701.4091a8","ac8b339d.25537"]]},{"id":"5b61d2f6.309134","type":"comment","name":"vnfidx ","info":"","comments":"","x":1428.2499389648438,"y":830.2500305175781,"z":"ecd400e4.7e3cd","wires":[]},{"id":"d512d66d.0b04b","type":"for","name":"for each vnf parameter copy to vf_module_parameter","xml":"<for index='preloadIdx' start='0' end='`$tmp.endLoop1`'>\n<!--\n\n     \"preload-data\": {\n          \"vnf-topology-information\": {\n            \"vnf-parameters\": [\n            \n            -->\n","comments":"","outputs":1,"x":1684.4999389648438,"y":1025.25,"z":"ecd400e4.7e3cd","wires":[["1bd3d02c.d5cd3"]]},{"id":"cfe4dc41.e3614","type":"set","name":"set name/values","xml":"<set>\n<parameter name='tmp.vfmodule.param[$preloadIdx].name'  value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters[$preloadIdx].vnf-parameter-name`' />\n<parameter name='tmp.vfmodule.param[$preloadIdx].value' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters[$preloadIdx].vnf-parameter-value`' />","comments":"","x":2189.6389770507812,"y":1094.9722595214844,"z":"ecd400e4.7e3cd","wires":[]},{"id":"20ee11ef.1a4046","type":"get-resource","name":"get-resource tunnelxcon-allotted-resources","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API'    \n         key='tunnelxconn-allotted-resources/' pfx='tmp.txconns' >\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t","comments":"","outputs":1,"x":606.3635559082031,"y":461.8182067871094,"z":"ecd400e4.7e3cd","wires":[["4410a476.e7419c"]]},{"id":"710c230b.5aad44","type":"for","name":"for tmp.xconns.tunnelxconn-allotted-resoruces.tunnelxonn-alloted-resource[]","xml":"<for index='txidx' start='0' end='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource_length`' >\n\n\n","comments":"","outputs":1,"x":1077.4544982910156,"y":484.9090576171875,"z":"ecd400e4.7e3cd","wires":[["ecbc73ca.69e62"]]},{"id":"3ef68d67.22a6d2","type":"switchNode","name":"switch parameter name","xml":"<switch test='`$tmp.test1 == $tmp.consuming-service-instance-id`'>","comments":"","outputs":1,"x":1463,"y":616.7423706054688,"z":"ecd400e4.7e3cd","wires":[["5315da24.624c8c"]]},{"id":"5315da24.624c8c","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1631.5,"y":687.060546875,"z":"ecd400e4.7e3cd","wires":[["fe521292.47c1e"]]},{"id":"c1660858.96d478","type":"set","name":"set thisIsVGW","xml":"<set>\n<parameter name='tmp.thisIsVGW' value='true' />\n","comments":"","x":1978.8182373046875,"y":801.5454711914062,"z":"ecd400e4.7e3cd","wires":[]},{"id":"59e4ffe0.ab8b38","type":"set","name":"set thisIsVGW false","xml":"<set>\n<parameter name='tmp.thisIsVGW' value='false' />\n","comments":"","x":526.8181762695312,"y":411.81817626953125,"z":"ecd400e4.7e3cd","wires":[]},{"id":"b4fdc1d0.687e58","type":"switchNode","name":"switch thsIsVGW","xml":"<switch test='`$tmp.thisIsVGW`'>\n","comments":"","outputs":1,"x":338.3636474609375,"y":520.3637084960938,"z":"ecd400e4.7e3cd","wires":[["88c25d14.74fa5","9b8dd609.661cf8"]]},{"id":"88c25d14.74fa5","type":"other","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":361.090909090909,"y":602.1818181818181,"z":"ecd400e4.7e3cd","wires":[["fb8053dc.74e628"]]},{"id":"fb8053dc.74e628","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":542.6747436523438,"y":790.293701171875,"z":"ecd400e4.7e3cd","wires":[["3216409f.ddf908","88679ac8.e6e25"]]},{"id":"fa60d02d.93243","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":898.666748046875,"y":845.1112060546875,"z":"ecd400e4.7e3cd","wires":[["a2c42524.6f687","14253b4.3054045"]]},{"id":"ecbc73ca.69e62","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1232,"y":548.4444580078125,"z":"ecd400e4.7e3cd","wires":[["3ef68d67.22a6d2","7c99eecf.8882b8"]]},{"id":"1bd3d02c.d5cd3","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1987.4166259765625,"y":1057.1944885253906,"z":"ecd400e4.7e3cd","wires":[["cfe4dc41.e3614"]]},{"id":"4410a476.e7419c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":691.6666666666665,"y":512.2222222222222,"z":"ecd400e4.7e3cd","wires":[["710c230b.5aad44"]]},{"id":"7c99eecf.8882b8","type":"set","name":"set txconns.tunnelxconn-allotted-resources.tunnelxconn-alloted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.consuming-service-instance-id","xml":"<set>\n<parameter name='tmp.test1' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\n<parameter name='tmp.test2' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource-data[$txidx].tunnelxconn-topology[0].allotted-resource-identifiers[0].consuming-service-instance-id`' />","comments":"","x":1334,"y":187,"z":"ecd400e4.7e3cd","wires":[]},{"id":"14253b4.3054045","type":"set","name":"set test3","xml":"<set>\n<parameter name='tmp.test3' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name`' />\n<parameter name='tmp.test4' value='`$tmp.brg-mac-address-match`'/>\n\n\n","comments":"","x":1060,"y":736,"z":"ecd400e4.7e3cd","wires":[]},{"id":"1fcf0406.6ca354","type":"set","name":"set length of for  endLoop1","xml":"<set>\n<parameter name='tmp.endLoop1' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters_length`' />","comments":"","x":1598.25,"y":951.5,"z":"ecd400e4.7e3cd","wires":[]},{"id":"c75aac33.bcb838","type":"set","name":"set vf-module-object-path","xml":"<set>\n<parameter name='tmp.vf-module-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $service-data.service-topology.service-topology-identifier.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 + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id \n + '/'`\"/>\n","comments":"","x":1534.5,"y":1416.5,"z":"ecd400e4.7e3cd","wires":[]},{"id":"b54dc0bb.53e598","type":"set","name":"copy  vf-module-parameters","xml":"<set>\n<!--\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param.'\n\n                 service-data.vnfs.vnf\\[0\\].       vnf-data.vf-modules.vf-module\\[0\\]             .vf-module-data.vf-module-topology.vf-module-parameters.param.\n   value='$tmp.vfmodule.' />\n-->\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.'\n   value='$tmp.vfmodule.' />","comments":"","x":1572.0000610351562,"y":1822.2499389648438,"z":"ecd400e4.7e3cd","wires":[]},{"id":"c73039d5.8482e8","type":"execute","name":"execute print context","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bdf-gw-vfmodule.log' />\n","comments":"","outputs":1,"x":1508.2500610351562,"y":1877.7499389648438,"z":"ecd400e4.7e3cd","wires":[[]]},{"id":"332e311a.704a56","type":"set","name":"set tmp.vfmodule.param_length","xml":"<set>\n<parameter name='tmp.vfmodule.param_length' value='`$tmp.endLoop1`' />\n","comments":"","x":1618.2501831054688,"y":1089,"z":"ecd400e4.7e3cd","wires":[]},{"id":"573eb1da.bd7c1","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1259.5,"y":1636.5,"z":"ecd400e4.7e3cd","wires":[]},{"id":"a4d6fe94.d5efb","type":"for","name":"for paramIdx to set VNI","xml":"<for index='paramIdx' start='0' end='`$tmp.vfmodule.param_length`' >\n","comments":"","outputs":1,"x":1607,"y":1736.5,"z":"ecd400e4.7e3cd","wires":[["b708abc8.8af15"]]},{"id":"32d12113.25874e","type":"switchNode","name":"switch parameter name vg-mux-tunnel-vni","xml":"<switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-mux-tunnel-vni-match`'>","comments":"","outputs":1,"x":2104.5,"y":1805.25,"z":"ecd400e4.7e3cd","wires":[["d89f78c6.0ed118"]]},{"id":"d89f78c6.0ed118","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2422,"y":1832.75,"z":"ecd400e4.7e3cd","wires":[["290b1a68.798296"]]},{"id":"290b1a68.798296","type":"set","name":"set vni in tmp.vfmodule.param","xml":"<set>\n<parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vni`' />\n","comments":"","x":2634.5,"y":1870.25,"z":"ecd400e4.7e3cd","wires":[]},{"id":"ac8b339d.25537","type":"set","name":"set switch test string","xml":"<set>\n<!--\n<parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\n-->\n<parameter name='tmp.vg-mux-tunnel-vni-match' value='vg_vgmux_tunnel_vni' />\n<parameter name='tmp.vg-lan-ip-match' value='vgw_private_ip_0' />\n\n\n\n\n","comments":"","x":1597,"y":1686.5,"z":"ecd400e4.7e3cd","wires":[]},{"id":"b708abc8.8af15","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1813.25,"y":1731.5,"z":"ecd400e4.7e3cd","wires":[["32d12113.25874e","8d15a992.b4eaa"]]},{"id":"bcc180fb.a085f8","type":"set","name":"set to see tmpvfmodule.param[].name","xml":"<set>\n<!--\n<parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\n-->\n<parameter name='tmp.test.param[$paramIdx].name' value='`$tmp.vfmodule.param[$paramIdx].name`' />\n\n\n\n","comments":"","x":2092.0000610351562,"y":1724,"z":"ecd400e4.7e3cd","wires":[]},{"id":"91617dc.d84638","type":"comment","name":"let md-sal helper save data so no need for the RESTAPICAll Node","info":"","comments":"","x":1604.4999084472656,"y":1976.5,"z":"ecd400e4.7e3cd","wires":[]},{"id":"ce85b4c1.5261a8","type":"comment","name":" using path from calling DG - these nodes for testing","info":"","comments":"","x":2087,"y":1427.75,"z":"ecd400e4.7e3cd","wires":[]},{"id":"7c8c3457.7b7a54","type":"set","name":"set MACADDRESS fa:16:3e:8f:ea:68 ","xml":"<set>\n<parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\n\n","comments":"","x":581,"y":313,"z":"ecd400e4.7e3cd","wires":[]},{"id":"8e5b5b63.4d5608","type":"set","name":"set VGW2BRG-MACADDRESs & consuming service-instance","xml":"<set>\n<parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\n<parameter name='tmp.brg-mac-address-match' value=\"`'VGW2BRG-' + $tmp.brg-macaddress`\"/>\n<!--\n<parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\nservice-data.service-topology.service-topology-identifier.service-instance-id\n\n-->\n<parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\n","comments":"","x":2121,"y":734,"z":"ecd400e4.7e3cd","wires":[]},{"id":"fe521292.47c1e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1777,"y":717,"z":"ecd400e4.7e3cd","wires":[["c1660858.96d478","8e5b5b63.4d5608","e1791278.975078"]]},{"id":"e1791278.975078","type":"set","name":"set MACADDRESS tmp.txconcs...brg-wan-mac-address","xml":"<set>\n<parameter name='tmp.brg-macaddress' \n      value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.brg-wan-mac-address`' />\n\n","comments":"","x":2095,"y":671,"z":"ecd400e4.7e3cd","wires":[]},{"id":"9b8dd609.661cf8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":301,"y":761,"z":"ecd400e4.7e3cd","wires":[["655a26ce.271898"]]},{"id":"5c61a2e.ac4ccdc","type":"returnFailure","name":"return failure Did not find vGW Preload","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='Did not find vGW Preload' />\n","comments":"","x":559,"y":927,"z":"ecd400e4.7e3cd","wires":[]},{"id":"655a26ce.271898","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":313,"y":839,"z":"ecd400e4.7e3cd","wires":[["5c61a2e.ac4ccdc"]]},{"id":"5669f615.7ed478","type":"execute","name":"execute print context","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bdf-gw-vfmodule.failure.log' />\n","comments":"","outputs":1,"x":509,"y":876,"z":"ecd400e4.7e3cd","wires":[[]]},{"id":"8d15a992.b4eaa","type":"switchNode","name":"switch parameter name vg-mux-tunnel-vni","xml":"<switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-lan-ip-match`'>","comments":"","outputs":1,"x":2098,"y":1870,"z":"ecd400e4.7e3cd","wires":[["5bf23ed2.af844"]]},{"id":"5bf23ed2.af844","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2415.5,"y":1897.5,"z":"ecd400e4.7e3cd","wires":[["7c18fafa.f033b4"]]},{"id":"7c18fafa.f033b4","type":"set","name":"set lan-ip[ in tmp.vfmodule.param","xml":"<set>\n<parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip`' />\n","comments":"","x":2628,"y":1935,"z":"ecd400e4.7e3cd","wires":[]},{"id":"abd8f89a.2207a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1850,"y":1872,"z":"ecd400e4.7e3cd","wires":[]}]
+[{"id":"c1453738.42a898","type":"dgstart","name":"DGSTART","outputs":1,"x":251,"y":162,"z":"3b92925f.163c6e","wires":[["d3e07181.eedbb8"]]},{"id":"d3e07181.eedbb8","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":347.2380790710449,"y":222.95239067077637,"z":"3b92925f.163c6e","wires":[["adbf57db.5116"]]},{"id":"adbf57db.5116","type":"method","name":"gw-vfmodule-update","xml":"<method rpc='gw-vfmodule-update' mode='sync'>\n","comments":"","outputs":1,"x":231.15488815307617,"y":316.1904306411743,"z":"3b92925f.163c6e","wires":[["9a46a9fa.3aafa"]]},{"id":"9a46a9fa.3aafa","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":347.9999809265137,"y":416.0000009536743,"z":"3b92925f.163c6e","wires":[["2c968d51.0bd2e2","b741cf13.457da8","873df790.867b68","17c420b4.7c0eb7"]]},{"id":"b8b1c133.6f2e","type":"execute","name":"generate vnf service-info url - vnf-d","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$tmp.vnf-api-url1`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.vnf-api-url2\"/>\n    <parameter name=\"target\" value=\"{vnf-id}\"/>\n    <parameter name=\"replacement\" value=\"`$brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.gw-vnf-id`\"/>\n\n","comments":"","outputs":1,"x":2107.2500610351562,"y":1586.0002136230469,"z":"3b92925f.163c6e","wires":[[]]},{"id":"20782ff0.3e5288","type":"execute","name":"execute RestApiCallNode - PUT service into service","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.services.vnf.vfmodule.templatefile`\" />\n   <!--\n   <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vnf-api-url3`' />\n   -->\n   <parameter name='restapiUrl' value='`$tmp.vf-module-object-path`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='PUT' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-vfmodule-vgw\" />\n\n","comments":"","outputs":1,"x":1693.9999389648438,"y":2117.0001831054688,"z":"3b92925f.163c6e","wires":[["1f1c6bc6.f69f14"]]},{"id":"8dfc09cc.422228","type":"execute","name":"generate vnf service-info url - service-instance-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$prop.restapi.service.vnf.vfmodule-resource`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.vnf-api-url1\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$tmp.service-data.service-information.service-instance-id`\"/>\n","comments":"","outputs":1,"x":2152.7500610351562,"y":1543.2502136230469,"z":"3b92925f.163c6e","wires":[[]]},{"id":"560eb9b1.1f1f7","type":"execute","name":"generate vnf service-info url - vf-module-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$tmp.vnf-api-url2`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.vnf-api-url3\"/>\n    <parameter name=\"target\" value=\"{vf-module-id}\"/>\n    <parameter name=\"replacement\" value=\"`$brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.gw-vfmodule-id`\"/>\n\n","comments":"","outputs":1,"x":2131.5000610351562,"y":1627.0002136230469,"z":"3b92925f.163c6e","wires":[[]]},{"id":"2fd02508.da9e42","type":"set","name":"set tmp.vgw.vg_mux_tunnel.vni","xml":"<set>\n<!--\n<parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\n-->\n<parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[0].allotted-resource-data[0].tunnelxconn-topology[0].tunnelxconn-assignments[0].vni`' />\n<parameter name='tmp.service.vnf.vf-module.vg-lan-ip' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[0].allotted-resource-data[0].tunnelxconn-topology[0].tunnelxconn-assignments[0].vg-ip`' />\n\n\n\n","comments":"","x":1685.2500610351562,"y":1704.5002136230469,"z":"3b92925f.163c6e","wires":[]},{"id":"9fc7771a.9c8f9","type":"set","name":"set tmp.service.vnf.vf-module-id","xml":"<set>\n<parameter name='tmp.service.vnf.vf-module.vf-module-id' value='9aa4ede4-c639-48c4-9386-74c9ff87f8e3' />\n<parameter name='brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.gw-vfmodule-id' value='9aa4ede4-c639-48c4-9386-74c9ff87f8e3' />","comments":"","x":2147.75,"y":1384.0834045410156,"z":"3b92925f.163c6e","wires":[]},{"id":"eb138cbb.85dbe","type":"set","name":"set tmp.service-data.vnf-information.vnf-id","xml":"<set>\n<parameter name='tmp.service-data.vnf-information.vnf-id' value='3a3332d1-12ad-4709-ac81-ba32b304a462' />\n<parameter name='brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.gw-vnf-id' value='3a3332d1-12ad-4709-ac81-ba32b304a462' />\n","comments":"","x":2114,"y":1344.0834045410156,"z":"3b92925f.163c6e","wires":[]},{"id":"dc872333.0afd98","type":"set","name":"set tmp.service-data.service-information.service-instance-id","xml":"<set>\n<parameter name='tmp.service-data.service-information.service-instance-id' value='6e34b9fb-9ec1-4c95-9e12-0326c434c623' />\n","comments":"","x":2162.7499389648438,"y":1289.083251953125,"z":"3b92925f.163c6e","wires":[]},{"id":"50b6bdad.79abd4","type":"set","name":"set tmp.service.vnf.vf-module-id","xml":"<set>\n<parameter name='tmp.restapi.service.vnf.vfmodule-resource' value='`$prop.restapi.service.vnf.vfmodule-resource`' />\n","comments":"","x":1667.75,"y":1422.8333435058594,"z":"3b92925f.163c6e","wires":[]},{"id":"18ead3e8.6a792c","type":"execute","name":"execute Propertis gen-res-api-dg","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":1675.2498779296875,"y":1214.0834045410156,"z":"3b92925f.163c6e","wires":[[]]},{"id":"1f1c6bc6.f69f14","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1975.2499389648438,"y":2168.2501831054688,"z":"3b92925f.163c6e","wires":[["53fb6e2d.3ab58"]]},{"id":"53fb6e2d.3ab58","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='Failed on PUT vf-module parameters to MD0SAL' />\n","comments":"","x":2165.2499389648438,"y":2177.0001831054688,"z":"3b92925f.163c6e","wires":[]},{"id":"17c420b4.7c0eb7","type":"set","name":"set  consuming service-instance","xml":"<set>\n<!--\n<parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\n\n\n<parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\nservice-data.service-topology.service-topology-identifier.service-instance-id\n\n-->\n<parameter name='tmp.brg-mac-address-match' value=\"`'VGW2BRG-' + $tmp.brg-macaddress`\"/>\n<parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\n","comments":"","x":722.0000610351562,"y":428.08343505859375,"z":"3b92925f.163c6e","wires":[]},{"id":"daaeb9ef.8b4378","type":"get-resource","name":"get-resource vnfs","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='preload-vnfs' pfx='tmp.preloadvnfdata' >\n","comments":"","outputs":1,"x":884.3055419921875,"y":759.7499694824219,"z":"3b92925f.163c6e","wires":[[]]},{"id":"1ece97b8.8a8b7","type":"for","name":"for tmp.vnfs","xml":"<for index='vnfidx' start='0' end='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list_length`' >\n\n\n","comments":"","outputs":1,"x":878.1944580078125,"y":861.9723510742188,"z":"3b92925f.163c6e","wires":[["fc6621e2.aa04c"]]},{"id":"48fed561.a74c4c","type":"switchNode","name":"switch parameter name","xml":"<switch test='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name == $tmp.brg-mac-address-match`'>\n\n\n","comments":"","outputs":1,"x":1166.1942749023438,"y":877.361083984375,"z":"3b92925f.163c6e","wires":[["359f934e.d31b64"]]},{"id":"359f934e.d31b64","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1324.91650390625,"y":1023.5,"z":"3b92925f.163c6e","wires":[["ba0967af.51efe"]]},{"id":"ba0967af.51efe","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1240,"y":1483.5,"z":"3b92925f.163c6e","wires":[["a67acd63.bafec8","18ead3e8.6a792c","50b6bdad.79abd4","e4b74198.b4a08","3fffba2f.87934e","fa44659.2bd9398","1b6c5025.a28cb","d503c7f6.04f208","2fd02508.da9e42","b45646b7.e1cbe"]]},{"id":"483a348f.22282c","type":"comment","name":"vnfidx ","info":"","comments":"","x":1486.2499389648438,"y":897.2500305175781,"z":"3b92925f.163c6e","wires":[]},{"id":"a67acd63.bafec8","type":"for","name":"for each vnf parameter copy to vf_module_parameter","xml":"<for index='preloadIdx' start='0' end='`$tmp.endLoop1`'>\n<!--\n\n     \"preload-data\": {\n          \"vnf-topology-information\": {\n            \"vnf-parameters\": [\n            \n            -->\n","comments":"","outputs":1,"x":1742.4999389648438,"y":1092.25,"z":"3b92925f.163c6e","wires":[["f753321a.6c2d1"]]},{"id":"237abfdc.8fde88","type":"set","name":"set name/values","xml":"<set>\n<parameter name='tmp.vfmodule.param[$preloadIdx].name'  value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters[$preloadIdx].vnf-parameter-name`' />\n<parameter name='tmp.vfmodule.param[$preloadIdx].value' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters[$preloadIdx].vnf-parameter-value`' />","comments":"","x":2247.6389770507812,"y":1161.9722595214844,"z":"3b92925f.163c6e","wires":[]},{"id":"2c968d51.0bd2e2","type":"get-resource","name":"get-resource tunnelxcon-allotted-resources","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API'    \n         key='tunnelxconn-allotted-resources/' pfx='tmp.txconns' >\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t","comments":"","outputs":1,"x":664.3635559082031,"y":528.8182067871094,"z":"3b92925f.163c6e","wires":[["11d74753.206f81"]]},{"id":"5ee10ee7.c6cf","type":"for","name":"for tmp.xconns.tunnelxconn-allotted-resoruces.tunnelxonn-alloted-resource[]","xml":"<for index='txidx' start='0' end='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource_length`' >\n\n\n","comments":"","outputs":1,"x":1135.4544982910156,"y":551.9090576171875,"z":"3b92925f.163c6e","wires":[["240fab80.3e4614"]]},{"id":"c9248b80.346018","type":"switchNode","name":"switch parameter name","xml":"<switch test='`$tmp.test1 == $tmp.consuming-service-instance-id`'>","comments":"","outputs":1,"x":1521,"y":683.7423706054688,"z":"3b92925f.163c6e","wires":[["e3a95b7d.6e3cc8"]]},{"id":"e3a95b7d.6e3cc8","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1689.5,"y":754.060546875,"z":"3b92925f.163c6e","wires":[["e36cb24f.8f8238"]]},{"id":"da18c149.35236","type":"set","name":"set thisIsVGW","xml":"<set>\n<parameter name='tmp.thisIsVGW' value='true' />\n","comments":"","x":2036.8182373046875,"y":868.5454711914062,"z":"3b92925f.163c6e","wires":[]},{"id":"b741cf13.457da8","type":"set","name":"set thisIsVGW false","xml":"<set>\n<parameter name='tmp.thisIsVGW' value='false' />\n","comments":"","x":584.8181762695312,"y":478.81817626953125,"z":"3b92925f.163c6e","wires":[]},{"id":"873df790.867b68","type":"switchNode","name":"switch thsIsVGW","xml":"<switch test='`$tmp.thisIsVGW`'>\n","comments":"","outputs":1,"x":396.3636474609375,"y":587.3637084960938,"z":"3b92925f.163c6e","wires":[["56eeee6b.c37618","6aee2248.0c84ac"]]},{"id":"56eeee6b.c37618","type":"other","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":419.090909090909,"y":669.1818181818181,"z":"3b92925f.163c6e","wires":[["98aba483.4d0d2"]]},{"id":"98aba483.4d0d2","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":600.6747436523438,"y":857.293701171875,"z":"3b92925f.163c6e","wires":[["daaeb9ef.8b4378","1ece97b8.8a8b7"]]},{"id":"fc6621e2.aa04c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":956.666748046875,"y":912.1112060546875,"z":"3b92925f.163c6e","wires":[["48fed561.a74c4c","674d487f.eb7e1"]]},{"id":"240fab80.3e4614","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1290,"y":615.4444580078125,"z":"3b92925f.163c6e","wires":[["c9248b80.346018","ccce1d51.01276"]]},{"id":"f753321a.6c2d1","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2045.4166259765625,"y":1124.1944885253906,"z":"3b92925f.163c6e","wires":[["237abfdc.8fde88"]]},{"id":"11d74753.206f81","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":749.6666666666665,"y":579.2222222222222,"z":"3b92925f.163c6e","wires":[["5ee10ee7.c6cf"]]},{"id":"ccce1d51.01276","type":"set","name":"set txconns.tunnelxconn-allotted-resources.tunnelxconn-alloted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.consuming-service-instance-id","xml":"<set>\n<parameter name='tmp.test1' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\n<parameter name='tmp.test2' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource-data[$txidx].tunnelxconn-topology[0].allotted-resource-identifiers[0].consuming-service-instance-id`' />","comments":"","x":1392,"y":254,"z":"3b92925f.163c6e","wires":[]},{"id":"674d487f.eb7e1","type":"set","name":"set test3","xml":"<set>\n<parameter name='tmp.test3' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name`' />\n<parameter name='tmp.test4' value='`$tmp.brg-mac-address-match`'/>\n\n\n","comments":"","x":1118,"y":803,"z":"3b92925f.163c6e","wires":[]},{"id":"e4b74198.b4a08","type":"set","name":"set length of for  endLoop1","xml":"<set>\n<parameter name='tmp.endLoop1' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters_length`' />","comments":"","x":1656.25,"y":1018.5,"z":"3b92925f.163c6e","wires":[]},{"id":"3fffba2f.87934e","type":"set","name":"set vf-module-object-path","xml":"<set>\n<parameter name='tmp.vf-module-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $service-data.service-topology.service-topology-identifier.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 + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id \n + '/'`\"/>\n","comments":"","x":1592.5,"y":1483.5,"z":"3b92925f.163c6e","wires":[]},{"id":"fa44659.2bd9398","type":"set","name":"copy  vf-module-parameters","xml":"<set>\n<!--\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param.'\n\n                 service-data.vnfs.vnf\\[0\\].       vnf-data.vf-modules.vf-module\\[0\\]             .vf-module-data.vf-module-topology.vf-module-parameters.param.\n   value='$tmp.vfmodule.' />\n-->\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.'\n   value='$tmp.vfmodule.' />","comments":"","x":1630.0000610351562,"y":1889.2499389648438,"z":"3b92925f.163c6e","wires":[]},{"id":"78311370.3a2a8c","type":"execute","name":"execute print context","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bdf-gw-vfmodule.log' />\n","comments":"","outputs":1,"x":1566.2500610351562,"y":1944.7499389648438,"z":"3b92925f.163c6e","wires":[[]]},{"id":"1b6c5025.a28cb","type":"set","name":"set tmp.vfmodule.param_length","xml":"<set>\n<parameter name='tmp.vfmodule.param_length' value='`$tmp.endLoop1`' />\n","comments":"","x":1676.2501831054688,"y":1156,"z":"3b92925f.163c6e","wires":[]},{"id":"5b7de177.d6649","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1317.5,"y":1703.5,"z":"3b92925f.163c6e","wires":[]},{"id":"d503c7f6.04f208","type":"for","name":"for paramIdx to set VNI","xml":"<for index='paramIdx' start='0' end='`$tmp.vfmodule.param_length`' >\n","comments":"","outputs":1,"x":1665,"y":1803.5,"z":"3b92925f.163c6e","wires":[["aa9ad258.364768"]]},{"id":"c3b85a56.a27c6","type":"switchNode","name":"switch parameter name vg-mux-tunnel-vni","xml":"<switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-mux-tunnel-vni-match`'>","comments":"","outputs":1,"x":2162.5,"y":1872.25,"z":"3b92925f.163c6e","wires":[["f9a8b460.0aebc8"]]},{"id":"f9a8b460.0aebc8","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2480,"y":1899.75,"z":"3b92925f.163c6e","wires":[["5f636c63.51455c"]]},{"id":"5f636c63.51455c","type":"set","name":"set vni in tmp.vfmodule.param","xml":"<set>\n<parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vni`' />\n","comments":"","x":2692.5,"y":1937.25,"z":"3b92925f.163c6e","wires":[]},{"id":"b45646b7.e1cbe","type":"set","name":"set switch test string","xml":"<set>\n<!--\n<parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\n-->\n<parameter name='tmp.vg-mux-tunnel-vni-match' value='vg_vgmux_tunnel_vni' />\n<parameter name='tmp.vg-lan-ip-match' value='vgw_private_ip_0' />\n\n\n\n\n","comments":"","x":1655,"y":1753.5,"z":"3b92925f.163c6e","wires":[]},{"id":"aa9ad258.364768","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1871.25,"y":1798.5,"z":"3b92925f.163c6e","wires":[["c3b85a56.a27c6","e00e9048.087e"]]},{"id":"5402a6e0.bb6a08","type":"set","name":"set to see tmpvfmodule.param[].name","xml":"<set>\n<!--\n<parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\n-->\n<parameter name='tmp.test.param[$paramIdx].name' value='`$tmp.vfmodule.param[$paramIdx].name`' />\n\n\n\n","comments":"","x":2150.0000610351562,"y":1791,"z":"3b92925f.163c6e","wires":[]},{"id":"95928c0a.48109","type":"comment","name":"let md-sal helper save data so no need for the RESTAPICAll Node","info":"","comments":"","x":1662.4999084472656,"y":2043.5,"z":"3b92925f.163c6e","wires":[]},{"id":"f383d653.4e192","type":"comment","name":" using path from calling DG - these nodes for testing","info":"","comments":"","x":2145,"y":1494.75,"z":"3b92925f.163c6e","wires":[]},{"id":"5b061076.f69d08","type":"set","name":"set MACADDRESS fa:16:3e:8f:ea:68 ","xml":"<set>\n<parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\n\n","comments":"","x":639,"y":380,"z":"3b92925f.163c6e","wires":[]},{"id":"12c5fa84.c32cbd","type":"set","name":"set VGW2BRG-MACADDRESs & consuming service-instance","xml":"<set>\n<parameter name='tmp.brg-mac-address-match' value=\"`'VGW2BRG-' + $tmp.brg-macaddress`\"/>\n<parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\n\n<!--\n<parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\n<parameter name='tmp.brg-mac-address-match' value=\"`'VGW2BRG-' + $tmp.brg-macaddress`\"/>\n-->\n<!--\n<parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\nservice-data.service-topology.service-topology-identifier.service-instance-id\n\n-->\n","comments":"","x":2179,"y":801,"z":"3b92925f.163c6e","wires":[]},{"id":"e36cb24f.8f8238","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1835,"y":784,"z":"3b92925f.163c6e","wires":[["da18c149.35236","12c5fa84.c32cbd","9353e1b2.a30a7"]]},{"id":"9353e1b2.a30a7","type":"set","name":"set MACADDRESS tmp.txconcs...brg-wan-mac-address","xml":"<set>\n<parameter name='tmp.brg-macaddress' \n      value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.brg-wan-mac-address`' />\n\n","comments":"","x":2153,"y":738,"z":"3b92925f.163c6e","wires":[]},{"id":"6aee2248.0c84ac","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":359,"y":828,"z":"3b92925f.163c6e","wires":[["a86b65a1.1c30c8"]]},{"id":"b0589543.c2b0f8","type":"returnFailure","name":"return failure Did not find vGW Preload","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='Did not find vGW Preload' />\n","comments":"","x":617,"y":994,"z":"3b92925f.163c6e","wires":[]},{"id":"a86b65a1.1c30c8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":371,"y":906,"z":"3b92925f.163c6e","wires":[["b0589543.c2b0f8"]]},{"id":"db862ccc.ab0a8","type":"execute","name":"execute print context","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bdf-gw-vfmodule.failure.log' />\n","comments":"","outputs":1,"x":567,"y":943,"z":"3b92925f.163c6e","wires":[[]]},{"id":"e00e9048.087e","type":"switchNode","name":"switch parameter name vg-mux-tunnel-vni","xml":"<switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-lan-ip-match`'>","comments":"","outputs":1,"x":2156,"y":1937,"z":"3b92925f.163c6e","wires":[["62e8c19f.5ebc3"]]},{"id":"62e8c19f.5ebc3","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2473.5,"y":1964.5,"z":"3b92925f.163c6e","wires":[["a833b7f7.da47"]]},{"id":"a833b7f7.da47","type":"set","name":"set lan-ip[ in tmp.vfmodule.param","xml":"<set>\n<parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip`' />\n","comments":"","x":2686,"y":2002,"z":"3b92925f.163c6e","wires":[]},{"id":"7226ef2a.8b2378","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1908,"y":1939,"z":"3b92925f.163c6e","wires":[]}]
index 3eb11bb..534d0c5 100644 (file)
@@ -1 +1 @@
-[{"id":"f857cf6.10b033","type":"dgstart","name":"DGSTART","outputs":1,"x":167,"y":56,"z":"70167245.99734c","wires":[["3c005c61.e4129c"]]},{"id":"3c005c61.e4129c","type":"service-logic","name":"GENERIC-RESOURCE-API 1.2.-SNAPSHOT-111604","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":263.2380790710449,"y":116.95239067077637,"z":"70167245.99734c","wires":[["babb4094.95036"]]},{"id":"babb4094.95036","type":"method","name":"tunnelxconn-topology-operation-assign","xml":"<method rpc='tunnelxconn-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":314.15485763549805,"y":152.19044589996338,"z":"70167245.99734c","wires":[["a8be1828.b146a"]]},{"id":"a8be1828.b146a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":217.47619247436523,"y":295.5237879753113,"z":"70167245.99734c","wires":[["fbfb6c9e.cec218","12281898.8cf38f","672f96a5.399d08","e87814.4ba7d7f","e83faf33.14e778"]]},{"id":"3260586c.270db","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":1060.6666564941406,"y":2222.5477046966553,"z":"70167245.99734c","wires":[]},{"id":"9ee5048e.19ac7","type":"set","name":"set output to api handler","xml":"<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='tunnelxconn-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $tunnelxconn-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n","comments":"","x":1097.7540550231934,"y":2101.432439804077,"z":"70167245.99734c","wires":[]},{"id":"f85d83c4.298b4","type":"set","name":"set allotted-resource-oper-status","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingCreate' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tunnelxconn-topology-operation-input.request-information.request-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n","comments":"","x":1186.912841796875,"y":1449.0673828125,"z":"70167245.99734c","wires":[]},{"id":"12281898.8cf38f","type":"set","name":"set tmp.ar.self-link","xml":"<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/tunnelxconn-topology/'` \" />\n\n","comments":"","x":663.738037109375,"y":163.33331298828125,"z":"70167245.99734c","wires":[]},{"id":"fbfb6c9e.cec218","type":"set","name":"set tmp.ar.allotted-resource-id,etc","xml":"<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n<parameter name='tmp.search.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n\n","comments":"","x":711.997314453125,"y":119.59259033203125,"z":"70167245.99734c","wires":[]},{"id":"96b29550.58fc4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":850.8148803710938,"y":335.26727294921875,"z":"70167245.99734c","wires":[["d5a1496.3dfd238"]]},{"id":"67eda20b.cce1ec","type":"execute","name":"execute RestApiCallNode - PUT AR by id","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.tx.templatefile`\" />\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='PUT' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":1190.8626251220703,"y":1743.1008231639862,"z":"70167245.99734c","wires":[["7cbee552.df79bc","1d39e729.3d4b89","b6b59f5.14be1e"]]},{"id":"7cbee552.df79bc","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1459.5040016174316,"y":1794.4322349056602,"z":"70167245.99734c","wires":[["65924014.6bbe6"]]},{"id":"1d39e729.3d4b89","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1450.504051208496,"y":1762.9322606548667,"z":"70167245.99734c","wires":[["65924014.6bbe6"]]},{"id":"b6b59f5.14be1e","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1454.2540893554688,"y":1733.289365530014,"z":"70167245.99734c","wires":[["8b9d44cb.4d3c58"]]},{"id":"65924014.6bbe6","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error updating md-sal for tunnelxconn-allotted-resource\" />\n","comments":"","x":1616.254150390625,"y":1790.6822509765625,"z":"70167245.99734c","wires":[]},{"id":"61bdacb4.d89f74","type":"set","name":"set oper-status","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tx-ar.allotted-resource-status.rpc-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\n\n","comments":"","x":1198.5293884277344,"y":452.05291748046875,"z":"70167245.99734c","wires":[]},{"id":"f2bed30b.d1fbf","type":"comment","name":"Save consumed-allotted-resources to mdsal","info":"","comments":"","x":1227.2435302734375,"y":1258.7196044921875,"z":"70167245.99734c","wires":[]},{"id":"2a53d27b.7a62a6","type":"comment","name":"GET tunnelxconn-allotted-resource from mdsal","info":"","comments":"","x":573.8148193359375,"y":305.7672119140625,"z":"70167245.99734c","wires":[]},{"id":"d5a1496.3dfd238","type":"returnFailure","name":"return failure - tunnelxconn already exists","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" \n    value=\"`'Existing tunnelxconn-allotted-resource with order status of ' + $mdsal-ar.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`\" />\n","comments":"","x":1160.129150390625,"y":330.6243896484375,"z":"70167245.99734c","wires":[]},{"id":"9f74734e.d80b6","type":"set","name":"set tx-ar-identifiers","xml":"<set>\n<parameter name='tx-ar-identifiers.consuming-service-instance-id' value=\"`$tunnelxconn-topology-operation-input.service-information.service-instance-id` \" />\n<parameter name='tx-ar-identifiers.parent-service-instance-id' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n<parameter name='tx-ar-identifiers.allotted-resource-type' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='tx-ar-identifiers.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n\n","comments":"","x":1210.38623046875,"y":529.6243896484375,"z":"70167245.99734c","wires":[]},{"id":"4a34df28.9f761","type":"comment","name":"Set allotted-resource-identifiers","info":"","comments":"","x":1237.338623046875,"y":488.338623046875,"z":"70167245.99734c","wires":[]},{"id":"877116f4.81c61","type":"set","name":"set identifiers in overall structure","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.' value=\"`$tx-ar-identifiers.`\" />\n\n\n","comments":"","x":1227.38623046875,"y":837.910400390625,"z":"70167245.99734c","wires":[]},{"id":"caaf1a69.26d5d","type":"set","name":"set ecomp model information from input","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.' \nvalue=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.`\" />\n\n\n","comments":"","x":1255.957763671875,"y":572.9100952148438,"z":"70167245.99734c","wires":[]},{"id":"703ecf3f.4ff33","type":"switchNode","name":"switch model-invariant-uuid is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid'>\n","comments":"","outputs":1,"x":1236.8148193359375,"y":612.195809841156,"z":"70167245.99734c","wires":[["d019143f.d41858"]]},{"id":"d019143f.d41858","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1463.9576988220215,"y":613.6243271827698,"z":"70167245.99734c","wires":[["bea99689.e1f1c8"]]},{"id":"bea99689.e1f1c8","type":"set","name":"set model-invariant-uuid","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-invariant-uuid' \nvalue=\"`$ar-model.invariant-uuid`\" />\n\n\n","comments":"","x":1665.38627243042,"y":613.0528798103333,"z":"70167245.99734c","wires":[]},{"id":"ce53f3ef.26adb8","type":"switchNode","name":"switch model-uuid is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid'>\n","comments":"","outputs":1,"x":1208.2434158325195,"y":646.4815106391907,"z":"70167245.99734c","wires":[["caf1c0dc.11d9d8"]]},{"id":"caf1c0dc.11d9d8","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1409.6719818115234,"y":647.0529322624207,"z":"70167245.99734c","wires":[["e482370c.02f2a"]]},{"id":"e482370c.02f2a","type":"set","name":"set model-uuid","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-uuid' \nvalue=\"`$ar-model.uuid`\" />\n\n\n","comments":"","x":1602.529140472412,"y":647.0528540611267,"z":"70167245.99734c","wires":[]},{"id":"86c183f5.582b88","type":"switchNode","name":"switch model-version is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-version'>\n","comments":"","outputs":1,"x":1216.8148193359375,"y":688.338623046875,"z":"70167245.99734c","wires":[["a62fa522.3b9718"]]},{"id":"a62fa522.3b9718","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1466.8148002624512,"y":679.3386225700378,"z":"70167245.99734c","wires":[["1be750c7.5a5947"]]},{"id":"1be750c7.5a5947","type":"set","name":"set model-version","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-version' \nvalue=\"`$ar-model.version`\" />\n\n\n","comments":"","x":1659.6719589233398,"y":679.3385443687439,"z":"70167245.99734c","wires":[]},{"id":"db1cfd8b.e4a978","type":"switchNode","name":"switch ar-model.ecomp-generated-naming","xml":"<switch test='`$ar-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1280.38623046875,"y":781.7672729492188,"z":"70167245.99734c","wires":[["12dd332c.c6f66d","49b296fc.6797f8"]]},{"id":"12dd332c.c6f66d","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":1566.3862915039062,"y":781.1958618164062,"z":"70167245.99734c","wires":[["fa86baa1.a7d418"]]},{"id":"fa86baa1.a7d418","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">\n","atomic":"true","comments":"","outputs":1,"x":1720.1363525390625,"y":783.69580078125,"z":"70167245.99734c","wires":[["d8e0029b.f5e8a8"]]},{"id":"49b296fc.6797f8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1585.608642578125,"y":870.1958618164062,"z":"70167245.99734c","wires":[["9f3a1009.b3798"]]},{"id":"9f3a1009.b3798","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 in allotted-resource-model data.  Ecomp-generated-naming should be true\" />\n\n","comments":"","x":1768.608642578125,"y":875.1958618164062,"z":"70167245.99734c","wires":[]},{"id":"d8e0029b.f5e8a8","type":"switchNode","name":"switch ar-model.ecomp-generated-naming","xml":"<switch test='`$ar-model.naming-policy`'>\n","comments":"","outputs":1,"x":1856.38623046875,"y":832.767333984375,"z":"70167245.99734c","wires":[["332c63e2.ea8be4","ac3f0d13.266368"]]},{"id":"332c63e2.ea8be4","type":"other","name":"outcome oam_network_policy","xml":"<outcome value='oam_network_policy'>\n","comments":"","outputs":1,"x":2231.244140625,"y":836.3453369140625,"z":"70167245.99734c","wires":[["bc0e3ee8.843078"]]},{"id":"ac3f0d13.266368","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2145.671875,"y":913.1958618164062,"z":"70167245.99734c","wires":[["bc0e3ee8.843078"]]},{"id":"7e0f9284.4b7e44","type":"set","name":"set ar_name","xml":"<set>\n<parameter name='tmp.ar-name' value='$TenantOAMNetworkRole_$LandingNetworkRole_SZ' />\n","comments":"","x":2537.100830078125,"y":871.7672729492188,"z":"70167245.99734c","wires":[]},{"id":"3e8d4809.274d6","type":"execute","name":"execute SliStringUtils - replace TenantOAMNetworkRole","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$tmp.ar-name`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-name\"/>\n    <parameter name=\"target\" value=\"$TenantOAMNetworkRole\"/>\n    <parameter name=\"replacement\" value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.untrusted-network-role`\"/>\n\n","comments":"","outputs":1,"x":2681.2437858581543,"y":915.6244196891785,"z":"70167245.99734c","wires":[[]]},{"id":"f54fe341.3578c","type":"execute","name":"execute SliStringUtils - replace LandingNetworkRole","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$tmp.ar-name`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-name\"/>\n    <parameter name=\"target\" value=\"$LandingNetworkRole\"/>\n    <parameter name=\"replacement\" value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.trusted-network-role`\"/>\n\n","comments":"","outputs":1,"x":2668.243896484375,"y":955.7672729492188,"z":"70167245.99734c","wires":[[]]},{"id":"bc0e3ee8.843078","type":"block","name":"block: atomic","xml":"<block atomic='true'>\n","atomic":"false","comments":"","outputs":1,"x":2345.5292015075684,"y":911.3387522697449,"z":"70167245.99734c","wires":[["7e0f9284.4b7e44","3e8d4809.274d6","f54fe341.3578c","28ad7a84.2cbe6e"]]},{"id":"28ad7a84.2cbe6e","type":"set","name":"set identifiers.allotted-resource-name","xml":"<set>\n<parameter name='tx-ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />\n","comments":"","x":2626.1005859375,"y":1006.052978515625,"z":"70167245.99734c","wires":[]},{"id":"b8567e70.00332","type":"set","name":"set assignments in overall structure","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.' \nvalue=\"`$tx-ar-assignments.`\" />\n\n\n","comments":"","x":1202.8624267578125,"y":1214.6246337890625,"z":"70167245.99734c","wires":[]},{"id":"cfb2080f.44c9c8","type":"set","name":"Handle tx-ar-assignments","xml":"<set>\n<parameter name='tx-ar-assignments.vni' value='`$tmp.manageVni.vni`'/>\n<parameter name='tx-ar-assignments.vgmux-bearer-ip' value='`$tmp.vgmux-bearer-ip`'/>\n<parameter name='tx-ar-assignments.vgmux-lan-ip' value='`$tmp.vgmux-lan-ip`'/>\n<parameter name='tx-ar-assignments.vg-ip' value='`$tmp.manageIpaddr.ip`'/>\n\n","comments":"","x":1180.529052734375,"y":1117.052978515625,"z":"70167245.99734c","wires":[]},{"id":"5e2d9895.cf73","type":"for","name":"for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]","xml":"<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n","comments":"","outputs":1,"x":2253.8155822753906,"y":1316.0411586761475,"z":"70167245.99734c","wires":[["eb2cdea9.cb778"]]},{"id":"85c6f8d0.1b4668","type":"switchNode","name":"switch service-data.consumed-allotted-resources_length","xml":"<switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\n","comments":"","outputs":1,"x":1259.8148193359375,"y":1309.505126953125,"z":"70167245.99734c","wires":[["dc8f6919.70df38","3b9271f8.a4419e"]]},{"id":"dc8f6919.70df38","type":"other","name":"outcome Null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1660.207763671875,"y":1288.1124267578125,"z":"70167245.99734c","wires":[["7aeacb5a.99e424"]]},{"id":"3b9271f8.a4419e","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1652.957763671875,"y":1369.1124267578125,"z":"70167245.99734c","wires":[["52a4e536.66c5a4"]]},{"id":"eb2cdea9.cb778","type":"switchNode","name":"switch allotted-resource-id","xml":"<switch test=\"`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n","comments":"","outputs":1,"x":2688.4106826782227,"y":1317.85085105896,"z":"70167245.99734c","wires":[["8cf06394.df3ea8"]]},{"id":"8cf06394.df3ea8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2895.220375061035,"y":1321.064962387085,"z":"70167245.99734c","wires":[["21ed97fc.fc9e88"]]},{"id":"52a4e536.66c5a4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1819.8349609375,"y":1363.488525390625,"z":"70167245.99734c","wires":[["5e2d9895.cf73","49ab0d25.8010ec"]]},{"id":"21ed97fc.fc9e88","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3063.4817276000977,"y":1325.9222631454468,"z":"70167245.99734c","wires":[["53f652f8.101e24"]]},{"id":"7aeacb5a.99e424","type":"set","name":"set cidx","xml":"<set>\n<parameter name='tmp.cidx' value=\"`0`\" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value=\"1\" />\n\n\n","comments":"","x":1845.0648193359375,"y":1291.32666015625,"z":"70167245.99734c","wires":[]},{"id":"53f652f8.101e24","type":"set","name":"set tmp.cidx and ctx.consumed-ar","xml":"<set>\n<parameter name='tmp.cidx' value='`$cidx`' />\n<parameter name='ctx.consumed-ar.' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].`' />\n<parameter name='tmp.found-cidx' value='true' />","comments":"","x":3309.3391876220703,"y":1320.4937419891357,"z":"70167245.99734c","wires":[]},{"id":"540cbc0e.28865c","type":"set","name":"set consumed allotted resources","xml":"<set>\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value=\"`$tmp.ar.self-link` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />\n\n","comments":"","x":1195.6720123291016,"y":1368.826681137085,"z":"70167245.99734c","wires":[]},{"id":"8b9d44cb.4d3c58","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1595.910057067871,"y":1729.4815347194672,"z":"70167245.99734c","wires":[[]]},{"id":"2159536d.de8f1c","type":"comment","name":"Add SZ AR to mdsal","info":"","comments":"","x":1122.148193359375,"y":1679.1956787109375,"z":"70167245.99734c","wires":[]},{"id":"2e4a857d.928342","type":"execute","name":"execute getTime","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n    <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n","comments":"","outputs":1,"x":1139.592529296875,"y":1410.2275390625,"z":"70167245.99734c","wires":[[]]},{"id":"549678aa.89574","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":856.57666015625,"y":386.4814453125,"z":"70167245.99734c","wires":[["38e93c63.11d5e4"]]},{"id":"e6a480a5.65c488","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":804.57666015625,"y":882.2908325195312,"z":"70167245.99734c","wires":[["540cbc0e.28865c","2e4a857d.928342","f85d83c4.298b4","67eda20b.cce1ec","9ee5048e.19ac7","3260586c.270db","8b4c6a17.e3e838","61bdacb4.d89f74","9f74734e.d80b6","caaf1a69.26d5d","703ecf3f.4ff33","ce53f3ef.26adb8","86c183f5.582b88","db1cfd8b.e4a978","877116f4.81c61","e2b96e41.dba7a","fcd1f7e3.99e0a8","f8eaf248.0e822","cfb2080f.44c9c8","b8567e70.00332","85c6f8d0.1b4668","19f92301.f6449d","b03dbb12.bc75b","95de12c3.5b4c18","58f3b12c.76c66","7af21cbe.e3109c"]]},{"id":"8b4c6a17.e3e838","type":"set","name":"set id","xml":"<set>\n<parameter name='tx-ar.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='tx-ar.allotted-resource-status.action' value=\"`$tunnelxconn-topology-operation-input.request-information.request-action` \" />\n<parameter name='tx-ar.allotted-resource-status.rpc-name' value=\"tunnelxconn-topology-operation\" />\n<parameter name='tx-ar.allotted-resource-status.rpc-action' value=\"`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$tunnelxconn-topology-operation-input.request-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$tunnelxconn-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$tunnelxconn-topology-operation-input.service-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.' value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.` \" />","comments":"","x":1173.243408203125,"y":408.433837890625,"z":"70167245.99734c","wires":[]},{"id":"58f3b12c.76c66","type":"update","name":"update AAI allotted-resource","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $service-data.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $service-data.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $service-data.service-information.service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n        pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"description\" value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$ar-model.invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$ar-model.uuid`\" />\n\t<parameter name=\"operational-status\" value=\"null\" />","comments":"","outputs":1,"x":1162.38623046875,"y":1606.799072265625,"z":"70167245.99734c","wires":[["9e9f4c90.bf0d48","2b5b7235.3d1d0e"]]},{"id":"9e9f4c90.bf0d48","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1412.814842224121,"y":1593.5292553901672,"z":"70167245.99734c","wires":[["efcb7762.8c948"]]},{"id":"efcb7762.8c948","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"AAI failed\" />\n","comments":"","x":1581.3387451171875,"y":1595.1483154296875,"z":"70167245.99734c","wires":[]},{"id":"2b5b7235.3d1d0e","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1423.91015625,"y":1648.291259765625,"z":"70167245.99734c","wires":[["efcb7762.8c948"]]},{"id":"49ab0d25.8010ec","type":"switchNode","name":"switch tmp.found-cidx","xml":"<switch test='`$tmp.found-cidx`'>\n","comments":"","outputs":1,"x":2068.743423461914,"y":1562.2315921783447,"z":"70167245.99734c","wires":[["15a17af4.7b49b5"]]},{"id":"15a17af4.7b49b5","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2258.743377685547,"y":1562.2315292358398,"z":"70167245.99734c","wires":[["5fd31d95.33e68c"]]},{"id":"5fd31d95.33e68c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2424.743377685547,"y":1562.2315292358398,"z":"70167245.99734c","wires":[["d1d7e91e.b628"]]},{"id":"d1d7e91e.b628","type":"set","name":"set tmp.cidx ","xml":"<set>\n<parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />\n","comments":"","x":2670.600706100464,"y":1562.8030033111572,"z":"70167245.99734c","wires":[]},{"id":"cb0ecda.ef05db","type":"break","name":"break","xml":"<break/>\n","comments":"","x":3228.243408203125,"y":1365.731689453125,"z":"70167245.99734c","wires":[]},{"id":"a9bccdde.a120f","type":"execute","name":"execute RestApiCallNode - Update parent provided service AR","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`\" />\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='DELETE' />\n    <parameter name=\"responsePrefix\" value=\"parent\" />\n\n","comments":"","outputs":1,"x":1946.9521980285645,"y":1729.1904199123383,"z":"70167245.99734c","wires":[["7277c6ff.78bf7","2f0a3a77.128346","3b3333f6.aaf6d4"]]},{"id":"2cdb4052.2746c","type":"comment","name":"Rollback parent","info":"","comments":"","x":1790.9521255493164,"y":1698.8570504188538,"z":"70167245.99734c","wires":[]},{"id":"7277c6ff.78bf7","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2318.2602462768555,"y":1789.8553862571716,"z":"70167245.99734c","wires":[["45c2ac8a.13df9c"]]},{"id":"2f0a3a77.128346","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2309.26029586792,"y":1758.3554120063782,"z":"70167245.99734c","wires":[["45c2ac8a.13df9c"]]},{"id":"3b3333f6.aaf6d4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2313.0103340148926,"y":1728.7125168815255,"z":"70167245.99734c","wires":[["45c2ac8a.13df9c"]]},{"id":"45c2ac8a.13df9c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2454.666301727295,"y":1724.9046860709786,"z":"70167245.99734c","wires":[[]]},{"id":"10d2c615.b0f73a","type":"comment","name":"Generate naming","info":"","comments":"","x":1211.3862762451172,"y":739.7672252655029,"z":"70167245.99734c","wires":[]},{"id":"672f96a5.399d08","type":"execute","name":"execute Properties","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n    <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n    <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":656,"y":208,"z":"70167245.99734c","wires":[[]]},{"id":"8d9cde2f.3534f8","type":"get-resource","name":"get-resource parent service instance","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='vnfs/vnf-list/$tmp.ar.parent-service-instance-id/service-data/' pfx='parent-service-instance' >\n","comments":"","outputs":1,"x":413,"y":547,"z":"70167245.99734c","wires":[[]]},{"id":"d84542fc.095ae","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":932,"y":483,"z":"70167245.99734c","wires":[["e6a480a5.65c488"]]},{"id":"a3cb0d15.ef9278","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":745,"y":584,"z":"70167245.99734c","wires":[["4ba88fad.67db1"]]},{"id":"4ba88fad.67db1","type":"returnFailure","name":"return failure - parent service instance not found","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" \n    value=\"`'No entry found for parent service instance id ' + $tmp.ar.parent-service-instance-id + '.'`\" />\n","comments":"","x":672,"y":645,"z":"70167245.99734c","wires":[]},{"id":"34c4649e.80cfb4","type":"for","name":"for parent vnf parameters","xml":"<for index='curidx' start='0' end='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters_length`' >\n","comments":"","outputs":1,"x":1722,"y":929,"z":"70167245.99734c","wires":[["a1fa7464.76606"]]},{"id":"a1fa7464.76606","type":"switchNode","name":"switch parameter name","xml":"<switch test='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters[$curidx].vnf-parameter-name`'>\n","comments":"","outputs":1,"x":1844,"y":1021,"z":"70167245.99734c","wires":[["9ee00c26.e04e9","7d0d63b5.184dfc"]]},{"id":"9ee00c26.e04e9","type":"other","name":"vgmux_private_ip_0","xml":"<outcome value='vgmux_private_ip_0'>\n","comments":"","outputs":1,"x":2070,"y":1025,"z":"70167245.99734c","wires":[["bc5b4eb5.aba26"]]},{"id":"3085d91f.93577e","type":"set","name":"set tmp.vgmux-bearer-ip","xml":"<set>\n<parameter name='tmp.vgmux-bearer-ip' value='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters[$curidx].vnf-parameter-value`'/>\n\n","comments":"","x":2302.9999771118164,"y":1086.0000400543213,"z":"70167245.99734c","wires":[]},{"id":"7d0d63b5.184dfc","type":"other","name":"vgmux_private_ip_2","xml":"<outcome value='vgmux_private_ip_2'>\n","comments":"","outputs":1,"x":2072,"y":1085,"z":"70167245.99734c","wires":[["3085d91f.93577e"]]},{"id":"bc5b4eb5.aba26","type":"set","name":"set tmp.vgmux-lan-ip","xml":"<set>\n<parameter name='tmp.vgmux-lan-ip' value='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters[$curidx].vnf-parameter-value`'/>\n\n","comments":"","x":2292.9999771118164,"y":1028.0000381469727,"z":"70167245.99734c","wires":[]},{"id":"e2b96e41.dba7a","type":"set","name":"set default assignments","xml":"<set>\n<parameter name='tmp.vni' value='123' />\n<parameter name='tmp.vgmux-bearer-ip' value='127.0.0.1' />\n<parameter name='tmp.vgmux-lan-ip' value='127.0.0.1' />","comments":"","x":1202,"y":883,"z":"70167245.99734c","wires":[]},{"id":"e87814.4ba7d7f","type":"execute","name":"generate allotted-resource url","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$prop.restapi.tx-allottedresource`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":652,"y":251,"z":"70167245.99734c","wires":[[]]},{"id":"f8eaf248.0e822","type":"call","name":"call GENERIC-RESOURCE-API:manage-vni-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='manage-vni-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1268,"y":1004,"z":"70167245.99734c","wires":[[]]},{"id":"fcd1f7e3.99e0a8","type":"set","name":"set actions = reserve, pools = VNI, VGW","xml":"<set>\n<parameter name='tmp.manageVni.action' value='reserve' />\n<parameter name='tmp.manageIpaddr.action' value='reserve' />\n<parameter name='tmp.manageVni.pool' value='VNI'/>\n<parameter name='tmp.manageIpaddr.pool' value='VGW'/>","comments":"","x":1221,"y":967,"z":"70167245.99734c","wires":[]},{"id":"e83faf33.14e778","type":"execute","name":"execute RestApiCallNode - Get AR by id","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":576,"y":386,"z":"70167245.99734c","wires":[["549678aa.89574"]]},{"id":"19f92301.f6449d","type":"switchNode","name":"Does parent service instance have vnf parameters?","xml":"<switch test=\"`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters_length != ''`\">\n","comments":"","outputs":1,"x":1269,"y":924,"z":"70167245.99734c","wires":[["4b77905b.74e198"]]},{"id":"4b77905b.74e198","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1531,"y":926,"z":"70167245.99734c","wires":[["34c4649e.80cfb4"]]},{"id":"b03dbb12.bc75b","type":"call","name":"call GENERIC-RESOURCE-API:manage-ipaddr-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='manage-ipaddr-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1280,"y":1045,"z":"70167245.99734c","wires":[[]]},{"id":"95de12c3.5b4c18","type":"set","name":"Handle tx parameters","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[0].name' value='VNI'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[0].value' value='`$tmp.manageVni.vni`'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[1].name' value='vgmux_private_ip_2'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[1].value' value='`$tmp.vgmux-bearer-ip`'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[2].name' value='vgmux_private_ip_0'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[2].value' value='`$tmp.vgmux-lan-ip`'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[3].name' value='vgw_private_ip_0'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[3].value' value='`$tmp.manageIpaddr.ip`'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters_length' value='4'/>\n\n","comments":"","x":1167,"y":1174,"z":"70167245.99734c","wires":[]},{"id":"7031fe98.2c6288","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":275,"y":464,"z":"70167245.99734c","wires":[]},{"id":"38e93c63.11d5e4","type":"call","name":"call  get-vnf-api-parent-instance","xml":"\n<call module='GENERIC-RESOURCE-API' rpc='get-vnf-api-parent-instance' mode='sync' >\n","comments":"","outputs":1,"x":672,"y":483,"z":"70167245.99734c","wires":[["d84542fc.095ae","a3cb0d15.ef9278"]]},{"id":"7af21cbe.e3109c","type":"set","name":"setservice data custid, svc instance, svc type","xml":"<set>\n<parameter name='service-data.service-information.global-customer-id' value='`$tunnelxconn-topology-operation-input.service-information.global-customer-id`' />\n<parameter name='service-data.service-information.subscription-service-type' value='`$tunnelxconn-topology-operation-input.service-information.subscription-service-type`' />\n<!--\n<parameter name='service-data.service-information.service-instance-id' value='`$tunnelxconn-topology-operation-input.service-information.service-instance-id`' />\n-->\n<parameter name='service-data.service-information.service-instance-id' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`\"/>","comments":"","x":1216.4443969726562,"y":1541.666748046875,"z":"70167245.99734c","wires":[]},{"id":"f9011934.3041a8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":821.8888888888889,"y":1544.3333333333333,"z":"70167245.99734c","wires":[]},{"id":"1e544179.ffb5cf","type":"comment","name":"map input to service-data request info","info":"","comments":"","x":1496.3334350585938,"y":1519.888671875,"z":"70167245.99734c","wires":[]},{"id":"cc57223c.b8369","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":816,"y":1129,"z":"70167245.99734c","wires":[]},{"id":"6acf8c23.3105dc","type":"comment","name":"404 is mapping to success ?","info":"","comments":"","x":922,"y":294,"z":"70167245.99734c","wires":[]},{"id":"12de95c4.dcc23a","type":"set","name":"set SDN-ETHERNET-INTERNET/VCPE work around","xml":"<set>\n<parameter name='tunnelxconn-topology-operation-input.service-information.global-customer-id' value = 'SDN-ETHERNET-INTERNET' />\n<parameter name='tunnelxconn-topology-operation-input.service-information.subscription-service-type' value = \"vCPE\" />\n","comments":"","x":1314,"y":371,"z":"70167245.99734c","wires":[]},{"id":"79c9de0c.35d96","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1536,"y":347,"z":"70167245.99734c","wires":[]},{"id":"880b54b6.ffc6c","type":"comment","name":"took out link on RestAPICall","info":"","comments":"","x":1020,"y":75,"z":"70167245.99734c","wires":[]},{"id":"b735cd6.f00dbb","type":"comment","name":"Added SDN-E-I and vCPE ot INPUT","info":"","comments":"","x":1050,"y":111,"z":"70167245.99734c","wires":[]},{"id":"4c9f8ee8.c9ca38","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1034,"y":41,"z":"70167245.99734c","wires":[]},{"id":"d5850db9.4637d8","type":"execute","name":"execute printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/tx-conn-assign.log' />\n\n","comments":"","outputs":1,"x":1399,"y":1083,"z":"70167245.99734c","wires":[[]]},{"id":"56c108ca.6ff1e","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":998,"y":910,"z":"70167245.99734c","wires":[]},{"id":"d2b1cc73.d58508","type":"comment","name":"vnf-parameters_lenght is null","info":"parent-service-instance.service-data.vnf-topology-information.vnf-parameters_length","comments":"","x":941,"y":938,"z":"70167245.99734c","wires":[]}]
+[{"id":"7d9b54af.272da4","type":"dgstart","name":"DGSTART","outputs":1,"x":263.8833312988281,"y":143,"z":"7fadb4ab.c53bec","wires":[["919a0a7b.5333b"]]},{"id":"919a0a7b.5333b","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":360.12141036987305,"y":203.95239067077637,"z":"7fadb4ab.c53bec","wires":[["7f78c9a2.2df718"]]},{"id":"7f78c9a2.2df718","type":"method","name":"tunnelxconn-topology-operation-assign","xml":"<method rpc='tunnelxconn-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":411.0381889343262,"y":239.19044589996338,"z":"7fadb4ab.c53bec","wires":[["ae21d4fb.c30b38"]]},{"id":"ae21d4fb.c30b38","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":314.35952377319336,"y":382.5237879753113,"z":"7fadb4ab.c53bec","wires":[["83f83b2b.016708","767a3049.d08f1","af2f1a45.adbd08","9f48afd3.f6e63","d28ebab3.9126c"]]},{"id":"13ab7d5.78d2b03","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.5499877929688,"y":2309.5477046966553,"z":"7fadb4ab.c53bec","wires":[]},{"id":"dab5dce8.609ec8","type":"set","name":"set output to api handler","xml":"<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='tunnelxconn-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $tunnelxconn-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n","comments":"","x":1194.6373863220215,"y":2188.432439804077,"z":"7fadb4ab.c53bec","wires":[]},{"id":"3cee9d90.ad9fb2","type":"set","name":"set allotted-resource-oper-status","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingCreate' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tunnelxconn-topology-operation-input.request-information.request-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n","comments":"","x":1283.7961730957031,"y":1536.0673828125,"z":"7fadb4ab.c53bec","wires":[]},{"id":"767a3049.d08f1","type":"set","name":"set tmp.ar.self-link","xml":"<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/tunnelxconn-topology/'` \" />\n\n","comments":"","x":760.6213684082031,"y":250.33331298828125,"z":"7fadb4ab.c53bec","wires":[]},{"id":"83f83b2b.016708","type":"set","name":"set tmp.ar.allotted-resource-id,etc","xml":"<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n<parameter name='tmp.search.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n\n","comments":"","x":808.8806457519531,"y":206.59259033203125,"z":"7fadb4ab.c53bec","wires":[]},{"id":"e45cb65d.492d9","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":947.6982116699219,"y":422.26727294921875,"z":"7fadb4ab.c53bec","wires":[["66a3f98d.ffa7d8"]]},{"id":"c7e2e195.80b4c","type":"execute","name":"execute RestApiCallNode - PUT AR by id","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.tx.templatefile`\" />\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='PUT' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":1287.7459564208984,"y":1830.1008231639862,"z":"7fadb4ab.c53bec","wires":[["160f416c.c5ff07","798a20bf.db2ba","9b6cbfce.dded58"]]},{"id":"160f416c.c5ff07","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1556.3873329162598,"y":1881.4322349056602,"z":"7fadb4ab.c53bec","wires":[["81b5b1b4.388b98"]]},{"id":"798a20bf.db2ba","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1547.3873825073242,"y":1849.9322606548667,"z":"7fadb4ab.c53bec","wires":[["81b5b1b4.388b98"]]},{"id":"9b6cbfce.dded58","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1551.1374206542969,"y":1820.289365530014,"z":"7fadb4ab.c53bec","wires":[["a48fe088.c8a28"]]},{"id":"81b5b1b4.388b98","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error updating md-sal for tunnelxconn-allotted-resource\" />\n","comments":"","x":1713.1374816894531,"y":1877.6822509765625,"z":"7fadb4ab.c53bec","wires":[]},{"id":"fd7f6b9b.715c08","type":"set","name":"set oper-status","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tx-ar.allotted-resource-status.rpc-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\n\n","comments":"","x":1295.4127197265625,"y":539.0529174804688,"z":"7fadb4ab.c53bec","wires":[]},{"id":"9e693e8b.6d829","type":"comment","name":"Save consumed-allotted-resources to mdsal","info":"","comments":"","x":1324.1268615722656,"y":1345.7196044921875,"z":"7fadb4ab.c53bec","wires":[]},{"id":"4f968092.a4f4e8","type":"comment","name":"GET tunnelxconn-allotted-resource from mdsal","info":"","comments":"","x":670.6981506347656,"y":392.7672119140625,"z":"7fadb4ab.c53bec","wires":[]},{"id":"66a3f98d.ffa7d8","type":"returnFailure","name":"return failure - tunnelxconn already exists","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" \n    value=\"`'Existing tunnelxconn-allotted-resource with order status of ' + $mdsal-ar.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`\" />\n","comments":"","x":1257.0124816894531,"y":417.6243896484375,"z":"7fadb4ab.c53bec","wires":[]},{"id":"a9cf7967.8dc92","type":"set","name":"set tx-ar-identifiers","xml":"<set>\n<parameter name='tx-ar-identifiers.consuming-service-instance-id' value=\"`$tunnelxconn-topology-operation-input.service-information.service-instance-id` \" />\n<parameter name='tx-ar-identifiers.parent-service-instance-id' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n<parameter name='tx-ar-identifiers.allotted-resource-type' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='tx-ar-identifiers.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n\n","comments":"","x":1307.2695617675781,"y":616.6243896484375,"z":"7fadb4ab.c53bec","wires":[]},{"id":"ca14b507.29986","type":"comment","name":"Set allotted-resource-identifiers","info":"","comments":"","x":1334.2219543457031,"y":575.338623046875,"z":"7fadb4ab.c53bec","wires":[]},{"id":"535c6ca9.04b234","type":"set","name":"set identifiers in overall structure","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.' value=\"`$tx-ar-identifiers.`\" />\n\n\n","comments":"","x":1324.2695617675781,"y":924.910400390625,"z":"7fadb4ab.c53bec","wires":[]},{"id":"cc85212.a969c6","type":"set","name":"set ecomp model information from input","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.' \nvalue=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.`\" />\n\n\n","comments":"","x":1352.8410949707031,"y":659.9100952148438,"z":"7fadb4ab.c53bec","wires":[]},{"id":"6ca7d4e3.5c66dc","type":"switchNode","name":"switch model-invariant-uuid is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid'>\n","comments":"","outputs":1,"x":1333.6981506347656,"y":699.195809841156,"z":"7fadb4ab.c53bec","wires":[["67ca668d.30b6d"]]},{"id":"67ca668d.30b6d","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1560.8410301208496,"y":700.6243271827698,"z":"7fadb4ab.c53bec","wires":[["89650115.f7bf4"]]},{"id":"89650115.f7bf4","type":"set","name":"set model-invariant-uuid","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-invariant-uuid' \nvalue=\"`$ar-model.invariant-uuid`\" />\n\n\n","comments":"","x":1762.269603729248,"y":700.0528798103333,"z":"7fadb4ab.c53bec","wires":[]},{"id":"bab20b2d.5ec94","type":"switchNode","name":"switch model-uuid is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid'>\n","comments":"","outputs":1,"x":1305.1267471313477,"y":733.4815106391907,"z":"7fadb4ab.c53bec","wires":[["1e018b1c.8ec1b5"]]},{"id":"1e018b1c.8ec1b5","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1506.5553131103516,"y":734.0529322624207,"z":"7fadb4ab.c53bec","wires":[["85a72f0b.6be43"]]},{"id":"85a72f0b.6be43","type":"set","name":"set model-uuid","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-uuid' \nvalue=\"`$ar-model.uuid`\" />\n\n\n","comments":"","x":1699.4124717712402,"y":734.0528540611267,"z":"7fadb4ab.c53bec","wires":[]},{"id":"b22d9542.13c138","type":"switchNode","name":"switch model-version is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-version'>\n","comments":"","outputs":1,"x":1313.6981506347656,"y":775.338623046875,"z":"7fadb4ab.c53bec","wires":[["12fa49ff.c356ce"]]},{"id":"12fa49ff.c356ce","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1563.6981315612793,"y":766.3386225700378,"z":"7fadb4ab.c53bec","wires":[["8190eb5d.8dacd"]]},{"id":"8190eb5d.8dacd","type":"set","name":"set model-version","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-version' \nvalue=\"`$ar-model.version`\" />\n\n\n","comments":"","x":1756.555290222168,"y":766.3385443687439,"z":"7fadb4ab.c53bec","wires":[]},{"id":"6bf23401.01e8ac","type":"switchNode","name":"switch ar-model.ecomp-generated-naming","xml":"<switch test='`$ar-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1377.2695617675781,"y":868.7672729492188,"z":"7fadb4ab.c53bec","wires":[["3a7c67cc.e92438","4f05c4e2.66085c"]]},{"id":"3a7c67cc.e92438","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":1663.2696228027344,"y":868.1958618164062,"z":"7fadb4ab.c53bec","wires":[["d04b0076.d8ee"]]},{"id":"d04b0076.d8ee","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">\n","atomic":"true","comments":"","outputs":1,"x":1817.0196838378906,"y":870.69580078125,"z":"7fadb4ab.c53bec","wires":[["1e20163.4688aea"]]},{"id":"4f05c4e2.66085c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1682.4919738769531,"y":957.1958618164062,"z":"7fadb4ab.c53bec","wires":[["c0aa79c6.3f38"]]},{"id":"c0aa79c6.3f38","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 in allotted-resource-model data.  Ecomp-generated-naming should be true\" />\n\n","comments":"","x":1865.4919738769531,"y":962.1958618164062,"z":"7fadb4ab.c53bec","wires":[]},{"id":"1e20163.4688aea","type":"switchNode","name":"switch ar-model.ecomp-generated-naming","xml":"<switch test='`$ar-model.naming-policy`'>\n","comments":"","outputs":1,"x":1953.2695617675781,"y":919.767333984375,"z":"7fadb4ab.c53bec","wires":[["605d4ebf.646cc","ecc0b48f.93f14"]]},{"id":"605d4ebf.646cc","type":"other","name":"outcome oam_network_policy","xml":"<outcome value='oam_network_policy'>\n","comments":"","outputs":1,"x":2328.127471923828,"y":923.3453369140625,"z":"7fadb4ab.c53bec","wires":[["1401e9bb.56aa2e"]]},{"id":"ecc0b48f.93f14","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2242.555206298828,"y":1000.1958618164062,"z":"7fadb4ab.c53bec","wires":[["1401e9bb.56aa2e"]]},{"id":"2b53ceb6.6d45a2","type":"set","name":"set ar_name","xml":"<set>\n<parameter name='tmp.ar-name' value='$TenantOAMNetworkRole_$LandingNetworkRole_SZ' />\n","comments":"","x":2633.984161376953,"y":958.7672729492188,"z":"7fadb4ab.c53bec","wires":[]},{"id":"772444e4.c57dbc","type":"execute","name":"execute SliStringUtils - replace TenantOAMNetworkRole","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$tmp.ar-name`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-name\"/>\n    <parameter name=\"target\" value=\"$TenantOAMNetworkRole\"/>\n    <parameter name=\"replacement\" value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.untrusted-network-role`\"/>\n\n","comments":"","outputs":1,"x":2778.1271171569824,"y":1002.6244196891785,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"fe7b7b65.196628","type":"execute","name":"execute SliStringUtils - replace LandingNetworkRole","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$tmp.ar-name`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-name\"/>\n    <parameter name=\"target\" value=\"$LandingNetworkRole\"/>\n    <parameter name=\"replacement\" value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.trusted-network-role`\"/>\n\n","comments":"","outputs":1,"x":2765.127227783203,"y":1042.7672729492188,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"1401e9bb.56aa2e","type":"block","name":"block: atomic","xml":"<block atomic='true'>\n","atomic":"false","comments":"","outputs":1,"x":2442.4125328063965,"y":998.3387522697449,"z":"7fadb4ab.c53bec","wires":[["2b53ceb6.6d45a2","772444e4.c57dbc","fe7b7b65.196628","c9f08b8c.4541c"]]},{"id":"c9f08b8c.4541c","type":"set","name":"set identifiers.allotted-resource-name","xml":"<set>\n<parameter name='tx-ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />\n","comments":"","x":2722.983917236328,"y":1093.052978515625,"z":"7fadb4ab.c53bec","wires":[]},{"id":"53be8c2a.7ac224","type":"set","name":"set assignments in overall structure","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.' \nvalue=\"`$tx-ar-assignments.`\" />\n\n\n","comments":"","x":1299.7457580566406,"y":1301.6246337890625,"z":"7fadb4ab.c53bec","wires":[]},{"id":"218ac52a.07c662","type":"set","name":"Handle tx-ar-assignments","xml":"<set>\n<parameter name='tx-ar-assignments.vni' value='`$tmp.manageVni.vni`'/>\n<parameter name='tx-ar-assignments.vgmux-bearer-ip' value='`$tmp.vgmux-bearer-ip`'/>\n<parameter name='tx-ar-assignments.vgmux-lan-ip' value='`$tmp.vgmux-lan-ip`'/>\n<parameter name='tx-ar-assignments.vg-ip' value='`$tmp.manageIpaddr.ip`'/>\n\n","comments":"","x":1277.4123840332031,"y":1204.052978515625,"z":"7fadb4ab.c53bec","wires":[]},{"id":"2dd46ad.0c3ba16","type":"for","name":"for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]","xml":"<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n","comments":"","outputs":1,"x":2350.6989135742188,"y":1403.0411586761475,"z":"7fadb4ab.c53bec","wires":[["c650df17.95a668"]]},{"id":"542e8fbf.9a4fc8","type":"switchNode","name":"switch service-data.consumed-allotted-resources_length","xml":"<switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\n","comments":"","outputs":1,"x":1356.6981506347656,"y":1396.505126953125,"z":"7fadb4ab.c53bec","wires":[["76a078bc.3ec0c","82bdee16.337b7"]]},{"id":"76a078bc.3ec0c","type":"other","name":"outcome Null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1757.0910949707031,"y":1375.1124267578125,"z":"7fadb4ab.c53bec","wires":[["351b39ac.6117b6"]]},{"id":"82bdee16.337b7","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1749.8410949707031,"y":1456.1124267578125,"z":"7fadb4ab.c53bec","wires":[["c7cbb99.60f3748"]]},{"id":"c650df17.95a668","type":"switchNode","name":"switch allotted-resource-id","xml":"<switch test=\"`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n","comments":"","outputs":1,"x":2785.294013977051,"y":1404.85085105896,"z":"7fadb4ab.c53bec","wires":[["4ad63d89.544fbc"]]},{"id":"4ad63d89.544fbc","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2992.1037063598633,"y":1408.064962387085,"z":"7fadb4ab.c53bec","wires":[["3a240ab.9d348f6"]]},{"id":"c7cbb99.60f3748","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1916.7182922363281,"y":1450.488525390625,"z":"7fadb4ab.c53bec","wires":[["2dd46ad.0c3ba16","6f8a4fa6.cf948"]]},{"id":"3a240ab.9d348f6","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3160.365058898926,"y":1412.9222631454468,"z":"7fadb4ab.c53bec","wires":[["85ecd49e.fdba4"]]},{"id":"351b39ac.6117b6","type":"set","name":"set cidx","xml":"<set>\n<parameter name='tmp.cidx' value=\"`0`\" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value=\"1\" />\n\n\n","comments":"","x":1941.9481506347656,"y":1378.32666015625,"z":"7fadb4ab.c53bec","wires":[]},{"id":"85ecd49e.fdba4","type":"set","name":"set tmp.cidx and ctx.consumed-ar","xml":"<set>\n<parameter name='tmp.cidx' value='`$cidx`' />\n<parameter name='ctx.consumed-ar.' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].`' />\n<parameter name='tmp.found-cidx' value='true' />","comments":"","x":3406.2225189208984,"y":1407.4937419891357,"z":"7fadb4ab.c53bec","wires":[]},{"id":"774f0d4b.22566c","type":"set","name":"set consumed allotted resources","xml":"<set>\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value=\"`$tmp.ar.self-link` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />\n\n","comments":"","x":1292.5553436279297,"y":1455.826681137085,"z":"7fadb4ab.c53bec","wires":[]},{"id":"a48fe088.c8a28","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1692.7933883666992,"y":1816.4815347194672,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"10b88a1b.e65316","type":"comment","name":"Add SZ AR to mdsal","info":"","comments":"","x":1219.0315246582031,"y":1766.1956787109375,"z":"7fadb4ab.c53bec","wires":[]},{"id":"28f2d6f4.76e162","type":"execute","name":"execute getTime","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n    <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n","comments":"","outputs":1,"x":1236.4758605957031,"y":1497.2275390625,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"fdad46b0.e22b48","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":953.4599914550781,"y":473.4814453125,"z":"7fadb4ab.c53bec","wires":[["11866c15.7f8684"]]},{"id":"5d145909.4e99d","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":901.4599914550781,"y":969.2908325195312,"z":"7fadb4ab.c53bec","wires":[["774f0d4b.22566c","28f2d6f4.76e162","3cee9d90.ad9fb2","c7e2e195.80b4c","dab5dce8.609ec8","13ab7d5.78d2b03","47bc1534.f83334","fd7f6b9b.715c08","a9cf7967.8dc92","cc85212.a969c6","6ca7d4e3.5c66dc","bab20b2d.5ec94","b22d9542.13c138","6bf23401.01e8ac","535c6ca9.04b234","ba744afc.3e2d2","cea14761.18e528","648b662c.092ab","218ac52a.07c662","53be8c2a.7ac224","542e8fbf.9a4fc8","f5672e19.d9acf8","883befdb.8069d","c7292ce.87518d","66b81cf7.857b44","364d0b19.d4c844"]]},{"id":"47bc1534.f83334","type":"set","name":"set id","xml":"<set>\n<parameter name='tx-ar.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='tx-ar.allotted-resource-status.action' value=\"`$tunnelxconn-topology-operation-input.request-information.request-action` \" />\n<parameter name='tx-ar.allotted-resource-status.rpc-name' value=\"tunnelxconn-topology-operation\" />\n<parameter name='tx-ar.allotted-resource-status.rpc-action' value=\"`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$tunnelxconn-topology-operation-input.request-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$tunnelxconn-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$tunnelxconn-topology-operation-input.service-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.' value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.` \" />","comments":"","x":1270.1267395019531,"y":495.433837890625,"z":"7fadb4ab.c53bec","wires":[]},{"id":"66b81cf7.857b44","type":"update","name":"update AAI allotted-resource","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $service-data.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $service-data.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $service-data.service-information.service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n        pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"description\" value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$ar-model.invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$ar-model.uuid`\" />\n\t<parameter name=\"operational-status\" value=\"null\" />","comments":"","outputs":1,"x":1259.2695617675781,"y":1693.799072265625,"z":"7fadb4ab.c53bec","wires":[["d58aab1e.918b38","9847d7ac.37a148"]]},{"id":"d58aab1e.918b38","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1509.6981735229492,"y":1680.5292553901672,"z":"7fadb4ab.c53bec","wires":[["e8d78986.f604c8"]]},{"id":"e8d78986.f604c8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"AAI failed\" />\n","comments":"","x":1678.2220764160156,"y":1682.1483154296875,"z":"7fadb4ab.c53bec","wires":[]},{"id":"9847d7ac.37a148","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1520.7934875488281,"y":1735.291259765625,"z":"7fadb4ab.c53bec","wires":[["e8d78986.f604c8"]]},{"id":"6f8a4fa6.cf948","type":"switchNode","name":"switch tmp.found-cidx","xml":"<switch test='`$tmp.found-cidx`'>\n","comments":"","outputs":1,"x":2165.626754760742,"y":1649.2315921783447,"z":"7fadb4ab.c53bec","wires":[["2eecb5f.b469fca"]]},{"id":"2eecb5f.b469fca","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2355.626708984375,"y":1649.2315292358398,"z":"7fadb4ab.c53bec","wires":[["b6b35321.fd9c3"]]},{"id":"b6b35321.fd9c3","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2521.626708984375,"y":1649.2315292358398,"z":"7fadb4ab.c53bec","wires":[["644bef93.9b3f2"]]},{"id":"644bef93.9b3f2","type":"set","name":"set tmp.cidx ","xml":"<set>\n<parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />\n","comments":"","x":2767.484037399292,"y":1649.8030033111572,"z":"7fadb4ab.c53bec","wires":[]},{"id":"dbbca874.430ae","type":"break","name":"break","xml":"<break/>\n","comments":"","x":3325.126739501953,"y":1452.731689453125,"z":"7fadb4ab.c53bec","wires":[]},{"id":"6ca0741e.7e7cf4","type":"execute","name":"execute RestApiCallNode - Update parent provided service AR","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`\" />\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='DELETE' />\n    <parameter name=\"responsePrefix\" value=\"parent\" />\n\n","comments":"","outputs":1,"x":2043.8355293273926,"y":1816.1904199123383,"z":"7fadb4ab.c53bec","wires":[["fb20c3bf.cc2948","c8aded03.c3dc58","ec52b720.3f0e88"]]},{"id":"5a078a4b.dbcdac","type":"comment","name":"Rollback parent","info":"","comments":"","x":1887.8354568481445,"y":1785.8570504188538,"z":"7fadb4ab.c53bec","wires":[]},{"id":"fb20c3bf.cc2948","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2415.1435775756836,"y":1876.8553862571716,"z":"7fadb4ab.c53bec","wires":[["a380b8a1.d6156"]]},{"id":"c8aded03.c3dc58","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2406.143627166748,"y":1845.3554120063782,"z":"7fadb4ab.c53bec","wires":[["a380b8a1.d6156"]]},{"id":"ec52b720.3f0e88","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2409.8936653137207,"y":1815.7125168815255,"z":"7fadb4ab.c53bec","wires":[["a380b8a1.d6156"]]},{"id":"a380b8a1.d6156","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2551.549633026123,"y":1811.9046860709786,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"87327a3.b272b08","type":"comment","name":"Generate naming","info":"","comments":"","x":1308.2696075439453,"y":826.7672252655029,"z":"7fadb4ab.c53bec","wires":[]},{"id":"af2f1a45.adbd08","type":"execute","name":"execute Properties","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n    <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n    <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":752.8833312988281,"y":295,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"319efc36.8b7e94","type":"get-resource","name":"get-resource parent service instance","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='vnfs/vnf-list/$tmp.ar.parent-service-instance-id/service-data/' pfx='parent-service-instance' >\n","comments":"","outputs":1,"x":509.8833312988281,"y":634,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"64cce46e.263344","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1028.8833312988281,"y":570,"z":"7fadb4ab.c53bec","wires":[["5d145909.4e99d"]]},{"id":"24d078da.a6c4b8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":841.8833312988281,"y":671,"z":"7fadb4ab.c53bec","wires":[["d574aab6.f0cbf8"]]},{"id":"d574aab6.f0cbf8","type":"returnFailure","name":"return failure - parent service instance not found","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" \n    value=\"`'No entry found for parent service instance id ' + $tmp.ar.parent-service-instance-id + '.'`\" />\n","comments":"","x":768.8833312988281,"y":732,"z":"7fadb4ab.c53bec","wires":[]},{"id":"212a1f09.95555","type":"for","name":"for parent vnf parameters","xml":"<for index='curidx' start='0' end='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters_length`' >\n","comments":"","outputs":1,"x":1818.8833312988281,"y":1016,"z":"7fadb4ab.c53bec","wires":[["b1789936.524ea8"]]},{"id":"b1789936.524ea8","type":"switchNode","name":"switch parameter name","xml":"<switch test='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters[$curidx].vnf-parameter-name`'>\n","comments":"","outputs":1,"x":1940.8833312988281,"y":1108,"z":"7fadb4ab.c53bec","wires":[["127e3224.65c8ae","e9081b35.fae1"]]},{"id":"127e3224.65c8ae","type":"other","name":"vgmux_private_ip_0","xml":"<outcome value='vgmux_private_ip_0'>\n","comments":"","outputs":1,"x":2166.883331298828,"y":1112,"z":"7fadb4ab.c53bec","wires":[["bd74febf.bbf42"]]},{"id":"eb282786.5e9aa","type":"set","name":"set tmp.vgmux-bearer-ip","xml":"<set>\n<parameter name='tmp.vgmux-bearer-ip' value='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters[$curidx].vnf-parameter-value`'/>\n\n","comments":"","x":2399.8833084106445,"y":1173.0000400543213,"z":"7fadb4ab.c53bec","wires":[]},{"id":"e9081b35.fae1","type":"other","name":"vgmux_private_ip_2","xml":"<outcome value='vgmux_private_ip_2'>\n","comments":"","outputs":1,"x":2168.883331298828,"y":1172,"z":"7fadb4ab.c53bec","wires":[["eb282786.5e9aa"]]},{"id":"bd74febf.bbf42","type":"set","name":"set tmp.vgmux-lan-ip","xml":"<set>\n<parameter name='tmp.vgmux-lan-ip' value='`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters[$curidx].vnf-parameter-value`'/>\n\n","comments":"","x":2389.8833084106445,"y":1115.0000381469727,"z":"7fadb4ab.c53bec","wires":[]},{"id":"ba744afc.3e2d2","type":"set","name":"set default assignments","xml":"<set>\n<parameter name='tmp.vni' value='123' />\n<parameter name='tmp.vgmux-bearer-ip' value='127.0.0.1' />\n<parameter name='tmp.vgmux-lan-ip' value='127.0.0.1' />","comments":"","x":1298.8833312988281,"y":970,"z":"7fadb4ab.c53bec","wires":[]},{"id":"9f48afd3.f6e63","type":"execute","name":"generate allotted-resource url","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$prop.restapi.tx-allottedresource`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":748.8833312988281,"y":338,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"648b662c.092ab","type":"call","name":"call GENERIC-RESOURCE-API:manage-vni-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='manage-vni-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1364.8833312988281,"y":1091,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"cea14761.18e528","type":"set","name":"set actions = reserve, pools = VNI, VGW","xml":"<set>\n<parameter name='tmp.manageVni.action' value='reserve' />\n<parameter name='tmp.manageIpaddr.action' value='reserve' />\n<parameter name='tmp.manageVni.pool' value='VNI'/>\n<parameter name='tmp.manageIpaddr.pool' value='VGW'/>","comments":"","x":1317.8833312988281,"y":1054,"z":"7fadb4ab.c53bec","wires":[]},{"id":"d28ebab3.9126c","type":"execute","name":"execute RestApiCallNode - Get AR by id","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":672.8833312988281,"y":473,"z":"7fadb4ab.c53bec","wires":[["fdad46b0.e22b48"]]},{"id":"f5672e19.d9acf8","type":"switchNode","name":"Does parent service instance have vnf parameters?","xml":"<switch test=\"`$parent-service-instance.service-data.vnf-topology-information.vnf-parameters_length != ''`\">\n","comments":"","outputs":1,"x":1365.8833312988281,"y":1011,"z":"7fadb4ab.c53bec","wires":[["7a68d005.89872"]]},{"id":"7a68d005.89872","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1627.8833312988281,"y":1013,"z":"7fadb4ab.c53bec","wires":[["212a1f09.95555"]]},{"id":"883befdb.8069d","type":"call","name":"call GENERIC-RESOURCE-API:manage-ipaddr-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='manage-ipaddr-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1376.8833312988281,"y":1132,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"c7292ce.87518d","type":"set","name":"Handle tx parameters","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[0].name' value='VNI'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[0].value' value='`$tmp.manageVni.vni`'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[1].name' value='vgmux_private_ip_2'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[1].value' value='`$tmp.vgmux-bearer-ip`'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[2].name' value='vgmux_private_ip_0'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[2].value' value='`$tmp.vgmux-lan-ip`'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[3].name' value='vgw_private_ip_0'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters.param[3].value' value='`$tmp.manageIpaddr.ip`'/>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-parameters_length' value='4'/>\n\n","comments":"","x":1263.8833312988281,"y":1261,"z":"7fadb4ab.c53bec","wires":[]},{"id":"74818acd.58d15c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":371.8833312988281,"y":551,"z":"7fadb4ab.c53bec","wires":[]},{"id":"11866c15.7f8684","type":"call","name":"call  get-vnf-api-parent-instance","xml":"\n<call module='GENERIC-RESOURCE-API' rpc='get-vnf-api-parent-instance' mode='sync' >\n","comments":"","outputs":1,"x":768.8833312988281,"y":570,"z":"7fadb4ab.c53bec","wires":[["64cce46e.263344","24d078da.a6c4b8"]]},{"id":"364d0b19.d4c844","type":"set","name":"setservice data custid, svc instance, svc type","xml":"<set>\n<parameter name='service-data.service-information.global-customer-id' value='`$tunnelxconn-topology-operation-input.service-information.global-customer-id`' />\n<parameter name='service-data.service-information.subscription-service-type' value='`$tunnelxconn-topology-operation-input.service-information.subscription-service-type`' />\n<!--\n<parameter name='service-data.service-information.service-instance-id' value='`$tunnelxconn-topology-operation-input.service-information.service-instance-id`' />\n-->\n<parameter name='service-data.service-information.service-instance-id' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`\"/>","comments":"","x":1313.3277282714844,"y":1628.666748046875,"z":"7fadb4ab.c53bec","wires":[]},{"id":"2fde6d00.c59b54","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":918.772220187717,"y":1631.3333333333333,"z":"7fadb4ab.c53bec","wires":[]},{"id":"907398df.8f102","type":"comment","name":"map input to service-data request info","info":"","comments":"","x":1593.2167663574219,"y":1606.888671875,"z":"7fadb4ab.c53bec","wires":[]},{"id":"e263ec19.259ad8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":912.8833312988281,"y":1216,"z":"7fadb4ab.c53bec","wires":[]},{"id":"dfb35317.cfab08","type":"comment","name":"404 is mapping to success ?","info":"","comments":"","x":1018.8833312988281,"y":381,"z":"7fadb4ab.c53bec","wires":[]},{"id":"318d5bd3.5fa6a4","type":"set","name":"set SDN-ETHERNET-INTERNET/VCPE work around","xml":"<set>\n<parameter name='tunnelxconn-topology-operation-input.service-information.global-customer-id' value = 'SDN-ETHERNET-INTERNET' />\n<parameter name='tunnelxconn-topology-operation-input.service-information.subscription-service-type' value = \"vCPE\" />\n","comments":"","x":1410.8833312988281,"y":458,"z":"7fadb4ab.c53bec","wires":[]},{"id":"df19f205.8b091","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1632.8833312988281,"y":434,"z":"7fadb4ab.c53bec","wires":[]},{"id":"84103406.7c3b2","type":"comment","name":"took out link on RestAPICall","info":"","comments":"","x":1116.8833312988281,"y":162,"z":"7fadb4ab.c53bec","wires":[]},{"id":"a25cbec5.783d2","type":"comment","name":"Added SDN-E-I and vCPE ot INPUT","info":"","comments":"","x":1146.8833312988281,"y":198,"z":"7fadb4ab.c53bec","wires":[]},{"id":"1d3e9851.fc557","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1130.8833312988281,"y":128,"z":"7fadb4ab.c53bec","wires":[]},{"id":"dc66d348.388cb8","type":"execute","name":"execute printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/tx-conn-assign.log' />\n\n","comments":"","outputs":1,"x":1495.8833312988281,"y":1170,"z":"7fadb4ab.c53bec","wires":[[]]},{"id":"e725812a.6fd338","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":1094.8833312988281,"y":997,"z":"7fadb4ab.c53bec","wires":[]},{"id":"ae525f08.510b6","type":"comment","name":"vnf-parameters_lenght is null","info":"parent-service-instance.service-data.vnf-topology-information.vnf-parameters_length","comments":"","x":1037.8833312988281,"y":1025,"z":"7fadb4ab.c53bec","wires":[]}]
index 883ee40..9e374c5 100755 (executable)
@@ -1,3959 +1 @@
-[
-  {
-    "id":"2e8304f2.d1333c",
-    "type":"dgstart",
-    "name":"DGSTART",
-    "outputs":1,
-    "x":140,
-    "y":102,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "30732ff9.e0c76"
-      ]
-    ]
-  },
-  {
-    "id":"30732ff9.e0c76",
-    "type":"service-logic",
-    "name":"GENERIC-RESOURCE-API 1.2.0-SNAPSHOT-INT110901",
-    "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='1.2.0-SNAPSHOT-INT110901'>",
-    "outputs":1,
-    "x":253.85713577270508,
-    "y":141.80953788757324,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "9c4b6ed9.61ebe"
-      ]
-    ]
-  },
-  {
-    "id":"9c4b6ed9.61ebe",
-    "type":"method",
-    "name":"method vf-module-topology-operation-assign",
-    "xml":"<method rpc='vf-module-topology-operation-assign' mode='sync'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":253.42862701416016,
-    "y":182,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "4a26d4a8.22be7c"
-      ]
-    ]
-  },
-  {
-    "id":"5527c1d7.da9d7",
-    "type":"comment",
-    "name":"vf-module-topology-operation-assign",
-    "info":"",
-    "comments":"",
-    "x":545.3210983276367,
-    "y":44.97569942474365,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"2e530cdc.f4ef94",
-    "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":357.52382230758667,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "bfda8f90.6e24d",
-        "77f2de42.6ba9a"
-      ]
-    ]
-  },
-  {
-    "id":"bfda8f90.6e24d",
-    "type":"outcome",
-    "name":"CreateVfModuleInstance",
-    "xml":"<outcome value='CreateVfModuleInstance'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":807.2381248474121,
-    "y":334.66670846939087,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "40654d05.71fd14"
-      ]
-    ]
-  },
-  {
-    "id":"77f2de42.6ba9a",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":750.9047698974609,
-    "y":380.0476975440979,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "8b7d596e.984638"
-      ]
-    ]
-  },
-  {
-    "id":"40654d05.71fd14",
-    "type":"block",
-    "name":"block",
-    "xml":"<block>\n",
-    "atomic":"false",
-    "comments":"",
-    "outputs":1,
-    "x":997.0952892303467,
-    "y":334.6667399406433,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  },
-  {
-    "id":"8b7d596e.984638",
-    "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":380.381010055542,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"aea9b344.20b1b",
-    "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":448.66677236557007,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "4b7c3e12.248ee",
-        "6ee12611.a15fe8"
-      ]
-    ]
-  },
-  {
-    "id":"f817dd96.2592f",
-    "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":473.09524488449097,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"4b7c3e12.248ee",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":858.3094673156738,
-    "y":429.0476031303406,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "d8b6dd53.baf73"
-      ]
-    ]
-  },
-  {
-    "id":"6ee12611.a15fe8",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":866.8808975219727,
-    "y":473.33331632614136,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "f817dd96.2592f"
-      ]
-    ]
-  },
-  {
-    "id":"d8b6dd53.baf73",
-    "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":428.1905035972595,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"a8ff9e79.0b468",
-    "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":657.2381076812744,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "45e1ae95.939d1",
-        "5930857d.90f94c"
-      ]
-    ]
-  },
-  {
-    "id":"45e1ae95.939d1",
-    "type":"other",
-    "name":"NULL",
-    "xml":"<outcome value=''>\n",
-    "comments":"",
-    "outputs":1,
-    "x":828.3333129882812,
-    "y":634.3808479309082,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "1632f046.4d998"
-      ]
-    ]
-  },
-  {
-    "id":"5930857d.90f94c",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":828.0951538085938,
-    "y":675.333366394043,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "223ba3cb.be09fc"
-      ]
-    ]
-  },
-  {
-    "id":"4a26d4a8.22be7c",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":194.99999237060547,
-    "y":2351.9999599456787,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2e530cdc.f4ef94",
-        "aea9b344.20b1b",
-        "a8ff9e79.0b468",
-        "358800b1.81ab1",
-        "88b7c37.4ed0e4",
-        "eac7ee4b.07efc",
-        "e57448b6.7f55b8",
-        "aaaa0574.80d838",
-        "9a073bb9.44d298",
-        "e811de1a.3c14a",
-        "ad1485f5.221e88",
-        "98b04124.336cf",
-        "cfad5308.b616e",
-        "7923367d.eb91d8",
-        "809c73eb.2a71c",
-        "a3e0954f.9194f8",
-        "a65c32d0.f1f0d",
-        "fa12b719.f97378",
-        "1f990c33.cacfc4",
-        "714310a.b7326f",
-        "69ed6361.64762c",
-        "e47d3411.0e7818",
-        "582721c4.126f6",
-        "b0ef8497.4ea668",
-        "3ab291c1.7ed19e",
-        "8923d8d0.f4b338",
-        "4f613c00.2b7644",
-        "39e9e85.a687718",
-        "dfa4db2.9778928",
-        "14f4699d.ce7016",
-        "7ae88bfe.f72b94",
-        "aa1a950e.7071b8",
-        "1f69056.fe181fb",
-        "19070089.9bb2ff",
-        "a2e18bff.138e78",
-        "454e063f.718d08",
-        "aedcd126.656c8",
-        "c314b843.e5cd58"
-      ]
-    ]
-  },
-  {
-    "id":"1632f046.4d998",
-    "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":633.6666030883789,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"223ba3cb.be09fc",
-    "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":674.9999847412109,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "220abc57.c6caa4"
-      ]
-    ]
-  },
-  {
-    "id":"220abc57.c6caa4",
-    "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.6665153503418,
-    "y":674.6666717529297,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "8fa71765.ff25a8"
-      ]
-    ]
-  },
-  {
-    "id":"8fa71765.ff25a8",
-    "type":"outcomeTrue",
-    "name":"true",
-    "xml":"<outcome value='true'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1471.6666069030762,
-    "y":674.0000257492065,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "99e80d15.cd3ff"
-      ]
-    ]
-  },
-  {
-    "id":"358800b1.81ab1",
-    "type":"set",
-    "name":"set vnf-index to -1",
-    "xml":"<set>\n<parameter name='vnf-index' value='-1' />\n",
-    "comments":"",
-    "x":536.6666641235352,
-    "y":588.6666069030762,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"2b9d4cfa.693254",
-    "type":"set",
-    "name":"set vnf-index to idx",
-    "xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
-    "comments":"",
-    "x":1793.3332443237305,
-    "y":644.9999837875366,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"88b7c37.4ed0e4",
-    "type":"switchNode",
-    "name":"switch vnf-index",
-    "xml":"<switch test='`$vnf-index`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":526.6666717529297,
-    "y":725.3333034515381,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "12b4f972.baaff7"
-      ]
-    ]
-  },
-  {
-    "id":"12b4f972.baaff7",
-    "type":"outcome",
-    "name":"-1",
-    "xml":"<outcome value='-1'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":705.000057220459,
-    "y":724.6666793823242,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "a416b02e.8e4f1"
-      ]
-    ]
-  },
-  {
-    "id":"a416b02e.8e4f1",
-    "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":723.9999828338623,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"eac7ee4b.07efc",
-    "type":"switchNode",
-    "name":"switch vnf order status",
-    "xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":549.6666946411133,
-    "y":796.6667003631592,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2fc04200.260dfe",
-        "bef7e5a8.884d58"
-      ]
-    ]
-  },
-  {
-    "id":"2fc04200.260dfe",
-    "type":"outcome",
-    "name":"Created",
-    "xml":"<outcome value='Created'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":749.9999961853027,
-    "y":770.3332843780518,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "3cba4216.c1fc4e"
-      ]
-    ]
-  },
-  {
-    "id":"3cba4216.c1fc4e",
-    "type":"block",
-    "name":"block",
-    "xml":"<block>\n",
-    "atomic":"false",
-    "comments":"",
-    "outputs":1,
-    "x":890.0000076293945,
-    "y":770.3333263397217,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  },
-  {
-    "id":"bef7e5a8.884d58",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":746.666633605957,
-    "y":811.9999618530273,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "fc26f30c.6bb1c"
-      ]
-    ]
-  },
-  {
-    "id":"fc26f30c.6bb1c",
-    "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 order status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status + ' but should be Created'`\" />\n",
-    "comments":"",
-    "x":906.666633605957,
-    "y":811.6666488647461,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"e57448b6.7f55b8",
-    "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":553.333381652832,
-    "y":888.6666212081909,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "9b350576.68ef18",
-        "22c3a3f5.72d6ac"
-      ]
-    ]
-  },
-  {
-    "id":"9b350576.68ef18",
-    "type":"other",
-    "name":"NULL",
-    "xml":"<outcome value=''>\n",
-    "comments":"",
-    "outputs":1,
-    "x":810.7143363952637,
-    "y":855.8093948364258,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "c6416be8.6fa798"
-      ]
-    ]
-  },
-  {
-    "id":"c6416be8.6fa798",
-    "type":"set",
-    "name":"set vf-module-index=0",
-    "xml":"<set>\n<parameter name='vf-module-index' value='0' />\n",
-    "comments":"",
-    "x":998.3333740234375,
-    "y":856.4761695861816,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"22c3a3f5.72d6ac",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":811.142879486084,
-    "y":920.0952529907227,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "19a7ad8a.4f2812"
-      ]
-    ]
-  },
-  {
-    "id":"421fd6a0.579bd8",
-    "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":1196.3334197998047,
-    "y":900.2856483459473,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"1d996969.d26e67",
-    "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":1155.4285125732422,
-    "y":944.3808784484863,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "a0040550.7bc5d8"
-      ]
-    ]
-  },
-  {
-    "id":"19a7ad8a.4f2812",
-    "type":"block",
-    "name":"block",
-    "xml":"<block>\n",
-    "atomic":"false",
-    "comments":"",
-    "outputs":1,
-    "x":947.8571586608887,
-    "y":920.095178604126,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "421fd6a0.579bd8",
-        "1d996969.d26e67"
-      ]
-    ]
-  },
-  {
-    "id":"a0040550.7bc5d8",
-    "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":1659.0476150512695,
-    "y":943.9522895812988,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "6ba70fe.734c0f"
-      ]
-    ]
-  },
-  {
-    "id":"6ba70fe.734c0f",
-    "type":"outcomeTrue",
-    "name":"true",
-    "xml":"<outcome value='true'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":2101.666664123535,
-    "y":943.5237407684326,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "93b8e785.9fee48"
-      ]
-    ]
-  },
-  {
-    "id":"93b8e785.9fee48",
-    "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":2253.571544647217,
-    "y":943.5237274169922,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"f56d52b4.a8261",
-    "type":"comment",
-    "name":"make sure this VF module doesn't exist already",
-    "info":"",
-    "comments":"",
-    "x":1685.4999618530273,
-    "y":898.5797815322876,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"aaaa0574.80d838",
-    "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":558.3333206176758,
-    "y":983.6665554046631,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"9a073bb9.44d298",
-    "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":564.8333396911621,
-    "y":1096.1666622161865,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"71021cf9.d2ce64",
-    "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":1325.7855987548828,
-    "y":1255.4045886993408,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"e811de1a.3c14a",
-    "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":524.8332595825195,
-    "y":1369.3569288253784,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "c686f39d.72ab2"
-      ]
-    ]
-  },
-  {
-    "id":"c686f39d.72ab2",
-    "type":"outcome",
-    "name":"NULL",
-    "xml":"<outcome value=''>",
-    "comments":"",
-    "outputs":1,
-    "x":670.1189498901367,
-    "y":1369.3569974899292,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "6f7dc11c.49e2c"
-      ]
-    ]
-  },
-  {
-    "id":"6f7dc11c.49e2c",
-    "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":817.2618103027344,
-    "y":1368.9284315109253,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"ad1485f5.221e88",
-    "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 = 'CloudOwner' 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":563.6904754638672,
-    "y":1169.5002002716064,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "8097c203.a4e64",
-        "ef1c3461.dc92d8"
-      ]
-    ]
-  },
-  {
-    "id":"ef1c3461.dc92d8",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":777.9366683959961,
-    "y":1187.6510562896729,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "6dfc15a7.72a2bc"
-      ]
-    ]
-  },
-  {
-    "id":"6dfc15a7.72a2bc",
-    "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":952.9366416931152,
-    "y":1187.6510925292969,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"8097c203.a4e64",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":786.8652648925781,
-    "y":1145.9367895126343,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "4786ef92.946f8"
-      ]
-    ]
-  },
-  {
-    "id":"4786ef92.946f8",
-    "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":953.214542388916,
-    "y":1145.2423667907715,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"98b04124.336cf",
-    "type":"set",
-    "name":"set vf-module-parameters",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-parameters.'\n  value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />\n",
-    "comments":"",
-    "x":560.595287322998,
-    "y":1818.7860202789307,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"cfad5308.b616e",
-    "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":576.2262573242188,
-    "y":5020.3927001953125,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"7923367d.eb91d8",
-    "type":"get-resource",
-    "name":"get-resource VF_MODULE_TO_VFC_MAPPING",
-    "xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from VF_MODULE_TO_VFC_MAPPING WHERE vf_module_customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\n  pfx='db.vf-module-to-vfc-mapping[]'>\n\n",
-    "comments":"",
-    "outputs":1,
-    "x":633.9286880493164,
-    "y":1872.642807006836,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "61dd146a.6f14fc",
-        "cfdcc8b2.a45fb8"
-      ]
-    ]
-  },
-  {
-    "id":"61dd146a.6f14fc",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":899.7143783569336,
-    "y":1853.0236377716064,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "3ca0362b.6e2f9a"
-      ]
-    ]
-  },
-  {
-    "id":"cfdcc8b2.a45fb8",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":908.2858085632324,
-    "y":1897.3093509674072,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "f2ed6314.ee329"
-      ]
-    ]
-  },
-  {
-    "id":"3ca0362b.6e2f9a",
-    "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_TO_VFC_MAPPING table\" />\n",
-    "comments":"",
-    "x":1074.7143096923828,
-    "y":1852.1665382385254,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"809c73eb.2a71c",
-    "type":"for",
-    "name":"for each vm-type",
-    "xml":"<for index='vm-type-index' start='0' end='`$db.vf-module-to-vfc-mapping_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":534.0476989746094,
-    "y":2501.6430587768555,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "1f699ee5.b89dd1"
-      ]
-    ]
-  },
-  {
-    "id":"ae4ef538.4223c8",
-    "type":"get-resource",
-    "name":"get-resource VFC_MODEL",
-    "xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from VFC_MODEL WHERE customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\n  pfx='db.vfc-model'>\n\n",
-    "comments":"",
-    "outputs":1,
-    "x":975.9524993896484,
-    "y":1993.5477199554443,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "c1a94592.ef7dc8",
-        "36c932eb.81f9ae"
-      ]
-    ]
-  },
-  {
-    "id":"2749f807.59cbd8",
-    "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 entries found in VFC_MODEL table for customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`\" />\n",
-    "comments":"",
-    "x":1346.3808479309082,
-    "y":2017.9761123657227,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"c1a94592.ef7dc8",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1171.7381172180176,
-    "y":1973.9284706115723,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "480721a9.59fc5"
-      ]
-    ]
-  },
-  {
-    "id":"36c932eb.81f9ae",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1180.3095474243164,
-    "y":2018.214183807373,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2749f807.59cbd8"
-      ]
-    ]
-  },
-  {
-    "id":"480721a9.59fc5",
-    "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_MODEL table\" />\n",
-    "comments":"",
-    "x":1346.7380485534668,
-    "y":1973.0713710784912,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"1f699ee5.b89dd1",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":725.9524917602539,
-    "y":2500.214427947998,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "ae4ef538.4223c8",
-        "96edef9a.d3b33",
-        "dc43de7f.70791",
-        "c2deb4af.5c58c8",
-        "8101c46.e2ef238",
-        "f5bdc66c.11bd78",
-        "4f18de56.831f8",
-        "18e532bb.94aa6d"
-      ]
-    ]
-  },
-  {
-    "id":"69ed6361.64762c",
-    "type":"set",
-    "name":"set vm_length",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm_length'\n  value='`$db.vf-module-to-vfc-mapping_length`' />\n",
-    "comments":"",
-    "x":525.833366394043,
-    "y":1932.8334846496582,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"96edef9a.d3b33",
-    "type":"set",
-    "name":"set vm data",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type'\n   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-type`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code'\n   value='`$db.vfc-model.nfc-naming-code`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type-tag'\n   value='`$db.vfc-model.vm-type-tag`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count'\n   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />\n",
-    "comments":"",
-    "x":926.6667518615723,
-    "y":2119.5001974105835,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"99e80d15.cd3ff",
-    "type":"block",
-    "name":"block",
-    "xml":"<block>\n",
-    "atomic":"false",
-    "comments":"",
-    "outputs":1,
-    "x":1620.0000686645508,
-    "y":672.9197244644165,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2b9d4cfa.693254",
-        "e08ffaca.0297f8"
-      ]
-    ]
-  },
-  {
-    "id":"e08ffaca.0297f8",
-    "type":"break",
-    "name":"break",
-    "xml":"<break>",
-    "comments":"",
-    "x":1755.0000343322754,
-    "y":694.5863103866577,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"d743beeb.1dbe5",
-    "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":939.1665992736816,
-    "y":1410.7529220581055,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"a3e0954f.9194f8",
-    "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":583.0236740112305,
-    "y":1433.5773658752441,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2c1d02c0.78dd0e",
-        "a95a3eca.03f4"
-      ]
-    ]
-  },
-  {
-    "id":"2c1d02c0.78dd0e",
-    "type":"outcome",
-    "name":"NULL",
-    "xml":"<outcome value=''>",
-    "comments":"",
-    "outputs":1,
-    "x":788.6903457641602,
-    "y":1410.720329284668,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "d743beeb.1dbe5"
-      ]
-    ]
-  },
-  {
-    "id":"a95a3eca.03f4",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":790.1189422607422,
-    "y":1455.0059204101562,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "25dab957.580636"
-      ]
-    ]
-  },
-  {
-    "id":"25dab957.580636",
-    "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":944.4046783447266,
-    "y":1454.4344925880432,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"638901d0.ce1ec",
-    "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":940.1188697814941,
-    "y":1499.2915983200073,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"a65c32d0.f1f0d",
-    "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":555.642692565918,
-    "y":1522.1161031723022,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "ed142f55.1f70c",
-        "75273d61.353b14"
-      ]
-    ]
-  },
-  {
-    "id":"ed142f55.1f70c",
-    "type":"outcome",
-    "name":"NULL",
-    "xml":"<outcome value=''>",
-    "comments":"",
-    "outputs":1,
-    "x":789.6426658630371,
-    "y":1499.2590351104736,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "638901d0.ce1ec"
-      ]
-    ]
-  },
-  {
-    "id":"75273d61.353b14",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":791.0712623596191,
-    "y":1543.544626235962,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "da1cfb23.9a25e8"
-      ]
-    ]
-  },
-  {
-    "id":"da1cfb23.9a25e8",
-    "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":945.3569984436035,
-    "y":1542.9731984138489,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"65429406.6c6b9c",
-    "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":937.2618026733398,
-    "y":1588.1488056182861,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"fa12b719.f97378",
-    "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":563.7855644226074,
-    "y":1610.9732503890991,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "1200d2f5.494f9d",
-        "f5147fc0.bfa5e"
-      ]
-    ]
-  },
-  {
-    "id":"1200d2f5.494f9d",
-    "type":"outcome",
-    "name":"NULL",
-    "xml":"<outcome value=''>",
-    "comments":"",
-    "outputs":1,
-    "x":786.7855491638184,
-    "y":1588.1162128448486,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "65429406.6c6b9c"
-      ]
-    ]
-  },
-  {
-    "id":"f5147fc0.bfa5e",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":788.2141456604004,
-    "y":1632.401803970337,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "d74f65ed.78d448"
-      ]
-    ]
-  },
-  {
-    "id":"d74f65ed.78d448",
-    "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":942.4998817443848,
-    "y":1631.8303761482239,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"da71a3e1.3185a",
-    "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":937.2618026733398,
-    "y":1675.2916278839111,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"1f990c33.cacfc4",
-    "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":558.7855644226074,
-    "y":1698.1160726547241,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "647b0438.ab102c",
-        "663c8c44.ce20c4"
-      ]
-    ]
-  },
-  {
-    "id":"647b0438.ab102c",
-    "type":"outcome",
-    "name":"NULL",
-    "xml":"<outcome value=''>",
-    "comments":"",
-    "outputs":1,
-    "x":786.7855491638184,
-    "y":1675.2590351104736,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "da71a3e1.3185a"
-      ]
-    ]
-  },
-  {
-    "id":"663c8c44.ce20c4",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":788.2141456604004,
-    "y":1719.544626235962,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "e84c9dce.744b8"
-      ]
-    ]
-  },
-  {
-    "id":"e84c9dce.744b8",
-    "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":942.4998817443848,
-    "y":1718.9731984138489,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"714310a.b7326f",
-    "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":573.2378997802734,
-    "y":1770.6250619888306,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"dc43de7f.70791",
-    "type":"for",
-    "name":"for each vm",
-    "xml":"<for index='vm-index' start='0' end='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":928.3332405090332,
-    "y":2228.7531156539917,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "7505754.7087a8c"
-      ]
-    ]
-  },
-  {
-    "id":"c2deb4af.5c58c8",
-    "type":"set",
-    "name":"set vm-name-length",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name_length'\n  value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />\n",
-    "comments":"",
-    "x":951.6666946411133,
-    "y":2163.753373146057,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"2f06bc6e.cdf504",
-    "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":1394.761863708496,
-    "y":2251.3722620010376,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "6c48629.77e939c",
-        "a3fd6e6d.5788b"
-      ]
-    ]
-  },
-  {
-    "id":"6c48629.77e939c",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1690.4761517842617,
-    "y":2224.2295246124268,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "8b35adee.43478"
-      ]
-    ]
-  },
-  {
-    "id":"a3fd6e6d.5788b",
-    "type":"success",
-    "name":"success",
-    "xml":"<outcome value='success'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1693.8095016479492,
-    "y":2275.896167755127,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "a8057f80.cfbdb"
-      ]
-    ]
-  },
-  {
-    "id":"18ce2f16.816031",
-    "type":"set",
-    "name":"set variables for generating unique name",
-    "xml":"<set>\n<parameter name='generate-unique-name-input.index-table-name' value='VM_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vm_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VM_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-name + $db.vfc-model.nfc-naming-code`\" />\n<parameter name='generate-unique-name-input.index-length' value='3' />\n",
-    "comments":"",
-    "x":1351.4285774230957,
-    "y":2199.7055883407593,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"a8057f80.cfbdb",
-    "type":"set",
-    "name":"set generated name",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' value='`$generate-unique-name-output.generated-name`' />\n",
-    "comments":"",
-    "x":1878.3332176208496,
-    "y":2275.3721857070923,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"8b35adee.43478",
-    "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":1858.3332646687832,
-    "y":2223.6580362319946,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"e47d3411.0e7818",
-    "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":526.4285469055176,
-    "y":1039.348237991333,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"7505754.7087a8c",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1092.738182067871,
-    "y":2228.396019935608,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "18ce2f16.816031",
-        "2f06bc6e.cdf504"
-      ]
-    ]
-  },
-  {
-    "id":"8101c46.e2ef238",
-    "type":"get-resource",
-    "name":"get-resource VFC_TO_NETWORK_ROLE_MAPPING",
-    "xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from VFC_TO_NETWORK_ROLE_MAPPING WHERE vfc_customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\n  pfx='db.vfc-to-network-role-mapping[]'>\n\n",
-    "comments":"",
-    "outputs":1,
-    "x":1055.595329284668,
-    "y":2351.253088951111,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "61785549.e0849c",
-        "5224b8ad.063668"
-      ]
-    ]
-  },
-  {
-    "id":"61785549.e0849c",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1342.8095321655273,
-    "y":2331.6339359283447,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "58d75d53.d15634"
-      ]
-    ]
-  },
-  {
-    "id":"5224b8ad.063668",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1351.3809623718262,
-    "y":2375.9196491241455,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "16f89ad6.193655"
-      ]
-    ]
-  },
-  {
-    "id":"58d75d53.d15634",
-    "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_TO_NETWORK_ROLE_MAPPING table\" />\n",
-    "comments":"",
-    "x":1517.8094635009766,
-    "y":2330.7768363952637,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"f5bdc66c.11bd78",
-    "type":"for",
-    "name":"for each network-role",
-    "xml":"<for index='network-role-index' start='0' end='`$db.vfc-to-network-role-mapping_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":948.6906204223633,
-    "y":2662.4439306259155,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "f495fb98.6c0a18"
-      ]
-    ]
-  },
-  {
-    "id":"f495fb98.6c0a18",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1155.1190719604492,
-    "y":2659.11043548584,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "8d2e0b.55c471f8",
-        "b8d6dab7.8f19b8",
-        "46e547.478a3ab8",
-        "1da90578.6d8f2b",
-        "415ccc2d.a04f44",
-        "5a0fce27.0cc5",
-        "2cebaf.8e65f452",
-        "c8e0f30f.8d5d8"
-      ]
-    ]
-  },
-  {
-    "id":"8d2e0b.55c471f8",
-    "type":"for",
-    "name":"for each network",
-    "xml":"<for silentFailure='true' index='idx' start='0' end='`$service-data.networks.network_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":1364.166633605957,
-    "y":2491.253191947937,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "e2ef30d6.1b483"
-      ]
-    ]
-  },
-  {
-    "id":"b8d6dab7.8f19b8",
-    "type":"set",
-    "name":"set network-index to -1",
-    "xml":"<set>\n<parameter name='network-index' value='-1' />\n",
-    "comments":"",
-    "x":1384.1667022705078,
-    "y":2448.396188735962,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"e2ef30d6.1b483",
-    "type":"switchNode",
-    "name":"switch network-role matches",
-    "xml":"<switch test='`$service-data.networks.network[$idx].network-data.network-topology.network-topology-identifier-structure.network-role == $db.vfc-to-network-role-mapping[$network-role-index].network-role`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1592.737907409668,
-    "y":2489.824381828308,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "79eba1ee.46b8"
-      ]
-    ]
-  },
-  {
-    "id":"79eba1ee.46b8",
-    "type":"outcomeTrue",
-    "name":"true",
-    "xml":"<outcome value='true'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1791.3095741271973,
-    "y":2489.824585914612,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "52d952.2163c6b"
-      ]
-    ]
-  },
-  {
-    "id":"52d952.2163c6b",
-    "type":"block",
-    "name":"block",
-    "xml":"<block>\n",
-    "atomic":"false",
-    "comments":"",
-    "outputs":1,
-    "x":1932.7381420135498,
-    "y":2488.396014213562,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "19d3b2d3.0314cd",
-        "b934653f.8e9748"
-      ]
-    ]
-  },
-  {
-    "id":"19d3b2d3.0314cd",
-    "type":"set",
-    "name":"set network-index to idx",
-    "xml":"<set>\n<parameter name='network-index' value='`$idx`' />\n",
-    "comments":"",
-    "x":2111.30965423584,
-    "y":2465.5390100479126,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"b934653f.8e9748",
-    "type":"break",
-    "name":"break",
-    "xml":"<break>",
-    "comments":"",
-    "x":2059.8808937072754,
-    "y":2511.2531900405884,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"46e547.478a3ab8",
-    "type":"switchNode",
-    "name":"switch network-index",
-    "xml":"<switch test='`$network-index`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1376.0714721679688,
-    "y":2540.062829017639,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "d2ba67f.cc23298"
-      ]
-    ]
-  },
-  {
-    "id":"d2ba67f.cc23298",
-    "type":"outcomeTrue",
-    "name":"-1",
-    "xml":"<outcome value='-1'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1570.3571968078613,
-    "y":2540.062726020813,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "78f92d17.cec774"
-      ]
-    ]
-  },
-  {
-    "id":"78f92d17.cec774",
-    "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 network found in MD-SAL with network-role ' + $db.vfc-to-network-role-mapping[$network-role-index].network-role`\" />\n",
-    "comments":"",
-    "x":1727.5000457763672,
-    "y":2538.634196281433,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"582721c4.126f6",
-    "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":585.9442901611328,
-    "y":1258.0068836212158,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "f632bc1b.960e"
-      ]
-    ]
-  },
-  {
-    "id":"f632bc1b.960e",
-    "type":"switchNode",
-    "name":"switch related-to",
-    "xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":833.6228332519531,
-    "y":1257.7568130493164,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "c5ce5df.fba4ea"
-      ]
-    ]
-  },
-  {
-    "id":"c5ce5df.fba4ea",
-    "type":"outcome",
-    "name":"complex",
-    "xml":"<outcome value='complex'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1003.0871543884277,
-    "y":1257.1496353149414,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "36cd2be.f10ccd4"
-      ]
-    ]
-  },
-  {
-    "id":"af57b732.5de4d8",
-    "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.1823120117188,
-    "y":1211.5782108306885,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  },
-  {
-    "id":"36cd2be.f10ccd4",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1162.8490142822266,
-    "y":1258.2449989318848,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "af57b732.5de4d8",
-        "e276c8d3.3ab668",
-        "71021cf9.d2ce64"
-      ]
-    ]
-  },
-  {
-    "id":"e276c8d3.3ab668",
-    "type":"break",
-    "name":"break",
-    "xml":"<break>",
-    "comments":"",
-    "x":1312.848976135254,
-    "y":1301.5782957077026,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"1da90578.6d8f2b",
-    "type":"set",
-    "name":"set network-role and tag",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n   value='`$db.vfc-to-network-role-mapping[$network-role-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].network-role-tag'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].network-role-tag`' />\n",
-    "comments":"",
-    "x":1385.8333549499512,
-    "y":2636.2530155181885,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"4f18de56.831f8",
-    "type":"set",
-    "name":"set vm-network-length",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length'\n  value='`$db.vfc-to-network-role-mapping_length`' />\n",
-    "comments":"",
-    "x":942.4999465942383,
-    "y":3051.2532806396484,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"415ccc2d.a04f44",
-    "type":"switchNode",
-    "name":"switch ipv4-ip-version",
-    "xml":"<switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-ip-version`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1378.452407836914,
-    "y":2719.5863428115845,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "eff505c0.4d80a8",
-        "7ba4a75.88aab58"
-      ]
-    ]
-  },
-  {
-    "id":"15f50ec8.ae15e1",
-    "type":"set",
-    "name":"set network-information-index to -1",
-    "xml":"<set>\n<parameter name='network-information-index' value='-1' />\n\n",
-    "comments":"",
-    "x":1787.97603225708,
-    "y":2684.5864477157593,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"eff505c0.4d80a8",
-    "type":"outcome",
-    "name":"NULL",
-    "xml":"<outcome value=''>",
-    "comments":"",
-    "outputs":1,
-    "x":1555.1189270019531,
-    "y":2684.586483001709,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "15f50ec8.ae15e1"
-      ]
-    ]
-  },
-  {
-    "id":"7ba4a75.88aab58",
-    "type":"other",
-    "name":"4",
-    "xml":"<outcome value='4'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1553.8808784484863,
-    "y":2750.538625717163,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "77d24f8f.dfe93"
-      ]
-    ]
-  },
-  {
-    "id":"9db64306.b784b",
-    "type":"set",
-    "name":"set network-information-index to 0",
-    "xml":"<set>\n<parameter name='network-information-index' value='0' />\n",
-    "comments":"",
-    "x":1958.4521408081055,
-    "y":2725.0624866485596,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"77d24f8f.dfe93",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1721.0713539123535,
-    "y":2749.872091293335,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "9db64306.b784b",
-        "ae06599.ab8ada8"
-      ]
-    ]
-  },
-  {
-    "id":"ae06599.ab8ada8",
-    "type":"set",
-    "name":"set ip-version 4, use-dhcp, and ip-count",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-version'\n   value='4' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].use-dhcp'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-use-dhcp`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-count'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-count`' />\n",
-    "comments":"",
-    "x":1975.4047241210938,
-    "y":2771.7294425964355,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"5a0fce27.0cc5",
-    "type":"switchNode",
-    "name":"switch ipv6-ip-version",
-    "xml":"<switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-ip-version`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1378.9286041259766,
-    "y":2846.4911251068115,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "c42cc110.b1b6c",
-        "3f79e3b9.76574c"
-      ]
-    ]
-  },
-  {
-    "id":"c42cc110.b1b6c",
-    "type":"outcome",
-    "name":"NULL",
-    "xml":"<outcome value=''>",
-    "comments":"",
-    "outputs":1,
-    "x":1557.7380981445312,
-    "y":2816.728937149048,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "804f081a.ae1078"
-      ]
-    ]
-  },
-  {
-    "id":"3f79e3b9.76574c",
-    "type":"other",
-    "name":"6",
-    "xml":"<outcome value='6'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1559.1666526794434,
-    "y":2881.0144939422607,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "a9db339d.d7ff6"
-      ]
-    ]
-  },
-  {
-    "id":"dae18443.96dc88",
-    "type":"set",
-    "name":"increment network-information-index",
-    "xml":"<set>\n<parameter name='network-information-index' value='`$network-information-index + 1`' />\n",
-    "comments":"",
-    "x":1964.880744934082,
-    "y":2855.5385236740112,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"a9db339d.d7ff6",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1714.4048118591309,
-    "y":2880.0622329711914,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "dae18443.96dc88",
-        "d1e2a302.f2a79"
-      ]
-    ]
-  },
-  {
-    "id":"804f081a.ae1078",
-    "type":"block",
-    "name":"block",
-    "xml":"<block>\n",
-    "atomic":"false",
-    "comments":"",
-    "outputs":1,
-    "x":1700.404727935791,
-    "y":2816.0625553131104,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  },
-  {
-    "id":"2cebaf.8e65f452",
-    "type":"switchNode",
-    "name":"switch network-information-index",
-    "xml":"<switch test='`$network-information-index`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1414.166618347168,
-    "y":2982.919370651245,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "65a0822f.ef5c1c",
-        "83f08e39.d6a15"
-      ]
-    ]
-  },
-  {
-    "id":"65a0822f.ef5c1c",
-    "type":"outcome",
-    "name":"-1",
-    "xml":"<outcome value='-1'>",
-    "comments":"",
-    "outputs":1,
-    "x":1632.4999752044678,
-    "y":2959.5861167907715,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "19418e05.1e8042"
-      ]
-    ]
-  },
-  {
-    "id":"83f08e39.d6a15",
-    "type":"other",
-    "name":"other",
-    "xml":"<outcome value='Other'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1632.2619380950928,
-    "y":3005.5384311676025,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "5955caa.70cc334"
-      ]
-    ]
-  },
-  {
-    "id":"19418e05.1e8042",
-    "type":"block",
-    "name":"block",
-    "xml":"<block>\n",
-    "atomic":"false",
-    "comments":"",
-    "outputs":1,
-    "x":1769.166690826416,
-    "y":2957.919776916504,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  },
-  {
-    "id":"5955caa.70cc334",
-    "type":"set",
-    "name":"set network-information-item_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].network-information-items.network-information-item_length'\n   value='`$network-information-index + 1`' />\n",
-    "comments":"",
-    "x":1860.8333053588867,
-    "y":3002.919569015503,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"b0ef8497.4ea668",
-    "type":"for",
-    "name":"for each vm-type",
-    "xml":"<for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":541,
-    "y":3149.9194660186768,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "fe06fed9.aff3e"
-      ]
-    ]
-  },
-  {
-    "id":"fe06fed9.aff3e",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":744.5715255737305,
-    "y":3150.1576709747314,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "d04bd80b.387cf8"
-      ]
-    ]
-  },
-  {
-    "id":"c8e0f30f.8d5d8",
-    "type":"set",
-    "name":"save network-id",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id'\n  value='`$service-data.networks.network[$idx].network-data.network-topology.network-topology-identifier-structure.network-id`' />\n",
-    "comments":"This isn't a node in MD-SAL, but we need to save this for later when we are doing EIPAM processing",
-    "x":1357.9761810302734,
-    "y":2586.253023147583,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"d04bd80b.387cf8",
-    "type":"for",
-    "name":"for each network-role",
-    "xml":"<for 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":945.999885559082,
-    "y":3149.252721786499,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "5ff438d4.980868"
-      ]
-    ]
-  },
-  {
-    "id":"5ff438d4.980868",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1147.9047012329102,
-    "y":3148.490758895874,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "5c7949ed.12f198"
-      ]
-    ]
-  },
-  {
-    "id":"5c7949ed.12f198",
-    "type":"for",
-    "name":"for each network-information-item",
-    "xml":"<for index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":1392.6665725708008,
-    "y":3148.0151510238647,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "3c49e4a4.13796c"
-      ]
-    ]
-  },
-  {
-    "id":"97b8ba37.35fdb8",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":637.666633605957,
-    "y":3353.9195766448975,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "c20748cc.14a758",
-        "f73ba212.a9db1",
-        "eccb2ab1.4ecf58",
-        "6c51c35e.c8107c",
-        "373238a0.60e488"
-      ]
-    ]
-  },
-  {
-    "id":"c20748cc.14a758",
-    "type":"get-resource",
-    "name":"get-resource EIPAM_IP_SUBNETS",
-    "xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from EIPAM_IP_SUBNETS WHERE network_id = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id\n    AND address_family = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version'\n  pfx='db.eipam-ip-subnets[]'>\n\n",
-    "comments":"",
-    "outputs":1,
-    "x":1017.6666564941406,
-    "y":3315.586072921753,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "e7cc33.f38f63d",
-        "6e4ec0e0.26982"
-      ]
-    ]
-  },
-  {
-    "id":"1c2857df.d8b0a8",
-    "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 entries found in EIPAM_IP_SUBNETS table 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        + ' and address family ' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version`\" />\n",
-    "comments":"",
-    "x":1407.6665954589844,
-    "y":3337.2528343200684,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"e7cc33.f38f63d",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1233.0238647460938,
-    "y":3293.205192565918,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "6c1c41f9.cb5ac"
-      ]
-    ]
-  },
-  {
-    "id":"6e4ec0e0.26982",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1241.5952949523926,
-    "y":3337.4909057617188,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "1c2857df.d8b0a8"
-      ]
-    ]
-  },
-  {
-    "id":"6c1c41f9.cb5ac",
-    "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 EIPAM_IP_SUBNETS table\" />\n",
-    "comments":"",
-    "x":1408.023796081543,
-    "y":3292.348093032837,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"f73ba212.a9db1",
-    "type":"for",
-    "name":"for each record in EIPAM_IP_SUBNETS",
-    "xml":"<for index='subnets-index' start='0' end='`$db.eipam-ip-subnets_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":1036.9524688720703,
-    "y":3620.82426071167,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "48786485.afdfcc"
-      ]
-    ]
-  },
-  {
-    "id":"48786485.afdfcc",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1293.3810195922852,
-    "y":3621.77654838562,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "76f82048.a92cb",
-        "564032f0.dfbc3c",
-        "a8b83f38.2b35f",
-        "802baf6d.dddb5",
-        "d69aacbb.b1933"
-      ]
-    ]
-  },
-  {
-    "id":"76f82048.a92cb",
-    "type":"get-resource",
-    "name":"get-resource EIPAM_IP_SUBNET_KEYS",
-    "xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from EIPAM_IP_SUBNET_KEYS WHERE entity_id = $db.eipam-ip-subnets[$subnets-index].entity-id'\n  pfx='db.eipam-ip-subnet-keys[]'>\n\n",
-    "comments":"",
-    "outputs":1,
-    "x":1604.809585571289,
-    "y":3458.205156326294,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "5c773ab4.c1c354",
-        "76282e7d.401a9"
-      ]
-    ]
-  },
-  {
-    "id":"ea3f166e.9742f8",
-    "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 entries found in EIPAM_IP_SUBNET_KEYS table for entity ID '\n        + $db.eipam-ip-subnets[$subnets-index].entity-id`\" />",
-    "comments":"",
-    "x":2019.809585571289,
-    "y":3478.205156326294,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"5c773ab4.c1c354",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1845.1668548583984,
-    "y":3434.1575145721436,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "a89d01a.87957"
-      ]
-    ]
-  },
-  {
-    "id":"76282e7d.401a9",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1853.7382850646973,
-    "y":3478.4432277679443,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "ea3f166e.9742f8"
-      ]
-    ]
-  },
-  {
-    "id":"a89d01a.87957",
-    "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 EIPAM_IP_SUBNET_KEYS table\" />\n",
-    "comments":"",
-    "x":2020.1667861938477,
-    "y":3433.3004150390625,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"eccb2ab1.4ecf58",
-    "type":"set",
-    "name":"set max-level to -1",
-    "xml":"<set>\n<parameter name='max-level' value='-1' />\n",
-    "comments":"",
-    "x":965.7619323730469,
-    "y":3381.538688659668,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"564032f0.dfbc3c",
-    "type":"for",
-    "name":"for each record in EIPAM_IP_SUBNET_KEYS",
-    "xml":"<for index='keys-index' start='0' end='`$db.eipam-ip-subnet-keys_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":1619.3334045410156,
-    "y":3527.2529106140137,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "96321389.4c73f"
-      ]
-    ]
-  },
-  {
-    "id":"96321389.4c73f",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1906.0000534057617,
-    "y":3525.586248397827,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2d3eea0b.50e1e6"
-      ]
-    ]
-  },
-  {
-    "id":"2d3eea0b.50e1e6",
-    "type":"switchNode",
-    "name":"switch level > max-level?",
-    "xml":"<switch test='`$db.eipam-ip-subnet-keys[$keys-index].level &gt; $max-level`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":2122.6666717529297,
-    "y":3525.586166381836,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "c87a6e6.e044e9"
-      ]
-    ]
-  },
-  {
-    "id":"c87a6e6.e044e9",
-    "type":"outcomeTrue",
-    "name":"true",
-    "xml":"<outcome value='true'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":2314.333599090576,
-    "y":3525.58616065979,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "f7e5553.b6c1fa8"
-      ]
-    ]
-  },
-  {
-    "id":"f7e5553.b6c1fa8",
-    "type":"set",
-    "name":"set max-level, selected-entity-id, selected-plan-name",
-    "xml":"<set>\n<parameter name='max-level' value='`$db.eipam-ip-subnet-keys[$keys-index].level`' />\n<parameter name='selected-entity-id' value='`$db.eipam-ip-subnet-keys[$keys-index].entity-id`' />\n<parameter name='selected-plan-name' value='`$db.eipam-ip-subnets[$subnets-index].plan-name`' />\n",
-    "comments":"",
-    "x":2606.0001068115234,
-    "y":3523.9194173812866,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"a8b83f38.2b35f",
-    "type":"get-resource",
-    "name":"get-resource EIPAM_IP_SUBNET_KEYS",
-    "xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from EIPAM_IP_SUBNET_KEYS WHERE entity_id = $selected-entity-id order by level'\n  pfx='db.eipam-ip-subnet-keys[]'>\n\n",
-    "comments":"",
-    "outputs":1,
-    "x":1606.000015258789,
-    "y":3599.157615661621,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "d369bc07.5b51d",
-        "ce7c7e60.3e34b"
-      ]
-    ]
-  },
-  {
-    "id":"7b19e8c7.72e078",
-    "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 entries found in EIPAM_IP_SUBNET_KEYS table for entity ID '\n        + $selected-entity-id`\" />",
-    "comments":"",
-    "x":2021.000015258789,
-    "y":3619.157615661621,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"d369bc07.5b51d",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1846.3572845458984,
-    "y":3575.1099739074707,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "404aa28f.128f4c"
-      ]
-    ]
-  },
-  {
-    "id":"ce7c7e60.3e34b",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1854.9287147521973,
-    "y":3619.3956871032715,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "7b19e8c7.72e078"
-      ]
-    ]
-  },
-  {
-    "id":"404aa28f.128f4c",
-    "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 EIPAM_IP_SUBNET_KEYS table\" />\n",
-    "comments":"",
-    "x":2021.3572158813477,
-    "y":3574.2528743743896,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"f31caaf8.dddbb8",
-    "type":"for",
-    "name":"for each record in EIPAM_IP_SUBNET_KEYS",
-    "xml":"<for index='level-index' start='0' end='`$db.eipam-ip-subnet-keys_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":2051.952362060547,
-    "y":3667.729072570801,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "b8b8da21.b44008"
-      ]
-    ]
-  },
-  {
-    "id":"b21661ec.87447",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1744.8093643188477,
-    "y":3751.5385093688965,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "f31caaf8.dddbb8",
-        "18077655.54097a",
-        "b9fd5f75.b5e8a",
-        "df5529a.8c63fd8",
-        "863bfcf2.a453f"
-      ]
-    ]
-  },
-  {
-    "id":"802baf6d.dddb5",
-    "type":"for",
-    "name":"for each ip in ip-count",
-    "xml":"<for index='request-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-count`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":1543.142807006836,
-    "y":3751.5401363372803,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "b21661ec.87447"
-      ]
-    ]
-  },
-  {
-    "id":"b8b8da21.b44008",
-    "type":"set",
-    "name":"set eipam data for level",
-    "xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools[$level-index].key-name'\n   value='`$db.eipam-ip-subnet-keys[$level-index].key-name`' />\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools[$level-index].key-value'\n   value='`$db.eipam-ip-subnet-keys[$level-index].key-value`' />\n",
-    "comments":"",
-    "x":2358.8571243286133,
-    "y":3667.4918384552,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"18077655.54097a",
-    "type":"set",
-    "name":"set eipam data pools_length",
-    "xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools_length'\n   value='`$db.eipam-ip-subnet-keys_length`' />\n",
-    "comments":"",
-    "x":1998.142677307129,
-    "y":3713.2054557800293,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"3ab291c1.7ed19e",
-    "type":"set",
-    "name":"set plans-index to 0",
-    "xml":"<set>\n<parameter name='plans-index' value='0' />\n",
-    "comments":"",
-    "x":549.7619171142578,
-    "y":3093.8717365264893,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"6c51c35e.c8107c",
-    "type":"set",
-    "name":"increment plans-index",
-    "xml":"<set>\n<parameter name='plans-index' value='`$plans-index + 1`' />\n",
-    "comments":"",
-    "x":981.0952224731445,
-    "y":4012.871983528137,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"d69aacbb.b1933",
-    "type":"set",
-    "name":"set eipam requests_length",
-    "xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].requests_length'\n   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-count`' />\n",
-    "comments":"",
-    "x":1553.6191711425781,
-    "y":3893.2055082321167,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"373238a0.60e488",
-    "type":"set",
-    "name":"set eipam plan-name, address-family",
-    "xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].plan-name' value='`$selected-plan-name`' />\n<parameter name='eipam-ip-block.plans[$plans-index].address-family'\n   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version`' />\n",
-    "comments":"",
-    "x":1029.6666564941406,
-    "y":3965.7284650802612,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"8923d8d0.f4b338",
-    "type":"set",
-    "name":"set eipam plans_length",
-    "xml":"<set>\n<parameter name='eipam-ip-block.plans_length' value='`$plans-index`' />\n",
-    "comments":"",
-    "x":553.4285697937012,
-    "y":4037.919857978821,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"4f613c00.2b7644",
-    "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":512.7975616455078,
-    "y":5113.011030197144,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"39e9e85.a687718",
-    "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":524.5832290649414,
-    "y":4888.990794181824,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"dfa4db2.9778928",
-    "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":569.4642333984375,
-    "y":4840.776306152344,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"ff59520e.ec557",
-    "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":507.6785125732422,
-    "y":5065.240846633911,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  },
-  {
-    "id":"26166f96.2f2dc",
-    "type":"execute",
-    "name":"call EIPAM assignIPAddress",
-    "xml":"<execute plugin=\"com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin\" method=\"assignIPAddress\">",
-    "comments":"",
-    "outputs":1,
-    "x":933.5952911376953,
-    "y":4126.880926132202,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "3cca0436.97a71c"
-      ]
-    ]
-  },
-  {
-    "id":"3cca0436.97a71c",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>",
-    "outputs":1,
-    "x":1147.5952911376953,
-    "y":4126.880926132202,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "3c2970af.d2cab"
-      ]
-    ]
-  },
-  {
-    "id":"3c2970af.d2cab",
-    "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\t<parameter name=\"error-message\" value=\"An error occured while obtaining new address blocks from EIPAM.\" />\n",
-    "comments":"",
-    "x":1286.5952911376953,
-    "y":4126.880926132202,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"b9fd5f75.b5e8a",
-    "type":"set",
-    "name":"set eipam client-key, mask",
-    "xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].client-key'\n   value='`$generate-unique-name-output.generated-name`' />\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].info'\n   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].mask'\n   value='32' />\n",
-    "comments":"",
-    "x":1995.2857284545898,
-    "y":3847.015483856201,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"7ae88bfe.f72b94",
-    "type":"for",
-    "name":"for each vm-type",
-    "xml":"<for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":533,
-    "y":4236.252558708191,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "42f93af5.a0fff4"
-      ]
-    ]
-  },
-  {
-    "id":"42f93af5.a0fff4",
-    "type":"for",
-    "name":"for each vm-network",
-    "xml":"<for 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":741.6666831970215,
-    "y":4236.252884864807,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "75df27a.fd89ad8"
-      ]
-    ]
-  },
-  {
-    "id":"75df27a.fd89ad8",
-    "type":"for",
-    "name":"for each network-information-item",
-    "xml":"<for index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":1006.6666717529297,
-    "y":4237.919226646423,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "fd735d1.2d1f0a"
-      ]
-    ]
-  },
-  {
-    "id":"14f4699d.ce7016",
-    "type":"set",
-    "name":"set plans-index = 0",
-    "xml":"<set>\n<parameter name='plans-index' value='0' />\n",
-    "comments":"",
-    "x":539.9999923706055,
-    "y":4181.252646446228,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"2d342044.e7473",
-    "type":"for",
-    "name":"for each eipam request",
-    "xml":"<for index='ip-index' start='0' end='`$eipam-ip-block.plans[$plans-index].requests_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":1776.6666259765625,
-    "y":4209.586531639099,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "c211fc94.3e7ba"
-      ]
-    ]
-  },
-  {
-    "id":"c211fc94.3e7ba",
-    "type":"set",
-    "name":"set ip address",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].network-ips.network-ip[$ip-index]'\n  value='`$eipam-ip-block.plans[$plans-index].requests[$ip-index].ip-prefix`' />\n",
-    "comments":"",
-    "x":1988.3332633972168,
-    "y":4207.919702529907,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"bffc2bb7.1135f8",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1576.6664581298828,
-    "y":4234.586045265198,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2d342044.e7473",
-        "2cedc5a4.ab6bba"
-      ]
-    ]
-  },
-  {
-    "id":"2cedc5a4.ab6bba",
-    "type":"set",
-    "name":"increment plans-index",
-    "xml":"<set>\n<parameter name='plans-index' value='`$plans-index + 1`' />\n",
-    "comments":"",
-    "x":1771.66650390625,
-    "y":4256.252387046814,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"1f69056.fe181fb",
-    "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",
-    "comments":"",
-    "outputs":1,
-    "x":534.9999694824219,
-    "y":4381.252729415894,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "80694bdc.1daa28",
-        "7fffbd12.aef484"
-      ]
-    ]
-  },
-  {
-    "id":"753f20c5.bbede",
-    "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":1028.333396911621,
-    "y":4434.585899353027,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"80694bdc.1daa28",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":704.3573303222656,
-    "y":4348.204874038696,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "1dc4fe5.fac6902"
-      ]
-    ]
-  },
-  {
-    "id":"7fffbd12.aef484",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":712.9286842346191,
-    "y":4410.823854446411,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "34139b45.2d0504"
-      ]
-    ]
-  },
-  {
-    "id":"8f30d2e9.eb03c",
-    "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":1039.3572845458984,
-    "y":4366.348430633545,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"aa1a950e.7071b8",
-    "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 + $service-data.service-topology.service-topology-identifier.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 + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n\n",
-    "comments":"",
-    "x":561.666633605957,
-    "y":4306.252715110779,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"df808ad1.2e9658",
-    "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].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n    <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$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":994.3094787597656,
-    "y":4509.975717544556,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "64c1b4ac.c2087c",
-        "f9da1963.2589e8"
-      ]
-    ]
-  },
-  {
-    "id":"64c1b4ac.c2087c",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1219.1428108215332,
-    "y":4470.847640037537,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "e705dca.d8b482"
-      ]
-    ]
-  },
-  {
-    "id":"f9da1963.2589e8",
-    "type":"not-found",
-    "name":"not-found",
-    "xml":"<outcome value='not-found'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1227.7142639160156,
-    "y":4548.466782569885,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "76421cc4.4bff94"
-      ]
-    ]
-  },
-  {
-    "id":"8b99afe7.e214",
-    "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":1554.1429443359375,
-    "y":4490.657536506653,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"19070089.9bb2ff",
-    "type":"for",
-    "name":"for each vm-type",
-    "xml":"<for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":535.3095092773438,
-    "y":4511.642220497131,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "4fc0dd78.6aaf84"
-      ]
-    ]
-  },
-  {
-    "id":"4fc0dd78.6aaf84",
-    "type":"for",
-    "name":"for each vm-network",
-    "xml":"<for 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":745.9761867523193,
-    "y":4509.976043701172,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "df808ad1.2e9658"
-      ]
-    ]
-  },
-  {
-    "id":"a464ded4.4fcf4",
-    "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":1555.9762382507324,
-    "y":4565.642075538635,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"d1e2a302.f2a79",
-    "type":"set",
-    "name":"set ip-version 6, use-dhcp, and ip-count",
-    "xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-version'\n   value='6' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].use-dhcp'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-use-dhcp`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-count'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-count`' />\n",
-    "comments":"",
-    "x":1974.7857208251953,
-    "y":2900.213849067688,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"3c49e4a4.13796c",
-    "type":"switchNode",
-    "name":"switch use-dhcp",
-    "xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1640.500114440918,
-    "y":3147.356598854065,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2413eb81.677464"
-      ]
-    ]
-  },
-  {
-    "id":"2413eb81.677464",
-    "type":"outcome",
-    "name":"N",
-    "xml":"<outcome value='N'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1810.5000267028809,
-    "y":3145.928201675415,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "97b8ba37.35fdb8"
-      ]
-    ]
-  },
-  {
-    "id":"fd735d1.2d1f0a",
-    "type":"switchNode",
-    "name":"switch use-dhcp",
-    "xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1247.642837524414,
-    "y":4236.642521858215,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "b5446bac.ef4728"
-      ]
-    ]
-  },
-  {
-    "id":"b5446bac.ef4728",
-    "type":"outcome",
-    "name":"N",
-    "xml":"<outcome value='N'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1417.642749786377,
-    "y":4235.214124679565,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "bffc2bb7.1135f8"
-      ]
-    ]
-  },
-  {
-    "id":"a2e18bff.138e78",
-    "type":"for",
-    "name":"for each vm-type",
-    "xml":"<for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
-    "comments":"",
-    "outputs":1,
-    "x":534.309455871582,
-    "y":4641.642714500427,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2e24847f.54fa9c"
-      ]
-    ]
-  },
-  {
-    "id":"2e24847f.54fa9c",
-    "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":729.3094863891602,
-    "y":4640.975722312927,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2284873e.c8dbc8"
-      ]
-    ]
-  },
-  {
-    "id":"cae20484.4fdb28",
-    "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 , 'CloudOwner')\" >",
-    "comments":"",
-    "outputs":1,
-    "x":1120.976188659668,
-    "y":4663.643372535706,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "4d4ebb0a.8e16a4"
-      ]
-    ]
-  },
-  {
-    "id":"317d3d10.b08102",
-    "type":"comment",
-    "name":"Not a failure",
-    "info":"",
-    "comments":"",
-    "x":1640.976089477539,
-    "y":4663.643377304077,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"4d4ebb0a.8e16a4",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1330.976173400879,
-    "y":4663.643522262573,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "6df75797.6cb868"
-      ]
-    ]
-  },
-  {
-    "id":"6df75797.6cb868",
-    "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":1474.3096160888672,
-    "y":4663.643360137939,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  },
-  {
-    "id":"863bfcf2.a453f",
-    "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":2084.3094940185547,
-    "y":3801.641947746277,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "41e4565d.44f878"
-      ]
-    ]
-  },
-  {
-    "id":"41e4565d.44f878",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":2371.6905364990234,
-    "y":3799.4993686676025,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "892fb77a.70d198"
-      ]
-    ]
-  },
-  {
-    "id":"df5529a.8c63fd8",
-    "type":"set",
-    "name":"set variables for generating unique name",
-    "xml":"<set>\n<parameter name='generate-unique-name-input.index-table-name' value='EIPAM_CLIENT_KEY_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='CLIENT_KEY' />\n<parameter name='generate-unique-name-input.prefix' value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code + ':' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id + ':' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version + ':'`\" />\n<parameter name='generate-unique-name-input.index-length' value='' />\n",
-    "comments":"",
-    "x":2037.6428260803223,
-    "y":3756.6421089172363,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"892fb77a.70d198",
-    "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":2539.547649383545,
-    "y":3798.9278802871704,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"18e532bb.94aa6d",
-    "type":"switchNode",
-    "name":"switch ecomp-generated-naming == 'Y'",
-    "xml":"<switch test=\"$db.vfc-model.ecomp-generated-naming == 'Y'\">\n",
-    "comments":"",
-    "outputs":1,
-    "x":1014.3095626831055,
-    "y":2063.309280395508,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "87402ff0.1c134"
-      ]
-    ]
-  },
-  {
-    "id":"87402ff0.1c134",
-    "type":"outcomeFalse",
-    "name":"false",
-    "xml":"<outcome value='false'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1245.976173400879,
-    "y":2062.3089113235474,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "92edfbd1.110d28"
-      ]
-    ]
-  },
-  {
-    "id":"92edfbd1.110d28",
-    "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=\"`'ECOMP generated naming is not Y for VFC customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`\" />\n",
-    "comments":"",
-    "x":1392.6429138183594,
-    "y":2061.6423664093018,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"127d9e0e.3be312",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":1504.3097381591797,
-    "y":4614.975073814392,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "d222b70d.a58a58"
-      ]
-    ]
-  },
-  {
-    "id":"4cc71899.b3ae38",
-    "type":"comment",
-    "name":"Not a failure",
-    "info":"",
-    "comments":"",
-    "x":1827.6427917480469,
-    "y":4613.308896064758,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"d222b70d.a58a58",
-    "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":1650.3096733093262,
-    "y":4614.975707054138,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  },
-  {
-    "id":"2284873e.c8dbc8",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":897.642879486084,
-    "y":4639.975566864014,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "a73701c2.3e09c",
-        "cae20484.4fdb28"
-      ]
-    ]
-  },
-  {
-    "id":"a73701c2.3e09c",
-    "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":1210.976203918457,
-    "y":4615.309706687927,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "127d9e0e.3be312"
-      ]
-    ]
-  },
-  {
-    "id":"68800eba.46188",
-    "type":"update",
-    "name":"update EIPAM_IP_ASSIGNMENTS to PENDING_DELETE...",
-    "xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id\" >",
-    "comments":"",
-    "outputs":1,
-    "x":2917.6429481506348,
-    "y":4251.64261007309,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "7301d98d.3c90a8"
-      ]
-    ]
-  },
-  {
-    "id":"b6002bec.a5ed88",
-    "type":"set",
-    "name":"set status variable",
-    "xml":"<set>\n<parameter name='tmp.status' value=\"`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`\" />\n",
-    "comments":"",
-    "x":2787.642910003662,
-    "y":4204.9759821891785,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"7301d98d.3c90a8",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":3222.6428565979004,
-    "y":4249.97590970993,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "4d39b53.eeb304c"
-      ]
-    ]
-  },
-  {
-    "id":"4d39b53.eeb304c",
-    "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 EIPAM_IP_ASSIGNMENTS table on rollback\" />\n",
-    "comments":"",
-    "x":3412.6428833007812,
-    "y":4249.785645008087,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"72df2a3e.4251b4",
-    "type":"execute",
-    "name":"execute EIPAM unassign IP addresses",
-    "xml":"<execute plugin=\"com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin\" method=\"unassignIPAddress\">\n<parameter name=\"deleteEIPAM_status\" value=\"`$tmp.status`\" />\n",
-    "comments":"",
-    "outputs":1,
-    "x":2852.6429176330566,
-    "y":4296.642653942108,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "77b8e820.4a3988"
-      ]
-    ]
-  },
-  {
-    "id":"77b8e820.4a3988",
-    "type":"failure",
-    "name":"failure",
-    "xml":"<outcome value='failure'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":3089.309543609619,
-    "y":4296.642596721649,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "89dbd50f.fd7c38"
-      ]
-    ]
-  },
-  {
-    "id":"89dbd50f.fd7c38",
-    "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 in EIPAM unassign IP address on rollback\" />\n",
-    "comments":"",
-    "x":3279.3095703125,
-    "y":4296.452332019806,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"54652b75.46fe04",
-    "type":"comment",
-    "name":"roll back EIPAM",
-    "info":"",
-    "comments":"",
-    "x":2762.6429481506348,
-    "y":4151.642935593923,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"2bdf3ccf.849b44",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":2594.3095741271973,
-    "y":4254.97610616684,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "b6002bec.a5ed88",
-        "68800eba.46188",
-        "72df2a3e.4251b4"
-      ]
-    ]
-  },
-  {
-    "id":"1dc4fe5.fac6902",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":862.6428985595703,
-    "y":4347.975544929504,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "8f30d2e9.eb03c",
-        "b9241d04.9c139"
-      ]
-    ]
-  },
-  {
-    "id":"34139b45.2d0504",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":867.6428375244141,
-    "y":4410.641888618469,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "753f20c5.bbede",
-        "b9241d04.9c139"
-      ]
-    ]
-  },
-  {
-    "id":"e705dca.d8b482",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1387.6428146362305,
-    "y":4470.641909599304,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "8b99afe7.e214",
-        "b9241d04.9c139"
-      ]
-    ]
-  },
-  {
-    "id":"76421cc4.4bff94",
-    "type":"block",
-    "name":"block : atomic",
-    "xml":"<block atomic=\"true\">",
-    "atomic":"true",
-    "outputs":1,
-    "x":1382.642734527588,
-    "y":4548.641750335693,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "a464ded4.4fcf4",
-        "b9241d04.9c139"
-      ]
-    ]
-  },
-  {
-    "id":"f2ed6314.ee329",
-    "type":"set",
-    "name":"set vf-module-to-vfc-mapping length to 0",
-    "xml":"<set>\n<parameter name='db.vf-module-to-vfc-mapping_length' value='0' />\n",
-    "comments":"",
-    "x":1161.500099182129,
-    "y":1896.9280138015747,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"16f89ad6.193655",
-    "type":"set",
-    "name":"set vfc-to-network-role-mapping length to 0",
-    "xml":"<set>\n<parameter name='db.vfc-to-network-role-mapping_length' value='0' />\n",
-    "comments":"",
-    "x":1614.7857818603516,
-    "y":2375.9280395507812,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"454e063f.718d08",
-    "type":"switchNode",
-    "name":"switch plans-index > 0",
-    "xml":"<switch test='`$plans-index &gt; 0`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":550.5000762939453,
-    "y":4127.356512069702,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "7b0f806f.b0b31"
-      ]
-    ]
-  },
-  {
-    "id":"7b0f806f.b0b31",
-    "type":"outcomeTrue",
-    "name":"true",
-    "xml":"<outcome value='true'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":733.3572158813477,
-    "y":4127.356721878052,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "26166f96.2f2dc"
-      ]
-    ]
-  },
-  {
-    "id":"b9241d04.9c139",
-    "type":"switchNode",
-    "name":"switch plans-index > 0",
-    "xml":"<switch test='`$plans-index &gt; 0`'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":2241.6665000915527,
-    "y":4254.261742115021,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "d4e55b39.4088b8"
-      ]
-    ]
-  },
-  {
-    "id":"d4e55b39.4088b8",
-    "type":"outcomeTrue",
-    "name":"true",
-    "xml":"<outcome value='true'>\n",
-    "comments":"",
-    "outputs":1,
-    "x":2424.523639678955,
-    "y":4254.26195192337,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-        "2bdf3ccf.849b44"
-      ]
-    ]
-  },
-  {
-    "id":"aedcd126.656c8",
-    "type":"set",
-    "name":"set service-type",
-    "xml":"<set>\n<parameter name='service-data.service-information.service-type' value='`$service-data.service-information.subscription-service-type`' />\n",
-    "comments":"EIPAM plug-in needs this attribute set with this name",
-    "x":530.6666145324707,
-    "y":4080.92791557312,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"47f3a0dd.9d94b",
-    "type":"returnFailure",
-    "name":"return failure",
-    "xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n",
-    "comments":"",
-    "x":269,
-    "y":4838.749938964844,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"eba5daaf.aa8698",
-    "type":"comment",
-    "name":"Fix $ in value",
-    "info":"",
-    "comments":"",
-    "x":774.7499465942383,
-    "y":4844.000087738037,
-    "z":"e6090836.aef008",
-    "wires":[
-
-    ]
-  },
-  {
-    "id":"c314b843.e5cd58",
-    "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":604.1668701171875,
-    "y":4950.9169921875,
-    "z":"e6090836.aef008",
-    "wires":[
-      [
-
-      ]
-    ]
-  }
-]
\ No newline at end of file
+[{"id":"8742d12.7a1d7b","type":"dgstart","name":"DGSTART","outputs":1,"x":183,"y":176.02430057525635,"z":"42cbb89a.8c64f","wires":[["894b3de3.f71528"]]},{"id":"894b3de3.f71528","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":296.8571357727051,"y":215.8338384628296,"z":"42cbb89a.8c64f","wires":[["f890db1d.3600f"]]},{"id":"f890db1d.3600f","type":"method","name":"method vf-module-topology-operation-assign","xml":"<method rpc='vf-module-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":296.42862701416016,"y":256.02430057525635,"z":"42cbb89a.8c64f","wires":[["c8a1e002.809438"]]},{"id":"7dcb9f29.bd27d8","type":"comment","name":"vf-module-topology-operation-assign","info":"","comments":"","x":588.3210983276367,"y":119,"z":"42cbb89a.8c64f","wires":[]},{"id":"f5ba158b.f70238","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":588.1905097961426,"y":431.548122882843,"z":"42cbb89a.8c64f","wires":[["2d4867a.0da5a18","56323370.3acb6c"]]},{"id":"2d4867a.0da5a18","type":"outcome","name":"CreateVfModuleInstance","xml":"<outcome value='CreateVfModuleInstance'>\n","comments":"","outputs":1,"x":850.2381248474121,"y":408.6910090446472,"z":"42cbb89a.8c64f","wires":[["9093ce89.dbd2"]]},{"id":"56323370.3acb6c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":793.9047698974609,"y":454.07199811935425,"z":"42cbb89a.8c64f","wires":[["83310546.dd5548"]]},{"id":"9093ce89.dbd2","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1040.0952892303467,"y":408.69104051589966,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"83310546.dd5548","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":1058.9047775268555,"y":454.40531063079834,"z":"42cbb89a.8c64f","wires":[]},{"id":"a85265fb.59c4f8","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":635.5237770080566,"y":522.6910729408264,"z":"42cbb89a.8c64f","wires":[["c3c0e66.56b1a98","8973ae47.d019f"]]},{"id":"b078e35d.a7a8b","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":1076.9521980285645,"y":547.1195454597473,"z":"42cbb89a.8c64f","wires":[]},{"id":"c3c0e66.56b1a98","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":901.3094673156738,"y":503.0719037055969,"z":"42cbb89a.8c64f","wires":[["2e22b269.a520a6"]]},{"id":"8973ae47.d019f","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":909.8808975219727,"y":547.3576169013977,"z":"42cbb89a.8c64f","wires":[["b078e35d.a7a8b"]]},{"id":"2e22b269.a520a6","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":1076.309398651123,"y":502.21480417251587,"z":"42cbb89a.8c64f","wires":[]},{"id":"7aa1bb6.19ed144","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":630.6190414428711,"y":731.2624082565308,"z":"42cbb89a.8c64f","wires":[["9220ab58.177838","a7e6546c.a7384"]]},{"id":"9220ab58.177838","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":871.3333129882812,"y":708.4051485061646,"z":"42cbb89a.8c64f","wires":[["56bd0e83.72fec"]]},{"id":"a7e6546c.a7384","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":871.0951538085938,"y":749.3576669692993,"z":"42cbb89a.8c64f","wires":[["8c7195ad.71de6"]]},{"id":"c8a1e002.809438","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":237.99999237060547,"y":2426.024260520935,"z":"42cbb89a.8c64f","wires":[["f5ba158b.f70238","a85265fb.59c4f8","7aa1bb6.19ed144","5b156e7.3ede59","78f55d30.9b559c","e85f12eb.c3b7d8","bd4f4b52.b86c9","19a8adcf.8ba972","d68b1f8a.c36f8","ce657ede.d0e7d","dc1a7960.cce6c8","63912568.dc6aac","a1685cb6.6af2e","13ade228.a692e6","bbe284c2.19a1b","dc5bef63.7bbf58","606dd497.672abc","fa9f3efa.3d4728","6e166208.bcc654","a6edf90b.02862","514505ea.10acfc","3f52ef.03031512","75cfcd56.417424","cfc556e3.250c1","bf867b12.1be738","c5587f72.e69778","993e8c87.965df8","f20188a.3ff6c78","3b0dea46.13d54e","7b3e5db3.2dc124","3aff63fe.fa9cd4","4765e816.cfcec","7e0e98ac.d87bf","bb37fcda.2b247","8328b041.fafc2","14eb9411.7f3a24","4cd290dc.dfcc9","d44a8be9.4bdcc","978b88f8.1b362"]]},{"id":"56bd0e83.72fec","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":1037.999927520752,"y":707.6909036636353,"z":"42cbb89a.8c64f","wires":[]},{"id":"8c7195ad.71de6","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1033.3332977294922,"y":749.0242853164673,"z":"42cbb89a.8c64f","wires":[["f8dadf0d.b36748"]]},{"id":"f8dadf0d.b36748","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":1284.6665153503418,"y":748.690972328186,"z":"42cbb89a.8c64f","wires":[["84f14cdf.d12da"]]},{"id":"84f14cdf.d12da","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1514.6666069030762,"y":748.0243263244629,"z":"42cbb89a.8c64f","wires":[["b5e9b140.524d"]]},{"id":"5b156e7.3ede59","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":579.6666641235352,"y":662.6909074783325,"z":"42cbb89a.8c64f","wires":[]},{"id":"f8350d6.6984bf","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1836.3332443237305,"y":719.024284362793,"z":"42cbb89a.8c64f","wires":[]},{"id":"78f55d30.9b559c","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":569.6666717529297,"y":799.3576040267944,"z":"42cbb89a.8c64f","wires":[["fd955bd1.7d5d98"]]},{"id":"fd955bd1.7d5d98","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":748.000057220459,"y":798.6909799575806,"z":"42cbb89a.8c64f","wires":[["dd7488b1.39828"]]},{"id":"dd7488b1.39828","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":907.9999656677246,"y":798.0242834091187,"z":"42cbb89a.8c64f","wires":[]},{"id":"e85f12eb.c3b7d8","type":"switchNode","name":"switch vnf order status","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`'>\n","comments":"","outputs":1,"x":592.6666946411133,"y":870.6910009384155,"z":"42cbb89a.8c64f","wires":[["627847e5.85df","7eed7e27.fd9a"]]},{"id":"627847e5.85df","type":"outcome","name":"Created","xml":"<outcome value='Created'>\n","comments":"","outputs":1,"x":792.9999961853027,"y":844.3575849533081,"z":"42cbb89a.8c64f","wires":[["f151c486.4a1088"]]},{"id":"f151c486.4a1088","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":933.0000076293945,"y":844.357626914978,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"7eed7e27.fd9a","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":789.666633605957,"y":886.0242624282837,"z":"42cbb89a.8c64f","wires":[["4fcdf97f.3cb7b"]]},{"id":"4fcdf97f.3cb7b","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 order status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status + ' but should be Created'`\" />\n","comments":"","x":949.666633605957,"y":885.6909494400024,"z":"42cbb89a.8c64f","wires":[]},{"id":"bd4f4b52.b86c9","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":596.333381652832,"y":962.6909217834473,"z":"42cbb89a.8c64f","wires":[["30be5b0c.6ffa0c","9c2f0421.be6e48"]]},{"id":"30be5b0c.6ffa0c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":853.7143363952637,"y":929.8336954116821,"z":"42cbb89a.8c64f","wires":[["4684f1cb.f822d8"]]},{"id":"4684f1cb.f822d8","type":"set","name":"set vf-module-index=0","xml":"<set>\n<parameter name='vf-module-index' value='0' />\n","comments":"","x":1041.3333740234375,"y":930.500470161438,"z":"42cbb89a.8c64f","wires":[]},{"id":"9c2f0421.be6e48","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":854.142879486084,"y":994.119553565979,"z":"42cbb89a.8c64f","wires":[["71865ce8.e6eb4c"]]},{"id":"afae93fd.db33b","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":1239.3334197998047,"y":974.3099489212036,"z":"42cbb89a.8c64f","wires":[]},{"id":"24832982.cd0fe6","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":1198.4285125732422,"y":1018.4051790237427,"z":"42cbb89a.8c64f","wires":[["8d346fb9.665898"]]},{"id":"71865ce8.e6eb4c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":990.8571586608887,"y":994.1194791793823,"z":"42cbb89a.8c64f","wires":[["afae93fd.db33b","24832982.cd0fe6"]]},{"id":"8d346fb9.665898","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":1702.0476150512695,"y":1017.9765901565552,"z":"42cbb89a.8c64f","wires":[["8ff6f911.252038"]]},{"id":"8ff6f911.252038","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2144.666664123535,"y":1017.548041343689,"z":"42cbb89a.8c64f","wires":[["c71f4ab4.b4a088"]]},{"id":"c71f4ab4.b4a088","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":2296.571544647217,"y":1017.5480279922485,"z":"42cbb89a.8c64f","wires":[]},{"id":"bee5bef3.86a98","type":"comment","name":"make sure this VF module doesn't exist already","info":"","comments":"","x":1728.4999618530273,"y":972.604082107544,"z":"42cbb89a.8c64f","wires":[]},{"id":"19a8adcf.8ba972","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":601.3333206176758,"y":1057.6908559799194,"z":"42cbb89a.8c64f","wires":[]},{"id":"d68b1f8a.c36f8","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":607.8333396911621,"y":1170.1909627914429,"z":"42cbb89a.8c64f","wires":[]},{"id":"e4522356.5a7e2","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":1368.7855987548828,"y":1329.4288892745972,"z":"42cbb89a.8c64f","wires":[]},{"id":"ce657ede.d0e7d","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":567.8332595825195,"y":1443.3812294006348,"z":"42cbb89a.8c64f","wires":[["a44684c3.293ee8"]]},{"id":"a44684c3.293ee8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":713.1189498901367,"y":1443.3812980651855,"z":"42cbb89a.8c64f","wires":[["a1923c55.11e4c8"]]},{"id":"a1923c55.11e4c8","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":860.2618103027344,"y":1442.9527320861816,"z":"42cbb89a.8c64f","wires":[]},{"id":"dc1a7960.cce6c8","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 = 'CloudOwner' 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":606.6904754638672,"y":1243.5245008468628,"z":"42cbb89a.8c64f","wires":[["6c625f2a.03864","97f875f7.37eb4"]]},{"id":"97f875f7.37eb4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":820.9366683959961,"y":1261.6753568649292,"z":"42cbb89a.8c64f","wires":[["ecec7a39.3d0b9"]]},{"id":"ecec7a39.3d0b9","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":995.9366416931152,"y":1261.6753931045532,"z":"42cbb89a.8c64f","wires":[]},{"id":"6c625f2a.03864","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":829.8652648925781,"y":1219.9610900878906,"z":"42cbb89a.8c64f","wires":[["3c76069e.89c31a"]]},{"id":"3c76069e.89c31a","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":996.214542388916,"y":1219.2666673660278,"z":"42cbb89a.8c64f","wires":[]},{"id":"63912568.dc6aac","type":"set","name":"set vf-module-parameters","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-parameters.'\n  value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />\n","comments":"","x":603.595287322998,"y":1892.810320854187,"z":"42cbb89a.8c64f","wires":[]},{"id":"a1685cb6.6af2e","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":619.2262573242188,"y":5094.417000770569,"z":"42cbb89a.8c64f","wires":[]},{"id":"13ade228.a692e6","type":"get-resource","name":"get-resource VF_MODULE_TO_VFC_MAPPING","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from VF_MODULE_TO_VFC_MAPPING WHERE vf_module_customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\n  pfx='db.vf-module-to-vfc-mapping[]'>\n\n","comments":"","outputs":1,"x":676.9286880493164,"y":1946.6671075820923,"z":"42cbb89a.8c64f","wires":[["fae8f604.21bc6","da093ea1.9e3bd"]]},{"id":"fae8f604.21bc6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":942.7143783569336,"y":1927.0479383468628,"z":"42cbb89a.8c64f","wires":[["e21cede9.2e7c6"]]},{"id":"da093ea1.9e3bd","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":951.2858085632324,"y":1971.3336515426636,"z":"42cbb89a.8c64f","wires":[["d38e8911.141148"]]},{"id":"e21cede9.2e7c6","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_TO_VFC_MAPPING table\" />\n","comments":"","x":1117.7143096923828,"y":1926.1908388137817,"z":"42cbb89a.8c64f","wires":[]},{"id":"bbe284c2.19a1b","type":"for","name":"for each vm-type","xml":"<for index='vm-type-index' start='0' end='`$db.vf-module-to-vfc-mapping_length`' >\n","comments":"","outputs":1,"x":577.0476989746094,"y":2575.667359352112,"z":"42cbb89a.8c64f","wires":[["9dcee5b9.30ecb8"]]},{"id":"8cc05378.a5e4a","type":"get-resource","name":"get-resource VFC_MODEL","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from VFC_MODEL WHERE customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\n  pfx='db.vfc-model'>\n\n","comments":"","outputs":1,"x":1018.9524993896484,"y":2067.5720205307007,"z":"42cbb89a.8c64f","wires":[["26da1d88.b25212","d0f431cf.4dd9c8"]]},{"id":"6f26da35.19f5f4","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 entries found in VFC_MODEL table for customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`\" />\n","comments":"","x":1389.3808479309082,"y":2092.000412940979,"z":"42cbb89a.8c64f","wires":[]},{"id":"26da1d88.b25212","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1214.7381172180176,"y":2047.9527711868286,"z":"42cbb89a.8c64f","wires":[["65dd23cf.74f37c"]]},{"id":"d0f431cf.4dd9c8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1223.3095474243164,"y":2092.2384843826294,"z":"42cbb89a.8c64f","wires":[["6f26da35.19f5f4"]]},{"id":"65dd23cf.74f37c","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_MODEL table\" />\n","comments":"","x":1389.7380485534668,"y":2047.0956716537476,"z":"42cbb89a.8c64f","wires":[]},{"id":"9dcee5b9.30ecb8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":768.9524917602539,"y":2574.2387285232544,"z":"42cbb89a.8c64f","wires":[["8cc05378.a5e4a","d7e120d8.399ab","265d99fe.8adbae","faf10db5.cade38","c3472b79.c794e8","b691f5a2.df4868","1b9a0f89.b41b2","6fdd1d65.dd9ee4"]]},{"id":"514505ea.10acfc","type":"set","name":"set vm_length","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm_length'\n  value='`$db.vf-module-to-vfc-mapping_length`' />\n","comments":"","x":568.833366394043,"y":2006.8577852249146,"z":"42cbb89a.8c64f","wires":[]},{"id":"d7e120d8.399ab","type":"set","name":"set vm data","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type'\n   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-type`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code'\n   value='`$db.vfc-model.nfc-naming-code`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type-tag'\n   value='`$db.vfc-model.vm-type-tag`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count'\n   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />\n","comments":"","x":969.6667518615723,"y":2193.52449798584,"z":"42cbb89a.8c64f","wires":[]},{"id":"b5e9b140.524d","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1663.0000686645508,"y":746.9440250396729,"z":"42cbb89a.8c64f","wires":[["f8350d6.6984bf","4a2b4adf.81c83c"]]},{"id":"4a2b4adf.81c83c","type":"break","name":"break","xml":"<break>","comments":"","x":1798.0000343322754,"y":768.6106109619141,"z":"42cbb89a.8c64f","wires":[]},{"id":"7323ab19.f1fb84","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":982.1665992736816,"y":1484.7772226333618,"z":"42cbb89a.8c64f","wires":[]},{"id":"dc5bef63.7bbf58","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":626.0236740112305,"y":1507.6016664505005,"z":"42cbb89a.8c64f","wires":[["f771c9c6.034628","c8403571.75d8a"]]},{"id":"f771c9c6.034628","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":831.6903457641602,"y":1484.7446298599243,"z":"42cbb89a.8c64f","wires":[["7323ab19.f1fb84"]]},{"id":"c8403571.75d8a","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":833.1189422607422,"y":1529.0302209854126,"z":"42cbb89a.8c64f","wires":[["f25740a0.0c3fa"]]},{"id":"f25740a0.0c3fa","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":987.4046783447266,"y":1528.4587931632996,"z":"42cbb89a.8c64f","wires":[]},{"id":"a2c866ca.334548","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":983.1188697814941,"y":1573.3158988952637,"z":"42cbb89a.8c64f","wires":[]},{"id":"606dd497.672abc","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":598.642692565918,"y":1596.1404037475586,"z":"42cbb89a.8c64f","wires":[["19203891.bc30cf","7d8dc9ab.34846"]]},{"id":"19203891.bc30cf","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":832.6426658630371,"y":1573.28333568573,"z":"42cbb89a.8c64f","wires":[["a2c866ca.334548"]]},{"id":"7d8dc9ab.34846","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":834.0712623596191,"y":1617.5689268112183,"z":"42cbb89a.8c64f","wires":[["1c4736a4.9d5379"]]},{"id":"1c4736a4.9d5379","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":988.3569984436035,"y":1616.9974989891052,"z":"42cbb89a.8c64f","wires":[]},{"id":"838f9e47.a657b8","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":980.2618026733398,"y":1662.1731061935425,"z":"42cbb89a.8c64f","wires":[]},{"id":"fa9f3efa.3d4728","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":606.7855644226074,"y":1684.9975509643555,"z":"42cbb89a.8c64f","wires":[["5233d71a.ced7f","da1652ca.e4ec5"]]},{"id":"5233d71a.ced7f","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":829.7855491638184,"y":1662.140513420105,"z":"42cbb89a.8c64f","wires":[["838f9e47.a657b8"]]},{"id":"da1652ca.e4ec5","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":831.2141456604004,"y":1706.4261045455933,"z":"42cbb89a.8c64f","wires":[["993309bc.316d8"]]},{"id":"993309bc.316d8","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":985.4998817443848,"y":1705.8546767234802,"z":"42cbb89a.8c64f","wires":[]},{"id":"26ba33d6.4f7d64","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":980.2618026733398,"y":1749.3159284591675,"z":"42cbb89a.8c64f","wires":[]},{"id":"6e166208.bcc654","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":601.7855644226074,"y":1772.1403732299805,"z":"42cbb89a.8c64f","wires":[["3a68c66b.a88062","d0a0d796.04cde8"]]},{"id":"3a68c66b.a88062","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":829.7855491638184,"y":1749.28333568573,"z":"42cbb89a.8c64f","wires":[["26ba33d6.4f7d64"]]},{"id":"d0a0d796.04cde8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":831.2141456604004,"y":1793.5689268112183,"z":"42cbb89a.8c64f","wires":[["c0cc4286.ab4b48"]]},{"id":"c0cc4286.ab4b48","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":985.4998817443848,"y":1792.9974989891052,"z":"42cbb89a.8c64f","wires":[]},{"id":"a6edf90b.02862","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":616.2378997802734,"y":1844.649362564087,"z":"42cbb89a.8c64f","wires":[]},{"id":"265d99fe.8adbae","type":"for","name":"for each vm","xml":"<for index='vm-index' start='0' end='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' >\n","comments":"","outputs":1,"x":971.3332405090332,"y":2302.777416229248,"z":"42cbb89a.8c64f","wires":[["46caa348.dae174"]]},{"id":"faf10db5.cade38","type":"set","name":"set vm-name-length","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name_length'\n  value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />\n","comments":"","x":994.6666946411133,"y":2237.7776737213135,"z":"42cbb89a.8c64f","wires":[]},{"id":"d2eec622.8295e","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":1437.761863708496,"y":2325.396562576294,"z":"42cbb89a.8c64f","wires":[["b331dbfa.3b84d","cf215d89.9ffde"]]},{"id":"b331dbfa.3b84d","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1733.4761517842617,"y":2298.253825187683,"z":"42cbb89a.8c64f","wires":[["aa4dcc25.6f274"]]},{"id":"cf215d89.9ffde","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1736.8095016479492,"y":2349.9204683303833,"z":"42cbb89a.8c64f","wires":[["ecbc795a.f3f258"]]},{"id":"7dcd8e5b.a33308","type":"set","name":"set variables for generating unique name NEW","xml":"<set>\n<parameter name='generate-unique-name-input.index-table-name' value='VM_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vm_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VM_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name + $db.vfc-model.nfc-naming-code`\" />\n<parameter name='generate-unique-name-input.index-length' value='3' />\n\n<!--\n<parameter name='generate-unique-name-input.prefix' value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-name + $db.vfc-model.nfc-naming-code`\" />\n-->\n","comments":"","x":1394.4285774230957,"y":2273.7298889160156,"z":"42cbb89a.8c64f","wires":[]},{"id":"ecbc795a.f3f258","type":"set","name":"set generated name","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' value='`$generate-unique-name-output.generated-name`' />\n","comments":"","x":1921.3332176208496,"y":2349.3964862823486,"z":"42cbb89a.8c64f","wires":[]},{"id":"aa4dcc25.6f274","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":1901.3332646687832,"y":2297.682336807251,"z":"42cbb89a.8c64f","wires":[]},{"id":"3f52ef.03031512","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":569.4285469055176,"y":1113.3725385665894,"z":"42cbb89a.8c64f","wires":[]},{"id":"46caa348.dae174","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1135.738182067871,"y":2302.4203205108643,"z":"42cbb89a.8c64f","wires":[["7dcd8e5b.a33308","d2eec622.8295e"]]},{"id":"c3472b79.c794e8","type":"get-resource","name":"get-resource VFC_TO_NETWORK_ROLE_MAPPING","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from VFC_TO_NETWORK_ROLE_MAPPING WHERE vfc_customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\n  pfx='db.vfc-to-network-role-mapping[]'>\n\n","comments":"","outputs":1,"x":1098.595329284668,"y":2425.277389526367,"z":"42cbb89a.8c64f","wires":[["cf0687bd.e598e","4a704ca7.8ab134"]]},{"id":"cf0687bd.e598e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1385.8095321655273,"y":2405.658236503601,"z":"42cbb89a.8c64f","wires":[["5d120833.737138"]]},{"id":"4a704ca7.8ab134","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1394.3809623718262,"y":2449.943949699402,"z":"42cbb89a.8c64f","wires":[["6debb183.b41518"]]},{"id":"5d120833.737138","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_TO_NETWORK_ROLE_MAPPING table\" />\n","comments":"","x":1560.8094635009766,"y":2404.80113697052,"z":"42cbb89a.8c64f","wires":[]},{"id":"b691f5a2.df4868","type":"for","name":"for each network-role","xml":"<for index='network-role-index' start='0' end='`$db.vfc-to-network-role-mapping_length`' >\n","comments":"","outputs":1,"x":991.6906204223633,"y":2736.468231201172,"z":"42cbb89a.8c64f","wires":[["36d0034e.833ba4"]]},{"id":"36d0034e.833ba4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1198.1190719604492,"y":2733.134736061096,"z":"42cbb89a.8c64f","wires":[["13d5efa4.e01b18","6684e114.507f68","185f4372.c123c5","91a5c44c.608108","b2d4a39c.3d0218","1875199d.3e005e","fc08b3d2.5d259","e36efe57.44154"]]},{"id":"13d5efa4.e01b18","type":"for","name":"for each network","xml":"<for silentFailure='true' index='idx' start='0' end='`$service-data.networks.network_length`' >\n","comments":"","outputs":1,"x":1407.166633605957,"y":2565.2774925231934,"z":"42cbb89a.8c64f","wires":[["a15c432c.8bcf7"]]},{"id":"6684e114.507f68","type":"set","name":"set network-index to -1","xml":"<set>\n<parameter name='network-index' value='-1' />\n","comments":"","x":1427.1667022705078,"y":2522.4204893112183,"z":"42cbb89a.8c64f","wires":[]},{"id":"a15c432c.8bcf7","type":"switchNode","name":"switch network-role matches","xml":"<switch test='`$service-data.networks.network[$idx].network-data.network-topology.network-topology-identifier-structure.network-role == $db.vfc-to-network-role-mapping[$network-role-index].network-role`'>\n","comments":"","outputs":1,"x":1635.737907409668,"y":2563.8486824035645,"z":"42cbb89a.8c64f","wires":[["ac115be5.329f08"]]},{"id":"ac115be5.329f08","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1834.3095741271973,"y":2563.848886489868,"z":"42cbb89a.8c64f","wires":[["9146a0a9.0e19b"]]},{"id":"9146a0a9.0e19b","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1975.7381420135498,"y":2562.4203147888184,"z":"42cbb89a.8c64f","wires":[["fb415bb3.75456","d6f312f.548dff"]]},{"id":"fb415bb3.75456","type":"set","name":"set network-index to idx","xml":"<set>\n<parameter name='network-index' value='`$idx`' />\n","comments":"","x":2154.30965423584,"y":2539.563310623169,"z":"42cbb89a.8c64f","wires":[]},{"id":"d6f312f.548dff","type":"break","name":"break","xml":"<break>","comments":"","x":2102.8808937072754,"y":2585.2774906158447,"z":"42cbb89a.8c64f","wires":[]},{"id":"185f4372.c123c5","type":"switchNode","name":"switch network-index","xml":"<switch test='`$network-index`'>\n","comments":"","outputs":1,"x":1419.0714721679688,"y":2614.0871295928955,"z":"42cbb89a.8c64f","wires":[["39711ad5.6dbf8e"]]},{"id":"39711ad5.6dbf8e","type":"outcomeTrue","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":1613.3571968078613,"y":2614.0870265960693,"z":"42cbb89a.8c64f","wires":[["d971a29a.9569"]]},{"id":"d971a29a.9569","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 network found in MD-SAL with network-role ' + $db.vfc-to-network-role-mapping[$network-role-index].network-role`\" />\n","comments":"","x":1770.5000457763672,"y":2612.6584968566895,"z":"42cbb89a.8c64f","wires":[]},{"id":"75cfcd56.417424","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":628.9442901611328,"y":1332.0311841964722,"z":"42cbb89a.8c64f","wires":[["6d704691.40d188"]]},{"id":"6d704691.40d188","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n","comments":"","outputs":1,"x":876.6228332519531,"y":1331.7811136245728,"z":"42cbb89a.8c64f","wires":[["832009c2.286ea"]]},{"id":"832009c2.286ea","type":"outcome","name":"complex","xml":"<outcome value='complex'>\n","comments":"","outputs":1,"x":1046.0871543884277,"y":1331.1739358901978,"z":"42cbb89a.8c64f","wires":[["aa276ae6.6a9938"]]},{"id":"ce4135e5.834cf8","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.1823120117188,"y":1285.6025114059448,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"aa276ae6.6a9938","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1205.8490142822266,"y":1332.269299507141,"z":"42cbb89a.8c64f","wires":[["ce4135e5.834cf8","cc8ebfcf.73556","e4522356.5a7e2"]]},{"id":"cc8ebfcf.73556","type":"break","name":"break","xml":"<break>","comments":"","x":1355.848976135254,"y":1375.602596282959,"z":"42cbb89a.8c64f","wires":[]},{"id":"91a5c44c.608108","type":"set","name":"set network-role and tag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n   value='`$db.vfc-to-network-role-mapping[$network-role-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].network-role-tag'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].network-role-tag`' />\n","comments":"","x":1428.8333549499512,"y":2710.277316093445,"z":"42cbb89a.8c64f","wires":[]},{"id":"1b9a0f89.b41b2","type":"set","name":"set vm-network-length","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length'\n  value='`$db.vfc-to-network-role-mapping_length`' />\n","comments":"","x":985.4999465942383,"y":3125.277581214905,"z":"42cbb89a.8c64f","wires":[]},{"id":"b2d4a39c.3d0218","type":"switchNode","name":"switch ipv4-ip-version","xml":"<switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-ip-version`'>\n","comments":"","outputs":1,"x":1421.452407836914,"y":2793.610643386841,"z":"42cbb89a.8c64f","wires":[["f334dedf.542f88","bfe3b92b.eed028"]]},{"id":"dba4692f.8d24f","type":"set","name":"set network-information-index to -1","xml":"<set>\n<parameter name='network-information-index' value='-1' />\n\n","comments":"","x":1830.97603225708,"y":2758.6107482910156,"z":"42cbb89a.8c64f","wires":[]},{"id":"f334dedf.542f88","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1598.1189270019531,"y":2758.6107835769653,"z":"42cbb89a.8c64f","wires":[["dba4692f.8d24f"]]},{"id":"bfe3b92b.eed028","type":"other","name":"4","xml":"<outcome value='4'>\n","comments":"","outputs":1,"x":1596.8808784484863,"y":2824.5629262924194,"z":"42cbb89a.8c64f","wires":[["4e61e87f.09738"]]},{"id":"5c8aa855.64c57","type":"set","name":"set network-information-index to 0","xml":"<set>\n<parameter name='network-information-index' value='0' />\n","comments":"","x":2001.4521408081055,"y":2799.086787223816,"z":"42cbb89a.8c64f","wires":[]},{"id":"4e61e87f.09738","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1764.0713539123535,"y":2823.8963918685913,"z":"42cbb89a.8c64f","wires":[["5c8aa855.64c57","2a3f7a55.150f16"]]},{"id":"2a3f7a55.150f16","type":"set","name":"set ip-version 4, use-dhcp, and ip-count","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-version'\n   value='4' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].use-dhcp'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-use-dhcp`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-count'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-count`' />\n","comments":"","x":2018.4047241210938,"y":2845.753743171692,"z":"42cbb89a.8c64f","wires":[]},{"id":"1875199d.3e005e","type":"switchNode","name":"switch ipv6-ip-version","xml":"<switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-ip-version`'>\n","comments":"","outputs":1,"x":1421.9286041259766,"y":2920.515425682068,"z":"42cbb89a.8c64f","wires":[["14cad0ce.875937","c6e6105f.d3fb48"]]},{"id":"14cad0ce.875937","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1600.7380981445312,"y":2890.753237724304,"z":"42cbb89a.8c64f","wires":[["850ae6e3.97486"]]},{"id":"c6e6105f.d3fb48","type":"other","name":"6","xml":"<outcome value='6'>\n","comments":"","outputs":1,"x":1602.1666526794434,"y":2955.038794517517,"z":"42cbb89a.8c64f","wires":[["3a97eaa4.4dbd5e"]]},{"id":"d01561e6.8cd2a8","type":"set","name":"increment network-information-index","xml":"<set>\n<parameter name='network-information-index' value='`$network-information-index + 1`' />\n","comments":"","x":2007.880744934082,"y":2929.5628242492676,"z":"42cbb89a.8c64f","wires":[]},{"id":"3a97eaa4.4dbd5e","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1757.4048118591309,"y":2954.0865335464478,"z":"42cbb89a.8c64f","wires":[["d01561e6.8cd2a8","eec3daa5.99fad8"]]},{"id":"850ae6e3.97486","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1743.404727935791,"y":2890.0868558883667,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"fc08b3d2.5d259","type":"switchNode","name":"switch network-information-index","xml":"<switch test='`$network-information-index`'>\n","comments":"","outputs":1,"x":1457.166618347168,"y":3056.9436712265015,"z":"42cbb89a.8c64f","wires":[["e7281cfc.e21008","d353f555.e50738"]]},{"id":"e7281cfc.e21008","type":"outcome","name":"-1","xml":"<outcome value='-1'>","comments":"","outputs":1,"x":1675.4999752044678,"y":3033.610417366028,"z":"42cbb89a.8c64f","wires":[["693a68fa.318578"]]},{"id":"d353f555.e50738","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1675.2619380950928,"y":3079.562731742859,"z":"42cbb89a.8c64f","wires":[["bdc04062.cb736"]]},{"id":"693a68fa.318578","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1812.166690826416,"y":3031.9440774917603,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"bdc04062.cb736","type":"set","name":"set network-information-item_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].network-information-items.network-information-item_length'\n   value='`$network-information-index + 1`' />\n","comments":"","x":1903.8333053588867,"y":3076.9438695907593,"z":"42cbb89a.8c64f","wires":[]},{"id":"cfc556e3.250c1","type":"for","name":"for each vm-type","xml":"<for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":584,"y":3223.943766593933,"z":"42cbb89a.8c64f","wires":[["3c13f67.7a17c0a"]]},{"id":"3c13f67.7a17c0a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":787.5715255737305,"y":3224.181971549988,"z":"42cbb89a.8c64f","wires":[["13ff9beb.57fecc"]]},{"id":"e36efe57.44154","type":"set","name":"save network-id","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id'\n  value='`$service-data.networks.network[$idx].network-data.network-topology.network-topology-identifier-structure.network-id`' />\n","comments":"This isn't a node in MD-SAL, but we need to save this for later when we are doing EIPAM processing","x":1400.9761810302734,"y":2660.2773237228394,"z":"42cbb89a.8c64f","wires":[]},{"id":"13ff9beb.57fecc","type":"for","name":"for each network-role","xml":"<for 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":988.999885559082,"y":3223.2770223617554,"z":"42cbb89a.8c64f","wires":[["7e085b6a.57a1e4"]]},{"id":"7e085b6a.57a1e4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1190.9047012329102,"y":3222.5150594711304,"z":"42cbb89a.8c64f","wires":[["6e764b1a.339424"]]},{"id":"6e764b1a.339424","type":"for","name":"for each network-information-item","xml":"<for index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\n","comments":"","outputs":1,"x":1435.6665725708008,"y":3222.039451599121,"z":"42cbb89a.8c64f","wires":[["c862c7eb.4210b"]]},{"id":"952a7c8b.3108b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":680.666633605957,"y":3427.943877220154,"z":"42cbb89a.8c64f","wires":[["d51d4403.6e23e","53daab82.db7afc","a091bfcc.a138b","f5c55689.e07468","5377172.64f6b68"]]},{"id":"d51d4403.6e23e","type":"get-resource","name":"get-resource EIPAM_IP_SUBNETS","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from EIPAM_IP_SUBNETS WHERE network_id = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id\n    AND address_family = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version'\n  pfx='db.eipam-ip-subnets[]'>\n\n","comments":"","outputs":1,"x":1060.6666564941406,"y":3389.6103734970093,"z":"42cbb89a.8c64f","wires":[["cfbb3239.b8a848","97b51176.70bd1"]]},{"id":"a77bfa66.d4c0d","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 entries found in EIPAM_IP_SUBNETS table 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        + ' and address family ' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version`\" />\n","comments":"","x":1450.6665954589844,"y":3411.2771348953247,"z":"42cbb89a.8c64f","wires":[]},{"id":"cfbb3239.b8a848","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1276.0238647460938,"y":3367.2294931411743,"z":"42cbb89a.8c64f","wires":[["a90f1733.6a3458"]]},{"id":"97b51176.70bd1","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1284.5952949523926,"y":3411.515206336975,"z":"42cbb89a.8c64f","wires":[["a77bfa66.d4c0d"]]},{"id":"a90f1733.6a3458","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 EIPAM_IP_SUBNETS table\" />\n","comments":"","x":1451.023796081543,"y":3366.3723936080933,"z":"42cbb89a.8c64f","wires":[]},{"id":"53daab82.db7afc","type":"for","name":"for each record in EIPAM_IP_SUBNETS","xml":"<for index='subnets-index' start='0' end='`$db.eipam-ip-subnets_length`' >\n","comments":"","outputs":1,"x":1079.9524688720703,"y":3694.8485612869263,"z":"42cbb89a.8c64f","wires":[["560fda47.3a4684"]]},{"id":"560fda47.3a4684","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1336.3810195922852,"y":3695.8008489608765,"z":"42cbb89a.8c64f","wires":[["c24dc02e.13602","de66f812.e4a","a3a38e6a.079dd8","c4da5ccb.f7a33","c10c36fb.5411d8"]]},{"id":"c24dc02e.13602","type":"get-resource","name":"get-resource EIPAM_IP_SUBNET_KEYS","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from EIPAM_IP_SUBNET_KEYS WHERE entity_id = $db.eipam-ip-subnets[$subnets-index].entity-id'\n  pfx='db.eipam-ip-subnet-keys[]'>\n\n","comments":"","outputs":1,"x":1647.809585571289,"y":3532.2294569015503,"z":"42cbb89a.8c64f","wires":[["5d37056c.fc355c","7b62aa65.c2e794"]]},{"id":"c7bc51ba.e369f","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 entries found in EIPAM_IP_SUBNET_KEYS table for entity ID '\n        + $db.eipam-ip-subnets[$subnets-index].entity-id`\" />","comments":"","x":2062.809585571289,"y":3552.2294569015503,"z":"42cbb89a.8c64f","wires":[]},{"id":"5d37056c.fc355c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1888.1668548583984,"y":3508.1818151474,"z":"42cbb89a.8c64f","wires":[["725f1d1f.458d3c"]]},{"id":"7b62aa65.c2e794","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1896.7382850646973,"y":3552.4675283432007,"z":"42cbb89a.8c64f","wires":[["c7bc51ba.e369f"]]},{"id":"725f1d1f.458d3c","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 EIPAM_IP_SUBNET_KEYS table\" />\n","comments":"","x":2063.1667861938477,"y":3507.324715614319,"z":"42cbb89a.8c64f","wires":[]},{"id":"a091bfcc.a138b","type":"set","name":"set max-level to -1","xml":"<set>\n<parameter name='max-level' value='-1' />\n","comments":"","x":1008.7619323730469,"y":3455.5629892349243,"z":"42cbb89a.8c64f","wires":[]},{"id":"de66f812.e4a","type":"for","name":"for each record in EIPAM_IP_SUBNET_KEYS","xml":"<for index='keys-index' start='0' end='`$db.eipam-ip-subnet-keys_length`' >\n","comments":"","outputs":1,"x":1662.3334045410156,"y":3601.27721118927,"z":"42cbb89a.8c64f","wires":[["5a06105e.465d3"]]},{"id":"5a06105e.465d3","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1949.0000534057617,"y":3599.6105489730835,"z":"42cbb89a.8c64f","wires":[["4455ac5e.d4cc4c"]]},{"id":"4455ac5e.d4cc4c","type":"switchNode","name":"switch level > max-level?","xml":"<switch test='`$db.eipam-ip-subnet-keys[$keys-index].level &gt; $max-level`'>\n","comments":"","outputs":1,"x":2165.6666717529297,"y":3599.6104669570923,"z":"42cbb89a.8c64f","wires":[["3b237dae.c892d2"]]},{"id":"3b237dae.c892d2","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2357.333599090576,"y":3599.6104612350464,"z":"42cbb89a.8c64f","wires":[["4415570e.226f78"]]},{"id":"4415570e.226f78","type":"set","name":"set max-level, selected-entity-id, selected-plan-name","xml":"<set>\n<parameter name='max-level' value='`$db.eipam-ip-subnet-keys[$keys-index].level`' />\n<parameter name='selected-entity-id' value='`$db.eipam-ip-subnet-keys[$keys-index].entity-id`' />\n<parameter name='selected-plan-name' value='`$db.eipam-ip-subnets[$subnets-index].plan-name`' />\n","comments":"","x":2649.0001068115234,"y":3597.943717956543,"z":"42cbb89a.8c64f","wires":[]},{"id":"a3a38e6a.079dd8","type":"get-resource","name":"get-resource EIPAM_IP_SUBNET_KEYS","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n  key='SELECT * from EIPAM_IP_SUBNET_KEYS WHERE entity_id = $selected-entity-id order by level'\n  pfx='db.eipam-ip-subnet-keys[]'>\n\n","comments":"","outputs":1,"x":1649.000015258789,"y":3673.1819162368774,"z":"42cbb89a.8c64f","wires":[["eee51654.117c8","5c3a3f7f.5c2fc"]]},{"id":"e9fcdcdb.26176","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 entries found in EIPAM_IP_SUBNET_KEYS table for entity ID '\n        + $selected-entity-id`\" />","comments":"","x":2064.000015258789,"y":3693.1819162368774,"z":"42cbb89a.8c64f","wires":[]},{"id":"eee51654.117c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1889.3572845458984,"y":3649.134274482727,"z":"42cbb89a.8c64f","wires":[["498c375.2ce3148"]]},{"id":"5c3a3f7f.5c2fc","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1897.9287147521973,"y":3693.419987678528,"z":"42cbb89a.8c64f","wires":[["e9fcdcdb.26176"]]},{"id":"498c375.2ce3148","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 EIPAM_IP_SUBNET_KEYS table\" />\n","comments":"","x":2064.3572158813477,"y":3648.277174949646,"z":"42cbb89a.8c64f","wires":[]},{"id":"665a903a.39a88","type":"for","name":"for each record in EIPAM_IP_SUBNET_KEYS","xml":"<for index='level-index' start='0' end='`$db.eipam-ip-subnet-keys_length`' >\n","comments":"","outputs":1,"x":2094.952362060547,"y":3741.753373146057,"z":"42cbb89a.8c64f","wires":[["a2d16cc2.be0708"]]},{"id":"980d5ef5.8056a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1787.8093643188477,"y":3825.562809944153,"z":"42cbb89a.8c64f","wires":[["665a903a.39a88","41a4c10f.9fd3c8","e5baa84e.6704a","c3b40e73.c92d68","dd718ed9.581ee"]]},{"id":"c4da5ccb.f7a33","type":"for","name":"for each ip in ip-count","xml":"<for index='request-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-count`' >\n","comments":"","outputs":1,"x":1586.142807006836,"y":3825.5644369125366,"z":"42cbb89a.8c64f","wires":[["980d5ef5.8056a"]]},{"id":"a2d16cc2.be0708","type":"set","name":"set eipam data for level","xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools[$level-index].key-name'\n   value='`$db.eipam-ip-subnet-keys[$level-index].key-name`' />\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools[$level-index].key-value'\n   value='`$db.eipam-ip-subnet-keys[$level-index].key-value`' />\n","comments":"","x":2401.8571243286133,"y":3741.5161390304565,"z":"42cbb89a.8c64f","wires":[]},{"id":"41a4c10f.9fd3c8","type":"set","name":"set eipam data pools_length","xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools_length'\n   value='`$db.eipam-ip-subnet-keys_length`' />\n","comments":"","x":2041.142677307129,"y":3787.2297563552856,"z":"42cbb89a.8c64f","wires":[]},{"id":"bf867b12.1be738","type":"set","name":"set plans-index to 0","xml":"<set>\n<parameter name='plans-index' value='0' />\n","comments":"","x":592.7619171142578,"y":3167.8960371017456,"z":"42cbb89a.8c64f","wires":[]},{"id":"f5c55689.e07468","type":"set","name":"increment plans-index","xml":"<set>\n<parameter name='plans-index' value='`$plans-index + 1`' />\n","comments":"","x":1024.0952224731445,"y":4086.8962841033936,"z":"42cbb89a.8c64f","wires":[]},{"id":"c10c36fb.5411d8","type":"set","name":"set eipam requests_length","xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].requests_length'\n   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-count`' />\n","comments":"","x":1596.6191711425781,"y":3967.229808807373,"z":"42cbb89a.8c64f","wires":[]},{"id":"5377172.64f6b68","type":"set","name":"set eipam plan-name, address-family","xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].plan-name' value='`$selected-plan-name`' />\n<parameter name='eipam-ip-block.plans[$plans-index].address-family'\n   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version`' />\n","comments":"","x":1072.6666564941406,"y":4039.7527656555176,"z":"42cbb89a.8c64f","wires":[]},{"id":"c5587f72.e69778","type":"set","name":"set eipam plans_length","xml":"<set>\n<parameter name='eipam-ip-block.plans_length' value='`$plans-index`' />\n","comments":"","x":596.4285697937012,"y":4111.944158554077,"z":"42cbb89a.8c64f","wires":[]},{"id":"993e8c87.965df8","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":547.7975158691406,"y":5273.035320281982,"z":"42cbb89a.8c64f","wires":[]},{"id":"f20188a.3ff6c78","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":567.5832290649414,"y":4963.01509475708,"z":"42cbb89a.8c64f","wires":[]},{"id":"3b0dea46.13d54e","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":612.4642333984375,"y":4914.8006067276,"z":"42cbb89a.8c64f","wires":[]},{"id":"77c153ff.a0fdb4","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":542.678466796875,"y":5225.26513671875,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"285a17dd.85f258","type":"execute","name":"call EIPAM assignIPAddress","xml":"<execute plugin=\"com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin\" method=\"assignIPAddress\">","comments":"","outputs":1,"x":976.5952911376953,"y":4200.9052267074585,"z":"42cbb89a.8c64f","wires":[["b1f94fd5.364d08"]]},{"id":"b1f94fd5.364d08","type":"failure","name":"failure","xml":"<outcome value='failure'>","outputs":1,"x":1190.5952911376953,"y":4200.9052267074585,"z":"42cbb89a.8c64f","wires":[["82176bb2.df71d"]]},{"id":"82176bb2.df71d","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\t<parameter name=\"error-message\" value=\"An error occured while obtaining new address blocks from EIPAM.\" />\n","comments":"","x":1329.5952911376953,"y":4200.9052267074585,"z":"42cbb89a.8c64f","wires":[]},{"id":"e5baa84e.6704a","type":"set","name":"set eipam client-key, mask","xml":"<set>\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].client-key'\n   value='`$generate-unique-name-output.generated-name`' />\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].info'\n   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\n<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].mask'\n   value='32' />\n","comments":"","x":2038.2857284545898,"y":3921.0397844314575,"z":"42cbb89a.8c64f","wires":[]},{"id":"3aff63fe.fa9cd4","type":"for","name":"for each vm-type","xml":"<for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":576,"y":4310.276859283447,"z":"42cbb89a.8c64f","wires":[["ad1f9498.166c78"]]},{"id":"ad1f9498.166c78","type":"for","name":"for each vm-network","xml":"<for 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":784.6666831970215,"y":4310.2771854400635,"z":"42cbb89a.8c64f","wires":[["73045686.87b318"]]},{"id":"73045686.87b318","type":"for","name":"for each network-information-item","xml":"<for index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\n","comments":"","outputs":1,"x":1049.6666717529297,"y":4311.94352722168,"z":"42cbb89a.8c64f","wires":[["cc6a69ef.11f9a"]]},{"id":"7b3e5db3.2dc124","type":"set","name":"set plans-index = 0","xml":"<set>\n<parameter name='plans-index' value='0' />\n","comments":"","x":582.9999923706055,"y":4255.276947021484,"z":"42cbb89a.8c64f","wires":[]},{"id":"c72201c5.58c788","type":"for","name":"for each eipam request","xml":"<for index='ip-index' start='0' end='`$eipam-ip-block.plans[$plans-index].requests_length`' >\n","comments":"","outputs":1,"x":1819.6666259765625,"y":4283.6108322143555,"z":"42cbb89a.8c64f","wires":[["e9abc0c8.773628"]]},{"id":"e9abc0c8.773628","type":"set","name":"set ip address","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].network-ips.network-ip[$ip-index]'\n  value='`$eipam-ip-block.plans[$plans-index].requests[$ip-index].ip-prefix`' />\n","comments":"","x":2031.3332633972168,"y":4281.944003105164,"z":"42cbb89a.8c64f","wires":[]},{"id":"7f6bf992.219d08","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1619.6664581298828,"y":4308.610345840454,"z":"42cbb89a.8c64f","wires":[["c72201c5.58c788","34f6a11b.b8862e"]]},{"id":"34f6a11b.b8862e","type":"set","name":"increment plans-index","xml":"<set>\n<parameter name='plans-index' value='`$plans-index + 1`' />\n","comments":"","x":1814.66650390625,"y":4330.27668762207,"z":"42cbb89a.8c64f","wires":[]},{"id":"7e0e98ac.d87bf","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","comments":"","outputs":1,"x":577.9999694824219,"y":4455.27702999115,"z":"42cbb89a.8c64f","wires":[["6df7b312.843a2c","49ca605b.c0502"]]},{"id":"b5ccad1f.ec4688","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":1071.333396911621,"y":4508.610199928284,"z":"42cbb89a.8c64f","wires":[]},{"id":"6df7b312.843a2c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":747.3573303222656,"y":4422.229174613953,"z":"42cbb89a.8c64f","wires":[["f5336f18.2c59b"]]},{"id":"49ca605b.c0502","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":755.9286842346191,"y":4484.8481550216675,"z":"42cbb89a.8c64f","wires":[["e6f82602.adde08"]]},{"id":"421ab118.9b761","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":1082.3572845458984,"y":4440.372731208801,"z":"42cbb89a.8c64f","wires":[]},{"id":"4765e816.cfcec","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 + $service-data.service-topology.service-topology-identifier.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 + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n\n\n","comments":"","x":593.6666259765625,"y":4378.27685546875,"z":"42cbb89a.8c64f","wires":[]},{"id":"9b005e27.ead9e","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].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n    <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$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":1037.3094787597656,"y":4584.000018119812,"z":"42cbb89a.8c64f","wires":[["40b049d4.b5d508","90c1d6d6.aba8e"]]},{"id":"40b049d4.b5d508","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1262.1428108215332,"y":4544.871940612793,"z":"42cbb89a.8c64f","wires":[["69557a8b.b931b4"]]},{"id":"90c1d6d6.aba8e","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1270.7142639160156,"y":4622.491083145142,"z":"42cbb89a.8c64f","wires":[["826a647c.0d8d58"]]},{"id":"27342a59.1dd1fe","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":1597.1429443359375,"y":4564.681837081909,"z":"42cbb89a.8c64f","wires":[]},{"id":"bb37fcda.2b247","type":"for","name":"for each vm-type","xml":"<for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":578.3095092773438,"y":4585.666521072388,"z":"42cbb89a.8c64f","wires":[["72590ab7.d86dcc"]]},{"id":"72590ab7.d86dcc","type":"for","name":"for each vm-network","xml":"<for 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":788.9761867523193,"y":4584.000344276428,"z":"42cbb89a.8c64f","wires":[["9b005e27.ead9e"]]},{"id":"8bee56c5.166f68","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":1598.9762382507324,"y":4639.666376113892,"z":"42cbb89a.8c64f","wires":[]},{"id":"eec3daa5.99fad8","type":"set","name":"set ip-version 6, use-dhcp, and ip-count","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-version'\n   value='6' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].use-dhcp'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-use-dhcp`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-count'\n   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-count`' />\n","comments":"","x":2017.7857208251953,"y":2974.2381496429443,"z":"42cbb89a.8c64f","wires":[]},{"id":"c862c7eb.4210b","type":"switchNode","name":"switch use-dhcp","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`'>\n","comments":"","outputs":1,"x":1683.500114440918,"y":3221.3808994293213,"z":"42cbb89a.8c64f","wires":[["890ce3ec.63743"]]},{"id":"890ce3ec.63743","type":"outcome","name":"N","xml":"<outcome value='N'>\n","comments":"","outputs":1,"x":1853.5000267028809,"y":3219.9525022506714,"z":"42cbb89a.8c64f","wires":[["952a7c8b.3108b"]]},{"id":"cc6a69ef.11f9a","type":"switchNode","name":"switch use-dhcp","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`'>\n","comments":"","outputs":1,"x":1290.642837524414,"y":4310.666822433472,"z":"42cbb89a.8c64f","wires":[["356204bc.cebf84"]]},{"id":"356204bc.cebf84","type":"outcome","name":"N","xml":"<outcome value='N'>\n","comments":"","outputs":1,"x":1460.642749786377,"y":4309.238425254822,"z":"42cbb89a.8c64f","wires":[["7f6bf992.219d08"]]},{"id":"8328b041.fafc2","type":"for","name":"for each vm-type","xml":"<for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":577.309455871582,"y":4715.667015075684,"z":"42cbb89a.8c64f","wires":[["eb342e48.a6583"]]},{"id":"eb342e48.a6583","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":772.3094863891602,"y":4715.000022888184,"z":"42cbb89a.8c64f","wires":[["7a82dc04.86f99c"]]},{"id":"858885b6.5193e8","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 , 'CloudOwner')\" >","comments":"","outputs":1,"x":1163.976188659668,"y":4737.667673110962,"z":"42cbb89a.8c64f","wires":[["22e39666.b50efa"]]},{"id":"8650b418.d123","type":"comment","name":"Not a failure","info":"","comments":"","x":1683.976089477539,"y":4737.6676778793335,"z":"42cbb89a.8c64f","wires":[]},{"id":"22e39666.b50efa","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1373.976173400879,"y":4737.66782283783,"z":"42cbb89a.8c64f","wires":[["c5a9e28c.b12c1"]]},{"id":"c5a9e28c.b12c1","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":1517.3096160888672,"y":4737.667660713196,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"dd718ed9.581ee","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":2127.3094940185547,"y":3875.666248321533,"z":"42cbb89a.8c64f","wires":[["50b7dc37.4a2dd4"]]},{"id":"50b7dc37.4a2dd4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2414.6905364990234,"y":3873.523669242859,"z":"42cbb89a.8c64f","wires":[["8e15d184.1846f"]]},{"id":"c3b40e73.c92d68","type":"set","name":"set variables for generating unique name","xml":"<set>\n<parameter name='generate-unique-name-input.index-table-name' value='EIPAM_CLIENT_KEY_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='CLIENT_KEY' />\n<parameter name='generate-unique-name-input.prefix' value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code + ':' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id + ':' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version + ':'`\" />\n<parameter name='generate-unique-name-input.index-length' value='' />\n","comments":"","x":2080.6428260803223,"y":3830.6664094924927,"z":"42cbb89a.8c64f","wires":[]},{"id":"8e15d184.1846f","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":2582.547649383545,"y":3872.9521808624268,"z":"42cbb89a.8c64f","wires":[]},{"id":"6fdd1d65.dd9ee4","type":"switchNode","name":"switch ecomp-generated-naming == 'Y'","xml":"<switch test=\"$db.vfc-model.ecomp-generated-naming == 'Y'\">\n","comments":"","outputs":1,"x":1057.3095626831055,"y":2137.333580970764,"z":"42cbb89a.8c64f","wires":[["1e0ee877.417498"]]},{"id":"1e0ee877.417498","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1288.976173400879,"y":2136.3332118988037,"z":"42cbb89a.8c64f","wires":[["438dfe04.53215"]]},{"id":"438dfe04.53215","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=\"`'ECOMP generated naming is not Y for VFC customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`\" />\n","comments":"","x":1435.6429138183594,"y":2135.666666984558,"z":"42cbb89a.8c64f","wires":[]},{"id":"eb61c884.195028","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1547.3097381591797,"y":4688.999374389648,"z":"42cbb89a.8c64f","wires":[["fe2bdfdc.c7d078"]]},{"id":"a4699dbe.2bdf2","type":"comment","name":"Not a failure","info":"","comments":"","x":1870.6427917480469,"y":4687.333196640015,"z":"42cbb89a.8c64f","wires":[]},{"id":"fe2bdfdc.c7d078","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":1693.3096733093262,"y":4689.0000076293945,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"7a82dc04.86f99c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":940.642879486084,"y":4713.99986743927,"z":"42cbb89a.8c64f","wires":[["695784e2.6196ec","858885b6.5193e8"]]},{"id":"695784e2.6196ec","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":1253.976203918457,"y":4689.334007263184,"z":"42cbb89a.8c64f","wires":[["eb61c884.195028"]]},{"id":"f30ede2a.6a271","type":"update","name":"update EIPAM_IP_ASSIGNMENTS to PENDING_DELETE...","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id\" >","comments":"","outputs":1,"x":2960.6429481506348,"y":4325.666910648346,"z":"42cbb89a.8c64f","wires":[["3e0756bb.f7be2a"]]},{"id":"380f2e3a.9189b2","type":"set","name":"set status variable","xml":"<set>\n<parameter name='tmp.status' value=\"`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`\" />\n","comments":"","x":2830.642910003662,"y":4279.000282764435,"z":"42cbb89a.8c64f","wires":[]},{"id":"3e0756bb.f7be2a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3265.6428565979004,"y":4324.000210285187,"z":"42cbb89a.8c64f","wires":[["6c6d4ba3.796714"]]},{"id":"6c6d4ba3.796714","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 EIPAM_IP_ASSIGNMENTS table on rollback\" />\n","comments":"","x":3455.6428833007812,"y":4323.8099455833435,"z":"42cbb89a.8c64f","wires":[]},{"id":"8aef50f1.e391e","type":"execute","name":"execute EIPAM unassign IP addresses","xml":"<execute plugin=\"com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin\" method=\"unassignIPAddress\">\n<parameter name=\"deleteEIPAM_status\" value=\"`$tmp.status`\" />\n","comments":"","outputs":1,"x":2895.6429176330566,"y":4370.6669545173645,"z":"42cbb89a.8c64f","wires":[["4c2b10fb.217ea"]]},{"id":"4c2b10fb.217ea","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3132.309543609619,"y":4370.6668972969055,"z":"42cbb89a.8c64f","wires":[["497b9970.c89e8"]]},{"id":"497b9970.c89e8","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 in EIPAM unassign IP address on rollback\" />\n","comments":"","x":3322.3095703125,"y":4370.476632595062,"z":"42cbb89a.8c64f","wires":[]},{"id":"78e6782f.e4964","type":"comment","name":"roll back EIPAM","info":"","comments":"","x":2805.6429481506348,"y":4225.667236169179,"z":"42cbb89a.8c64f","wires":[]},{"id":"785ac55a.5e876c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2637.3095741271973,"y":4329.000406742096,"z":"42cbb89a.8c64f","wires":[["380f2e3a.9189b2","f30ede2a.6a271","8aef50f1.e391e"]]},{"id":"f5336f18.2c59b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":905.6428985595703,"y":4421.999845504761,"z":"42cbb89a.8c64f","wires":[["421ab118.9b761","b7ca3c2a.8306f"]]},{"id":"e6f82602.adde08","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":910.6428375244141,"y":4484.666189193726,"z":"42cbb89a.8c64f","wires":[["b5ccad1f.ec4688","b7ca3c2a.8306f"]]},{"id":"69557a8b.b931b4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1430.6428146362305,"y":4544.666210174561,"z":"42cbb89a.8c64f","wires":[["27342a59.1dd1fe","b7ca3c2a.8306f"]]},{"id":"826a647c.0d8d58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1425.642734527588,"y":4622.66605091095,"z":"42cbb89a.8c64f","wires":[["8bee56c5.166f68","b7ca3c2a.8306f"]]},{"id":"d38e8911.141148","type":"set","name":"set vf-module-to-vfc-mapping length to 0","xml":"<set>\n<parameter name='db.vf-module-to-vfc-mapping_length' value='0' />\n","comments":"","x":1204.500099182129,"y":1970.952314376831,"z":"42cbb89a.8c64f","wires":[]},{"id":"6debb183.b41518","type":"set","name":"set vfc-to-network-role-mapping length to 0","xml":"<set>\n<parameter name='db.vfc-to-network-role-mapping_length' value='0' />\n","comments":"","x":1657.7857818603516,"y":2449.9523401260376,"z":"42cbb89a.8c64f","wires":[]},{"id":"14eb9411.7f3a24","type":"switchNode","name":"switch plans-index > 0","xml":"<switch test='`$plans-index &gt; 0`'>\n","comments":"","outputs":1,"x":593.5000762939453,"y":4201.3808126449585,"z":"42cbb89a.8c64f","wires":[["d8f73141.9175b8"]]},{"id":"d8f73141.9175b8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":776.3572158813477,"y":4201.381022453308,"z":"42cbb89a.8c64f","wires":[["285a17dd.85f258"]]},{"id":"b7ca3c2a.8306f","type":"switchNode","name":"switch plans-index > 0","xml":"<switch test='`$plans-index &gt; 0`'>\n","comments":"","outputs":1,"x":2284.6665000915527,"y":4328.286042690277,"z":"42cbb89a.8c64f","wires":[["abc3aaf1.1a8d3"]]},{"id":"abc3aaf1.1a8d3","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2467.523639678955,"y":4328.286252498627,"z":"42cbb89a.8c64f","wires":[["785ac55a.5e876c"]]},{"id":"4cd290dc.dfcc9","type":"set","name":"set service-type","xml":"<set>\n<parameter name='service-data.service-information.service-type' value='`$service-data.service-information.subscription-service-type`' />\n","comments":"EIPAM plug-in needs this attribute set with this name","x":573.6666145324707,"y":4154.9522161483765,"z":"42cbb89a.8c64f","wires":[]},{"id":"1ae4b5e5.907d6a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='' />\n<parameter name='error-message' value='' />\n","comments":"","x":312,"y":4912.7742395401,"z":"42cbb89a.8c64f","wires":[]},{"id":"a036b971.c69728","type":"comment","name":"Fix $ in value","info":"","comments":"","x":817.7499465942383,"y":4918.0243883132935,"z":"42cbb89a.8c64f","wires":[]},{"id":"d44a8be9.4bdcc","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":647.1668701171875,"y":5024.941292762756,"z":"42cbb89a.8c64f","wires":[[]]},{"id":"8a361b3a.5865b8","type":"returnFailure","name":"MARKER Node","xml":"\n","comments":"","x":1517,"y":2230,"z":"42cbb89a.8c64f","wires":[]},{"id":"978b88f8.1b362","type":"set","name":"set service-object-path","xml":"<set>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $service-data.service-topology.service-topology-identifier.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 + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n<!--\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $service-data.service-topology.service-topology-identifier.service-instance-id\n + '/service-data/service-topology/'`\"/>\n -->\n","comments":"","x":583.083251953125,"y":5156.3330078125,"z":"42cbb89a.8c64f","wires":[]}]
index ff8d2b0..42740f0 100644 (file)
@@ -1,452 +1 @@
-[
-    {
-        "id": "ebd3636c.7419d",
-        "type": "dgstart",
-        "name": "DGSTART",
-        "outputs": 1,
-        "x": 99.99999237060547,
-        "y": 81.66666412353516,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "197d48ee.598fa7"
-            ]
-        ]
-    },
-    {
-        "id": "197d48ee.598fa7",
-        "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": 175.28569793701172,
-        "y": 121.90477561950684,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "e1950959.592288"
-            ]
-        ]
-    },
-    {
-        "id": "e1950959.592288",
-        "type": "method",
-        "name": "method vnf-topology-operation-activate",
-        "xml": "<method rpc='vnf-topology-operation-activate' mode='sync'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 196.42861938476562,
-        "y": 161.66666412353516,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "e344a3c.e6f6f6"
-            ]
-        ]
-    },
-    {
-        "id": "e9d65a3e.e8fb48",
-        "type": "comment",
-        "name": "vnf-topology-operation-activate",
-        "info": "",
-        "comments": "",
-        "x": 494.3448486328125,
-        "y": 29.253007888793945,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "68902cc2.2a12a4",
-        "type": "switchNode",
-        "name": "switch request-action",
-        "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 503.5238037109375,
-        "y": 260.52380180358887,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "a0b4d245.da80d",
-                "ad7ffb1a.cd9d28"
-            ]
-        ]
-    },
-    {
-        "id": "a0b4d245.da80d",
-        "type": "outcome",
-        "name": "CreateVnfInstance",
-        "xml": "<outcome value='CreateVnfInstance'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 721.9047660827637,
-        "y": 237.66668605804443,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "27d2abcf.c98e94"
-            ]
-        ]
-    },
-    {
-        "id": "ad7ffb1a.cd9d28",
-        "type": "other",
-        "name": "other",
-        "xml": "<outcome value='Other'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 685.9047317504883,
-        "y": 283.38101387023926,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "9aea2bb8.636f48"
-            ]
-        ]
-    },
-    {
-        "id": "27d2abcf.c98e94",
-        "type": "block",
-        "name": "block",
-        "xml": "<block>\n",
-        "atomic": "false",
-        "comments": "",
-        "outputs": 1,
-        "x": 908.7618942260742,
-        "y": 237.66671562194824,
-        "z": "28c16236.105dde",
-        "wires": [
-            []
-        ]
-    },
-    {
-        "id": "9aea2bb8.636f48",
-        "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 'activate' then request-action must be 'CreateVnfInstance'\" />\n",
-        "comments": "",
-        "x": 925.9047393798828,
-        "y": 283.38097190856934,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "e344a3c.e6f6f6",
-        "type": "block",
-        "name": "block : atomic",
-        "xml": "<block atomic=\"true\">",
-        "atomic": "true",
-        "outputs": 1,
-        "x": 176.66665649414062,
-        "y": 383.33333587646484,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "68902cc2.2a12a4",
-                "d49c04f8.2ace98",
-                "788d0909.b021c8",
-                "99811d90.fc82c",
-                "7caed7a8.2e9948",
-                "2fbd1822.35aeb8",
-                "88b94012.df3c5",
-                "20178755.68db48",
-                "5ee26c61.c95f04"
-            ]
-        ]
-    },
-    {
-        "id": "d49c04f8.2ace98",
-        "type": "switchNode",
-        "name": "switch vnf_length",
-        "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 489.9999771118164,
-        "y": 330.0000276565552,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "85207fdf.7da98"
-            ]
-        ]
-    },
-    {
-        "id": "85207fdf.7da98",
-        "type": "other",
-        "name": "NULL",
-        "xml": "<outcome value=''>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 676.6666564941406,
-        "y": 329.33332538604736,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "589c9a44.2b5c64"
-            ]
-        ]
-    },
-    {
-        "id": "589c9a44.2b5c64",
-        "type": "returnFailure",
-        "name": "return failure",
-        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"There are no VNFs in MD-SAL\" />\n",
-        "comments": "",
-        "x": 858.3332824707031,
-        "y": 329.33332538604736,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "788d0909.b021c8",
-        "type": "for",
-        "name": "for each vnf",
-        "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 471.6666564941406,
-        "y": 378.333345413208,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "2e4255db.76c61a"
-            ]
-        ]
-    },
-    {
-        "id": "2e4255db.76c61a",
-        "type": "switchNode",
-        "name": "switch this vnf-id == input vnf-id",
-        "xml": "<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 726.6667442321777,
-        "y": 377.00001335144043,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "e8e4ee61.d7a57"
-            ]
-        ]
-    },
-    {
-        "id": "e8e4ee61.d7a57",
-        "type": "outcomeTrue",
-        "name": "true",
-        "xml": "<outcome value='true'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 965.0000305175781,
-        "y": 375.99999141693115,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "bd084402.ebd418"
-            ]
-        ]
-    },
-    {
-        "id": "bd084402.ebd418",
-        "type": "set",
-        "name": "set vnf-index",
-        "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
-        "comments": "",
-        "x": 1133.3332252502441,
-        "y": 376.00001335144043,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "99811d90.fc82c",
-        "type": "switchNode",
-        "name": "switch vnf-index",
-        "xml": "<switch test='`$vnf-index`'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 483.3333206176758,
-        "y": 425.00001525878906,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "cb5737d1.883a28"
-            ]
-        ]
-    },
-    {
-        "id": "cb5737d1.883a28",
-        "type": "other",
-        "name": "NULL",
-        "xml": "<outcome value=''>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 664.9999389648438,
-        "y": 424.333345413208,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "4eb36fef.c52b2"
-            ]
-        ]
-    },
-    {
-        "id": "4eb36fef.c52b2",
-        "type": "returnFailure",
-        "name": "return failure",
-        "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"'Could not find VNF ' + $vnf-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'\" />\n",
-        "comments": "",
-        "x": 831.6666259765625,
-        "y": 423.9999713897705,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "88b94012.df3c5",
-        "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": 478.33325958251953,
-        "y": 686.6666707992554,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "2fbd1822.35aeb8",
-        "type": "set",
-        "name": "set vnf-level-oper-status to Created",
-        "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />\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": 540.8133697509766,
-        "y": 639.0037975311279,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "7caed7a8.2e9948",
-        "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": 481.66651153564453,
-        "y": 594.999979019165,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "20178755.68db48",
-        "type": "switchNode",
-        "name": "switch current vnf-level-oper-status == PendingCreate",
-        "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'PendingCreate'`\">\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 605.0000305175781,
-        "y": 468.33330059051514,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "133f13c9.d4c06c"
-            ]
-        ]
-    },
-    {
-        "id": "133f13c9.d4c06c",
-        "type": "outcomeFalse",
-        "name": "false",
-        "xml": "<outcome value='false'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 891.3333740234375,
-        "y": 467.9999485015869,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "866ab955.d849b8"
-            ]
-        ]
-    },
-    {
-        "id": "866ab955.d849b8",
-        "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=\"`'Order status must be PendingCreate, but is currently '\n      + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`\" />\n",
-        "comments": "",
-        "x": 1049.666648864746,
-        "y": 467.33327293395996,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "6bd0646e.4cf91c",
-        "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": 994.9999961853027,
-        "y": 555.6665868759155,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "71f47c8b.cb4564",
-        "type": "failure",
-        "name": "failure",
-        "xml": "<outcome value='failure'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 826.0238952636719,
-        "y": 511.9523983001709,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "5e0a685d.6799c8"
-            ]
-        ]
-    },
-    {
-        "id": "16014f9b.9ff89",
-        "type": "not-found",
-        "name": "not-found",
-        "xml": "<outcome value='not-found'>\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 834.5953254699707,
-        "y": 556.2381114959717,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "6bd0646e.4cf91c"
-            ]
-        ]
-    },
-    {
-        "id": "5e0a685d.6799c8",
-        "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": 997.6905899047852,
-        "y": 512.4287919998169,
-        "z": "28c16236.105dde",
-        "wires": []
-    },
-    {
-        "id": "5ee26c61.c95f04",
-        "type": "save",
-        "name": "update generic-vnf prov-status to NVTPROV",
-        "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=\"prov-status\" value=\"NVTPROV\" />\n",
-        "comments": "",
-        "outputs": 1,
-        "x": 573.3333206176758,
-        "y": 531.666654586792,
-        "z": "28c16236.105dde",
-        "wires": [
-            [
-                "71f47c8b.cb4564",
-                "16014f9b.9ff89"
-            ]
-        ]
-    }
-]
+[{"id":"c5d6a69c.db78c8","type":"dgstart","name":"DGSTART","outputs":1,"x":200,"y":140.4136562347412,"z":"334fe7a0.c84bc","wires":[["c2c51821.c20608"]]},{"id":"c2c51821.c20608","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":275.28570556640625,"y":180.6517677307129,"z":"334fe7a0.c84bc","wires":[["b24dd100.124548"]]},{"id":"b24dd100.124548","type":"method","name":"method vnf-topology-operation-activate","xml":"<method rpc='vnf-topology-operation-activate' mode='sync'>\n","comments":"","outputs":1,"x":296.42862701416016,"y":220.4136562347412,"z":"334fe7a0.c84bc","wires":[["db4a0b9a.bf6ff"]]},{"id":"810d8dc5.92b518","type":"comment","name":"vnf-topology-operation-activate","info":"","comments":"","x":594.344856262207,"y":88,"z":"334fe7a0.c84bc","wires":[]},{"id":"501964cc.7c6bcc","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":603.523811340332,"y":319.2707939147949,"z":"334fe7a0.c84bc","wires":[["2f1d5bb9.19b7d4","f9e88ec2.19fcb8"]]},{"id":"2f1d5bb9.19b7d4","type":"outcome","name":"CreateVnfInstance","xml":"<outcome value='CreateVnfInstance'>\n","comments":"","outputs":1,"x":821.9047737121582,"y":296.4136781692505,"z":"334fe7a0.c84bc","wires":[["e5ae3a13.eafaa8"]]},{"id":"f9e88ec2.19fcb8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":785.9047393798828,"y":342.1280059814453,"z":"334fe7a0.c84bc","wires":[["c91fbfe6.90e8d8"]]},{"id":"e5ae3a13.eafaa8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1008.7619018554688,"y":296.4137077331543,"z":"334fe7a0.c84bc","wires":[[]]},{"id":"c91fbfe6.90e8d8","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 'activate' then request-action must be 'CreateVnfInstance'\" />\n","comments":"","x":1025.9047470092773,"y":342.1279640197754,"z":"334fe7a0.c84bc","wires":[]},{"id":"db4a0b9a.bf6ff","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":276.66666412353516,"y":442.0803279876709,"z":"334fe7a0.c84bc","wires":[["501964cc.7c6bcc","159a6c44.02a004","7496f5f4.dc6bbc","b197481f.a31d3","2548432d.b81fa4","ea7b6098.3506a","f7f0ed67.ce5d4","4e36aef1.d9ae8","8809d77a.d71fc8","60803d45.5b21ec","dc1ce2b8.5b9d7"]]},{"id":"159a6c44.02a004","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":589.9999847412109,"y":388.74701976776123,"z":"334fe7a0.c84bc","wires":[["a7fc69e7.0b7d4"]]},{"id":"a7fc69e7.0b7d4","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":776.6666641235352,"y":388.0803174972534,"z":"334fe7a0.c84bc","wires":[["b1895ef9.e59b8"]]},{"id":"b1895ef9.e59b8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"There are no VNFs in MD-SAL\" />\n","comments":"","x":958.3332901000977,"y":388.0803174972534,"z":"334fe7a0.c84bc","wires":[]},{"id":"7496f5f4.dc6bbc","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":571.6666641235352,"y":437.08033752441406,"z":"334fe7a0.c84bc","wires":[["3e4b9195.f70c06"]]},{"id":"3e4b9195.f70c06","type":"switchNode","name":"switch this vnf-id == input vnf-id","xml":"<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`'>\n","comments":"","outputs":1,"x":826.6667518615723,"y":435.7470054626465,"z":"334fe7a0.c84bc","wires":[["d5798231.873158"]]},{"id":"d5798231.873158","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1065.0000381469727,"y":434.7469835281372,"z":"334fe7a0.c84bc","wires":[["ef9088f5.0fddd8"]]},{"id":"ef9088f5.0fddd8","type":"set","name":"set vnf-index","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1233.3332328796387,"y":434.7470054626465,"z":"334fe7a0.c84bc","wires":[]},{"id":"b197481f.a31d3","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":583.3333282470703,"y":483.7470073699951,"z":"334fe7a0.c84bc","wires":[["47f1022f.88563c"]]},{"id":"47f1022f.88563c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":764.9999465942383,"y":483.08033752441406,"z":"334fe7a0.c84bc","wires":[["a85a1ea4.f1c298"]]},{"id":"a85a1ea4.f1c298","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"'Could not find VNF ' + $vnf-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'\" />\n","comments":"","x":931.666633605957,"y":482.74696350097656,"z":"334fe7a0.c84bc","wires":[]},{"id":"f7f0ed67.ce5d4","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":569.333251953125,"y":905.4136962890625,"z":"334fe7a0.c84bc","wires":[]},{"id":"ea7b6098.3506a","type":"set","name":"set vnf-level-oper-status to Created","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />\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":635.8133544921875,"y":775.7507934570312,"z":"334fe7a0.c84bc","wires":[]},{"id":"2548432d.b81fa4","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":581.6665191650391,"y":653.7469711303711,"z":"334fe7a0.c84bc","wires":[]},{"id":"4e36aef1.d9ae8","type":"switchNode","name":"switch current vnf-level-oper-status == PendingCreate","xml":"<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'PendingCreate'`\">\n","comments":"","outputs":1,"x":705.0000381469727,"y":527.0802927017212,"z":"334fe7a0.c84bc","wires":[["b1595438.135ba8"]]},{"id":"b1595438.135ba8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":991.333381652832,"y":526.746940612793,"z":"334fe7a0.c84bc","wires":[["c5d1d81b.6fa78"]]},{"id":"c5d1d81b.6fa78","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=\"`'Order status must be PendingCreate, but is currently '\n      + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`\" />\n","comments":"","x":1149.6666564941406,"y":526.080265045166,"z":"334fe7a0.c84bc","wires":[]},{"id":"2fd59a02.0cc2de","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":1095.0000038146973,"y":614.4135789871216,"z":"334fe7a0.c84bc","wires":[]},{"id":"5f693728.5c74c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":926.0239028930664,"y":570.699390411377,"z":"334fe7a0.c84bc","wires":[["7d76396f.a8f8f8"]]},{"id":"2f7f9774.bec95","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":934.5953330993652,"y":614.9851036071777,"z":"334fe7a0.c84bc","wires":[["2fd59a02.0cc2de"]]},{"id":"7d76396f.a8f8f8","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":1097.6905975341797,"y":571.175784111023,"z":"334fe7a0.c84bc","wires":[]},{"id":"8809d77a.d71fc8","type":"save","name":"update generic-vnf prov-status to NVTPROV","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=\"prov-status\" value=\"NVTPROV\" />\n","comments":"","outputs":1,"x":673.3333282470703,"y":590.413646697998,"z":"334fe7a0.c84bc","wires":[["5f693728.5c74c8","2f7f9774.bec95"]]},{"id":"60803d45.5b21ec","type":"set","name":"set service-object-path","xml":"<set>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $tunnelxconn-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n","comments":"","x":608,"y":706,"z":"334fe7a0.c84bc","wires":[]},{"id":"b5fdcb35.ac3eb","type":"returnFailure","name":"MARKER ->","xml":"","comments":"","x":310,"y":702,"z":"334fe7a0.c84bc","wires":[]},{"id":"dc1ce2b8.5b9d7","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/vnf-top-act.log' />\n","comments":"","outputs":1,"x":571,"y":829,"z":"334fe7a0.c84bc","wires":[[]]}]
index 4a787cb..8f2c40b 100644 (file)
@@ -3,12 +3,13 @@
 <set>\r
 <!--\r
 <parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\r
-<parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
+\r
 \r
 <parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\r
 service-data.service-topology.service-topology-identifier.service-instance-id\r
 \r
 -->\r
+<parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
 <parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\r
 </set><set>\r
 <parameter name='tmp.thisIsVGW' value='false' />\r
@@ -27,14 +28,18 @@ service-data.service-topology.service-topology-identifier.service-instance-id
       value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.brg-wan-mac-address`' />\r
 \r
 </set><set>\r
+<parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
+<parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\r
+\r
+<!--\r
 <parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\r
 <parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
+-->\r
 <!--\r
 <parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\r
 service-data.service-topology.service-topology-identifier.service-instance-id\r
 \r
 -->\r
-<parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\r
 </set><set>\r
 <parameter name='tmp.thisIsVGW' value='true' />\r
 </set></block></outcome></switch></block></for></outcome></get-resource><switch test='`$tmp.thisIsVGW`'>\r
index ee306af..58f73f8 100644 (file)
@@ -5,7 +5,6 @@
 <parameter name='tmp.search.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\r
 \r
 \r
-\r
 </set><set>\r
 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/'\r
  + $tmp.ar.allotted-resource-id\r
index 39443d5..143c39a 100755 (executable)
-<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='1.2.0-SNAPSHOT-INT110901'>\r
-    <method rpc='vf-module-topology-operation-assign' mode='sync'>\r
-        <block atomic="true">\r
-            <switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\r
-                <outcome value='CreateVfModuleInstance'>\r
-                    <block></block>\r
-                </outcome>\r
-                <outcome value='Other'>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />\r
-                    </return>\r
-                </outcome>\r
-            </switch>\r
-            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                          key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\r
-                          pfx='db.vf-module-model'>\r
-                <outcome value='failure'>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />\r
-                    </return>\r
-                </outcome>\r
-                <outcome value='not-found'>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <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`" />\r
-                    </return>\r
-                </outcome>\r
-            </get-resource>\r
-            <set>\r
-                <parameter name='vnf-index' value='-1' />\r
-            </set>\r
-            <switch test='`$service-data.vnfs.vnf_length`'>\r
-                <outcome value=''>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />\r
-                    </return>\r
-                </outcome>\r
-                <outcome value='Other'>\r
-                    <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
-                        <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\r
-                            <outcome value='true'>\r
-                                <block>\r
-                                    <set>\r
-                                        <parameter name='vnf-index' value='`$idx`' />\r
-                                    </set>\r
-                                    <break></break>\r
-                                </block>\r
-                            </outcome>\r
-                        </switch>\r
-                    </for>\r
-                </outcome>\r
-            </switch>\r
-            <switch test='`$vnf-index`'>\r
-                <outcome value='-1'>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />\r
-                    </return>\r
-                </outcome>\r
-            </switch>\r
-            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`'>\r
-                <outcome value='Created'>\r
-                    <block></block>\r
-                </outcome>\r
-                <outcome value='Other'>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="`'VNF order status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status + ' but should be Created'`" />\r
-                    </return>\r
-                </outcome>\r
-            </switch>\r
-            <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\r
-                <outcome value=''>\r
-                    <set>\r
-                        <parameter name='vf-module-index' value='0' />\r
-                    </set>\r
-                </outcome>\r
-                <outcome value='Other'>\r
-                    <block>\r
-                        <set>\r
-                            <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\r
-                        </set>\r
-                        <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\r
-                            <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`'>\r
-                                <outcome value='true'>\r
-                                    <return status='failure'>\r
-                                        <parameter name='ack-final' value='Y'/>\r
-                                        <parameter name="error-code" value="500" />\r
-                                        <parameter name="error-message" value="`'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`" />\r
-                                    </return>\r
-                                </outcome>\r
-                            </switch>\r
-                        </for>\r
-                    </block>\r
-                </outcome>\r
-            </switch>\r
-            <set>\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\r
-            </set>\r
-            <set>\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\r
-                           value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
-            </set>\r
-            <set>\r
-                <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`' />\r
-                <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`' />\r
-                <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`' />\r
-                <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\r
-                <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\r
-            </set>\r
-            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
-                          resource="cloud-region"\r
-                          key="cloud-region.cloud-owner = 'CloudOwner' AND\r
-             cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"\r
-                          pfx='aai.cloud-region' local-only='false' >\r
-                <outcome value='not-found'>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="Cloud region not found in AAI" />\r
-                    </return>\r
-                </outcome>\r
-                <outcome value='failure'>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="Error retrieving cloud region from AAI" />\r
-                    </return>\r
-                </outcome>\r
-            </get-resource>\r
-            <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
-                <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\r
-                    <outcome value='complex'>\r
-                        <block atomic="true">\r
-                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
-                                <parameter name='ctx_memory_result_key' value='aai-uid-split' />\r
-                                <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\r
-                                <parameter name='regex' value='/' />\r
-                            </execute>\r
-                            <set>\r
-                                <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'\r
-                                           value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\r
-                            </set>\r
-                            <break></break>\r
-                        </block>\r
-                    </outcome>\r
-                </switch>\r
-            </for>\r
-            <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`'>\r
-                <outcome value=''>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <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`" />\r
-                    </return>\r
-                </outcome>\r
-            </switch>\r
-            <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\r
-                <outcome value=''>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\r
-                                   value='`$db.vf-module-model.invariant-uuid`' />\r
-                    </set>\r
-                </outcome>\r
-                <outcome value='Other'>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\r
-                                   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\r
-                    </set>\r
-                </outcome>\r
-            </switch>\r
-            <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\r
-                <outcome value=''>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\r
-                                   value='`$db.vf-module-model.uuid`' />\r
-                    </set>\r
-                </outcome>\r
-                <outcome value='Other'>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\r
-                                   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\r
-                    </set>\r
-                </outcome>\r
-            </switch>\r
-            <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\r
-                <outcome value=''>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.onap-model-information.model-version'\r
-                                   value='`$db.vf-module-model.version`' />\r
-                    </set>\r
-                </outcome>\r
-                <outcome value='Other'>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.onap-model-information.model-version'\r
-                                   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\r
-                    </set>\r
-                </outcome>\r
-            </switch>\r
-            <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\r
-                <outcome value=''>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.onap-model-information.model-name'\r
-                                   value='`$db.vf-module-model.name`' />\r
-                    </set>\r
-                </outcome>\r
-                <outcome value='Other'>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.onap-model-information.model-name'\r
-                                   value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\r
-                    </set>\r
-                </outcome>\r
-            </switch>\r
-            <set>\r
-                <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\r
-                           value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\r
-            </set>\r
-            <set>\r
-                <parameter name='tmp.vf-module-topology.vf-module-parameters.'\r
-                           value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />\r
-            </set>\r
-            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                          key='SELECT * from VF_MODULE_TO_VFC_MAPPING WHERE vf_module_customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\r
-                          pfx='db.vf-module-to-vfc-mapping[]'>\r
-                <outcome value='failure'>\r
-                    <return status='failure'>\r
-                        <parameter name='ack-final' value='Y'/>\r
-                        <parameter name="error-code" value="500" />\r
-                        <parameter name="error-message" value="Error reading VF_MODULE_TO_VFC_MAPPING table" />\r
-                    </return>\r
-                </outcome>\r
-                <outcome value='not-found'>\r
-                    <set>\r
-                        <parameter name='db.vf-module-to-vfc-mapping_length' value='0' />\r
-                    </set>\r
-                </outcome>\r
-            </get-resource>\r
-            <set>\r
-                <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm_length'\r
-                           value='`$db.vf-module-to-vfc-mapping_length`' />\r
-            </set>\r
-            <for index='vm-type-index' start='0' end='`$db.vf-module-to-vfc-mapping_length`' >\r
-                <block atomic="true">\r
-                    <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                  key='SELECT * from VFC_MODEL WHERE customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\r
-                                  pfx='db.vfc-model'>\r
-                        <outcome value='failure'>\r
-                            <return status='failure'>\r
-                                <parameter name='ack-final' value='Y'/>\r
-                                <parameter name="error-code" value="500" />\r
-                                <parameter name="error-message" value="Error reading VFC_MODEL table" />\r
-                            </return>\r
-                        </outcome>\r
-                        <outcome value='not-found'>\r
-                            <return status='failure'>\r
-                                <parameter name='ack-final' value='Y'/>\r
-                                <parameter name="error-code" value="500" />\r
-                                <parameter name="error-message" value="`'No entries found in VFC_MODEL table for customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`" />\r
-                            </return>\r
-                        </outcome>\r
-                    </get-resource>\r
-                    <switch test="$db.vfc-model.ecomp-generated-naming == 'Y'">\r
-                        <outcome value='false'>\r
-                            <return status='failure'>\r
-                                <parameter name='ack-final' value='Y'/>\r
-                                <parameter name="error-code" value="500" />\r
-                                <parameter name="error-message" value="`'ECOMP generated naming is not Y for VFC customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`" />\r
-                            </return>\r
-                        </outcome>\r
-                    </switch>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type'\r
-                                   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-type`' />\r
-                        <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code'\r
-                                   value='`$db.vfc-model.nfc-naming-code`' />\r
-                        <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type-tag'\r
-                                   value='`$db.vfc-model.vm-type-tag`' />\r
-                        <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count'\r
-                                   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />\r
-                    </set>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name_length'\r
-                                   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />\r
-                    </set>\r
-                    <for index='vm-index' start='0' end='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' >\r
-                        <block atomic="true">\r
-                            <set>\r
-                                <parameter name='generate-unique-name-input.index-table-name' value='VM_NAME_INDEX' />\r
-                                <parameter name='generate-unique-name-input.index-table-prefix-column' value='vm_name_prefix' />\r
-                                <parameter name='generate-unique-name-input.name-table-type' value='VM_INSTANCE' />\r
-                                <parameter name='generate-unique-name-input.prefix' value="`$service-data.vnfs.vnf[$vnf-index].vnf-name + $db.vfc-model.nfc-naming-code`" />\r
-                                <parameter name='generate-unique-name-input.index-length' value='3' />\r
-                            </set>\r
-                            <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
-                                <outcome value='failure'>\r
-                                    <return status='failure'>\r
-                                        <parameter name='ack-final' value='Y'/>\r
-                                        <parameter name="error-code" value="500" />\r
-                                        <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
-                                    </return>\r
-                                </outcome>\r
-                                <outcome value='success'>\r
-                                    <set>\r
-                                        <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' value='`$generate-unique-name-output.generated-name`' />\r
-                                    </set>\r
-                                </outcome>\r
-                            </call>\r
-                        </block>\r
-                    </for>\r
-                    <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                  key='SELECT * from VFC_TO_NETWORK_ROLE_MAPPING WHERE vfc_customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\r
-                                  pfx='db.vfc-to-network-role-mapping[]'>\r
-                        <outcome value='failure'>\r
-                            <return status='failure'>\r
-                                <parameter name='ack-final' value='Y'/>\r
-                                <parameter name="error-code" value="500" />\r
-                                <parameter name="error-message" value="Error reading VFC_TO_NETWORK_ROLE_MAPPING table" />\r
-                            </return>\r
-                        </outcome>\r
-                        <outcome value='not-found'>\r
-                            <set>\r
-                                <parameter name='db.vfc-to-network-role-mapping_length' value='0' />\r
-                            </set>\r
-                        </outcome>\r
-                    </get-resource>\r
-                    <for index='network-role-index' start='0' end='`$db.vfc-to-network-role-mapping_length`' >\r
-                        <block atomic="true">\r
-                            <set>\r
-                                <parameter name='network-index' value='-1' />\r
-                            </set>\r
-                            <for silentFailure='true' index='idx' start='0' end='`$service-data.networks.network_length`' >\r
-                                <switch test='`$service-data.networks.network[$idx].network-data.network-topology.network-topology-identifier-structure.network-role == $db.vfc-to-network-role-mapping[$network-role-index].network-role`'>\r
-                                    <outcome value='true'>\r
-                                        <block>\r
-                                            <set>\r
-                                                <parameter name='network-index' value='`$idx`' />\r
-                                            </set>\r
-                                            <break></break>\r
-                                        </block>\r
-                                    </outcome>\r
-                                </switch>\r
-                            </for>\r
-                            <switch test='`$network-index`'>\r
-                                <outcome value='-1'>\r
-                                    <return status='failure'>\r
-                                        <parameter name='ack-final' value='Y'/>\r
-                                        <parameter name="error-code" value="500" />\r
-                                        <parameter name="error-message" value="`'No network found in MD-SAL with network-role ' + $db.vfc-to-network-role-mapping[$network-role-index].network-role`" />\r
-                                    </return>\r
-                                </outcome>\r
-                            </switch>\r
-                            <!--This isn't a node in MD-SAL, but we need to save this for later when we are doing EIPAM processing-->\r
-                            <set>\r
-                                <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id'\r
-                                           value='`$service-data.networks.network[$idx].network-data.network-topology.network-topology-identifier-structure.network-id`' />\r
-                            </set>\r
-                            <set>\r
-                                <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\r
-                                           value='`$db.vfc-to-network-role-mapping[$network-role-index].network-role`' />\r
-                                <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role-tag'\r
-                                           value='`$db.vfc-to-network-role-mapping[$network-role-index].network-role-tag`' />\r
-                            </set>\r
-                            <switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-ip-version`'>\r
-                                <outcome value=''>\r
-                                    <set>\r
-                                        <parameter name='network-information-index' value='-1' />\r
-                                    </set>\r
-                                </outcome>\r
-                                <outcome value='4'>\r
-                                    <block atomic="true">\r
-                                        <set>\r
-                                            <parameter name='network-information-index' value='0' />\r
-                                        </set>\r
-                                        <set>\r
-                                            <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-version'\r
-                                                       value='4' />\r
-                                            <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].use-dhcp'\r
-                                                       value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-use-dhcp`' />\r
-                                            <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-count'\r
-                                                       value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-count`' />\r
-                                        </set>\r
-                                    </block>\r
-                                </outcome>\r
-                            </switch>\r
-                            <switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-ip-version`'>\r
-                                <outcome value=''>\r
-                                    <block></block>\r
-                                </outcome>\r
-                                <outcome value='6'>\r
-                                    <block atomic="true">\r
-                                        <set>\r
-                                            <parameter name='network-information-index' value='`$network-information-index + 1`' />\r
-                                        </set>\r
-                                        <set>\r
-                                            <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-version'\r
-                                                       value='6' />\r
-                                            <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].use-dhcp'\r
-                                                       value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-use-dhcp`' />\r
-                                            <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-count'\r
-                                                       value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-count`' />\r
-                                        </set>\r
-                                    </block>\r
-                                </outcome>\r
-                            </switch>\r
-                            <switch test='`$network-information-index`'>\r
-                                <outcome value='-1'>\r
-                                    <block></block>\r
-                                </outcome>\r
-                                <outcome value='Other'>\r
-                                    <set>\r
-                                        <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length'\r
-                                                   value='`$network-information-index + 1`' />\r
-                                    </set>\r
-                                </outcome>\r
-                            </switch>\r
-                        </block>\r
-                    </for>\r
-                    <set>\r
-                        <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length'\r
-                                   value='`$db.vfc-to-network-role-mapping_length`' />\r
-                    </set>\r
-                </block>\r
-            </for>\r
-            <set>\r
-                <parameter name='plans-index' value='0' />\r
-            </set>\r
-            <for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
-                <block atomic="true">\r
-                    <for index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
-                        <block atomic="true">\r
-                            <for index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\r
-                                <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`'>\r
-                                    <outcome value='N'>\r
-                                        <block atomic="true">\r
-                                            <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                          key='SELECT * from EIPAM_IP_SUBNETS WHERE network_id = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id\r
-                                                          AND address_family = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version'\r
-                                                          pfx='db.eipam-ip-subnets[]'>\r
-                                                <outcome value='failure'>\r
-                                                    <return status='failure'>\r
-                                                        <parameter name='ack-final' value='Y'/>\r
-                                                        <parameter name="error-code" value="500" />\r
-                                                        <parameter name="error-message" value="Error reading EIPAM_IP_SUBNETS table" />\r
-                                                    </return>\r
-                                                </outcome>\r
-                                                <outcome value='not-found'>\r
-                                                    <return status='failure'>\r
-                                                        <parameter name='ack-final' value='Y'/>\r
-                                                        <parameter name="error-code" value="500" />\r
-                                                        <parameter name="error-message" value="`'No entries found in EIPAM_IP_SUBNETS table for network ID ' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id + ' and address family ' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version`" />\r
-                                                    </return>\r
-                                                </outcome>\r
-                                            </get-resource>\r
-                                            <set>\r
-                                                <parameter name='max-level' value='-1' />\r
-                                            </set>\r
-                                            <for index='subnets-index' start='0' end='`$db.eipam-ip-subnets_length`' >\r
-                                                <block atomic="true">\r
-                                                    <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                                  key='SELECT * from EIPAM_IP_SUBNET_KEYS WHERE entity_id = $db.eipam-ip-subnets[$subnets-index].entity-id'\r
-                                                                  pfx='db.eipam-ip-subnet-keys[]'>\r
-                                                        <outcome value='failure'>\r
-                                                            <return status='failure'>\r
-                                                                <parameter name='ack-final' value='Y'/>\r
-                                                                <parameter name="error-code" value="500" />\r
-                                                                <parameter name="error-message" value="Error reading EIPAM_IP_SUBNET_KEYS table" />\r
-                                                            </return>\r
-                                                        </outcome>\r
-                                                        <outcome value='not-found'>\r
-                                                            <return status='failure'>\r
-                                                                <parameter name='ack-final' value='Y'/>\r
-                                                                <parameter name="error-code" value="500" />\r
-                                                                <parameter name="error-message" value="`'No entries found in EIPAM_IP_SUBNET_KEYS table for entity ID ' + $db.eipam-ip-subnets[$subnets-index].entity-id`" />\r
-                                                            </return>\r
-                                                        </outcome>\r
-                                                    </get-resource>\r
-                                                    <for index='keys-index' start='0' end='`$db.eipam-ip-subnet-keys_length`' >\r
-                                                        <block atomic="true">\r
-                                                            <switch test='`$db.eipam-ip-subnet-keys[$keys-index].level &gt; $max-level`'>\r
-                                                                <outcome value='true'>\r
-                                                                    <set>\r
-                                                                        <parameter name='max-level' value='`$db.eipam-ip-subnet-keys[$keys-index].level`' />\r
-                                                                        <parameter name='selected-entity-id' value='`$db.eipam-ip-subnet-keys[$keys-index].entity-id`' />\r
-                                                                        <parameter name='selected-plan-name' value='`$db.eipam-ip-subnets[$subnets-index].plan-name`' />\r
-                                                                    </set>\r
-                                                                </outcome>\r
-                                                            </switch>\r
-                                                        </block>\r
-                                                    </for>\r
-                                                    <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                                                  key='SELECT * from EIPAM_IP_SUBNET_KEYS WHERE entity_id = $selected-entity-id order by level'\r
-                                                                  pfx='db.eipam-ip-subnet-keys[]'>\r
-                                                        <outcome value='failure'>\r
-                                                            <return status='failure'>\r
-                                                                <parameter name='ack-final' value='Y'/>\r
-                                                                <parameter name="error-code" value="500" />\r
-                                                                <parameter name="error-message" value="Error reading EIPAM_IP_SUBNET_KEYS table" />\r
-                                                            </return>\r
-                                                        </outcome>\r
-                                                        <outcome value='not-found'>\r
-                                                            <return status='failure'>\r
-                                                                <parameter name='ack-final' value='Y'/>\r
-                                                                <parameter name="error-code" value="500" />\r
-                                                                <parameter name="error-message" value="`'No entries found in EIPAM_IP_SUBNET_KEYS table for entity ID ' + $selected-entity-id`" />\r
-                                                            </return>\r
-                                                        </outcome>\r
-                                                    </get-resource>\r
-                                                    <for index='request-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-count`' >\r
-                                                        <block atomic="true">\r
-                                                            <for index='level-index' start='0' end='`$db.eipam-ip-subnet-keys_length`' >\r
-                                                                <set>\r
-                                                                    <parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools[$level-index].key-name'\r
-                                                                               value='`$db.eipam-ip-subnet-keys[$level-index].key-name`' />\r
-                                                                    <parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools[$level-index].key-value'\r
-                                                                               value='`$db.eipam-ip-subnet-keys[$level-index].key-value`' />\r
-                                                                </set>\r
-                                                            </for>\r
-                                                            <set>\r
-                                                                <parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools_length'\r
-                                                                           value='`$db.eipam-ip-subnet-keys_length`' />\r
-                                                            </set>\r
-                                                            <set>\r
-                                                                <parameter name='generate-unique-name-input.index-table-name' value='EIPAM_CLIENT_KEY_INDEX' />\r
-                                                                <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\r
-                                                                <parameter name='generate-unique-name-input.name-table-type' value='CLIENT_KEY' />\r
-                                                                <parameter name='generate-unique-name-input.prefix' value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code + ':' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id + ':' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version + ':'`" />\r
-                                                                <parameter name='generate-unique-name-input.index-length' value='' />\r
-                                                            </set>\r
-                                                            <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
-                                                                <outcome value='failure'>\r
-                                                                    <return status='failure'>\r
-                                                                        <parameter name='ack-final' value='Y'/>\r
-                                                                        <parameter name="error-code" value="500" />\r
-                                                                        <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
-                                                                    </return>\r
-                                                                </outcome>\r
-                                                            </call>\r
-                                                            <set>\r
-                                                                <parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].client-key'\r
-                                                                           value='`$generate-unique-name-output.generated-name`' />\r
-                                                                <parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].info'\r
-                                                                           value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\r
-                                                                <parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].mask'\r
-                                                                           value='32' />\r
-                                                            </set>\r
-                                                        </block>\r
-                                                    </for>\r
-                                                    <set>\r
-                                                        <parameter name='eipam-ip-block.plans[$plans-index].requests_length'\r
-                                                                   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-count`' />\r
-                                                    </set>\r
-                                                </block>\r
-                                            </for>\r
-                                            <set>\r
-                                                <parameter name='eipam-ip-block.plans[$plans-index].plan-name' value='`$selected-plan-name`' />\r
-                                                <parameter name='eipam-ip-block.plans[$plans-index].address-family'\r
-                                                           value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version`' />\r
-                                            </set>\r
-                                            <set>\r
-                                                <parameter name='plans-index' value='`$plans-index + 1`' />\r
-                                            </set>\r
-                                        </block>\r
-                                    </outcome>\r
-                                </switch>\r
-                            </for>\r
-                        </block>\r
-                    </for>\r
-                </block>\r
-            </for>\r
-            <set>\r
-                <parameter name='eipam-ip-block.plans_length' value='`$plans-index`' />\r
-            </set>\r
-            <!--EIPAM plug-in needs this attribute set with this name-->\r
-            <set>\r
-                <parameter name='service-data.service-information.service-type' value='`$service-data.service-information.subscription-service-type`' />\r
-            </set>\r
-            <switch test='`$plans-index &gt; 0`'>\r
-                <outcome value='true'>\r
-                    <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="assignIPAddress">\r
-                        <outcome value='failure'>\r
-                            <return status="failure">\r
-                                <parameter name="ack-final" value="Y" />\r
-                                <parameter name="error-code" value="500"/>\r
-                                <parameter name="error-message" value="An error occured while obtaining new address blocks from EIPAM." />\r
-                            </return>\r
-                        </outcome>\r
-                    </execute>\r
-                </outcome>\r
-            </switch>\r
-            <set>\r
-                <parameter name='plans-index' value='0' />\r
-            </set>\r
-            <for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
-                <for index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
-                    <for index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\r
-                        <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`'>\r
-                            <outcome value='N'>\r
-                                <block atomic="true">\r
-                                    <for index='ip-index' start='0' end='`$eipam-ip-block.plans[$plans-index].requests_length`' >\r
-                                        <set>\r
-                                            <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].network-ips.network-ip[$ip-index]'\r
-                                                       value='`$eipam-ip-block.plans[$plans-index].requests[$ip-index].ip-prefix`' />\r
-                                        </set>\r
-                                    </for>\r
-                                    <set>\r
-                                        <parameter name='plans-index' value='`$plans-index + 1`' />\r
-                                    </set>\r
-                                </block>\r
-                            </outcome>\r
-                        </switch>\r
-                    </for>\r
-                </for>\r
-            </for>\r
-            <set>\r
-                <parameter name='vf-module-object-path'\r
-                           value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $service-data.service-topology.service-topology-identifier.service-instance-id + '/service-data/vnfs/vnf/' + $service-data.vnfs.vnf[$vnf-index].vnf-id + '/vnf-data/vf-modules/vf-module/' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id + '/vf-module-data/vf-module-topology/'`"/>\r
-            </set>\r
-            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
-                    resource="vf-module"\r
-                    key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\r
-                    AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
-                    force="true" pfx="tmp.AnAI-data">\r
-                <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />\r
-                <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />\r
-                <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />\r
-                <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />\r
-                <parameter name="selflink" value="`$vf-module-object-path`" />\r
-                <outcome value='failure'>\r
-                    <block atomic="true">\r
-                        <switch test='`$plans-index &gt; 0`'>\r
-                            <outcome value='true'>\r
-                                <block atomic="true">\r
-                                    <set>\r
-                                        <parameter name='tmp.status' value="`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`" />\r
-                                    </set>\r
-                                    <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
-                                            key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id" >\r
-                                        <outcome value='failure'>\r
-                                            <return status='failure'>\r
-                                                <parameter name='ack-final' value='Y'/>\r
-                                                <parameter name="error-code" value="500" />\r
-                                                <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback" />\r
-                                            </return>\r
-                                        </outcome>\r
-                                    </update>\r
-                                    <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">\r
-                                        <parameter name="deleteEIPAM_status" value="`$tmp.status`" />\r
-                                        <outcome value='failure'>\r
-                                            <return status='failure'>\r
-                                                <parameter name='ack-final' value='Y'/>\r
-                                                <parameter name="error-code" value="500" />\r
-                                                <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback" />\r
-                                            </return>\r
-                                        </outcome>\r
-                                    </execute>\r
-                                </block>\r
-                            </outcome>\r
-                        </switch>\r
-                        <return status='failure'>\r
-                            <parameter name='ack-final' value='Y'/>\r
-                            <parameter name="error-code" value="500" />\r
-                            <parameter name="error-message" value="Error updating vf-module in AAI" />\r
-                        </return>\r
-                    </block>\r
-                </outcome>\r
-                <outcome value='not-found'>\r
-                    <block atomic="true">\r
-                        <switch test='`$plans-index &gt; 0`'>\r
-                            <outcome value='true'>\r
-                                <block atomic="true">\r
-                                    <set>\r
-                                        <parameter name='tmp.status' value="`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`" />\r
-                                    </set>\r
-                                    <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
-                                            key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id" >\r
-                                        <outcome value='failure'>\r
-                                            <return status='failure'>\r
-                                                <parameter name='ack-final' value='Y'/>\r
-                                                <parameter name="error-code" value="500" />\r
-                                                <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback" />\r
-                                            </return>\r
-                                        </outcome>\r
-                                    </update>\r
-                                    <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">\r
-                                        <parameter name="deleteEIPAM_status" value="`$tmp.status`" />\r
-                                        <outcome value='failure'>\r
-                                            <return status='failure'>\r
-                                                <parameter name='ack-final' value='Y'/>\r
-                                                <parameter name="error-code" value="500" />\r
-                                                <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback" />\r
-                                            </return>\r
-                                        </outcome>\r
-                                    </execute>\r
-                                </block>\r
-                            </outcome>\r
-                        </switch>\r
-                        <return status='failure'>\r
-                            <parameter name='ack-final' value='Y'/>\r
-                            <parameter name="error-code" value="500" />\r
-                            <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`" />\r
-                        </return>\r
-                    </block>\r
-                </outcome>\r
-            </update>\r
-            <for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
-                <for index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
-                    <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
-                          resource="vf-module:relationship-list"\r
-                          key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\r
-                          AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
-                          force="true" pfx="tmp.AnAI-data">\r
-                        <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
-                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />\r
-                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />\r
-                        <outcome value='failure'>\r
-                            <block atomic="true">\r
-                                <switch test='`$plans-index &gt; 0`'>\r
-                                    <outcome value='true'>\r
-                                        <block atomic="true">\r
-                                            <set>\r
-                                                <parameter name='tmp.status' value="`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`" />\r
-                                            </set>\r
-                                            <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
-                                                    key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id" >\r
-                                                <outcome value='failure'>\r
-                                                    <return status='failure'>\r
-                                                        <parameter name='ack-final' value='Y'/>\r
-                                                        <parameter name="error-code" value="500" />\r
-                                                        <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback" />\r
-                                                    </return>\r
-                                                </outcome>\r
-                                            </update>\r
-                                            <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">\r
-                                                <parameter name="deleteEIPAM_status" value="`$tmp.status`" />\r
-                                                <outcome value='failure'>\r
-                                                    <return status='failure'>\r
-                                                        <parameter name='ack-final' value='Y'/>\r
-                                                        <parameter name="error-code" value="500" />\r
-                                                        <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback" />\r
-                                                    </return>\r
-                                                </outcome>\r
-                                            </execute>\r
-                                        </block>\r
-                                    </outcome>\r
-                                </switch>\r
-                                <return status='failure'>\r
-                                    <parameter name='ack-final' value='Y'/>\r
-                                    <parameter name="error-code" value="500" />\r
-                                    <parameter name="error-message" value="Error updating vf-module relationships in AAI" />\r
-                                </return>\r
-                            </block>\r
-                        </outcome>\r
-                        <outcome value='not-found'>\r
-                            <block atomic="true">\r
-                                <switch test='`$plans-index &gt; 0`'>\r
-                                    <outcome value='true'>\r
-                                        <block atomic="true">\r
-                                            <set>\r
-                                                <parameter name='tmp.status' value="`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`" />\r
-                                            </set>\r
-                                            <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
-                                                    key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id" >\r
-                                                <outcome value='failure'>\r
-                                                    <return status='failure'>\r
-                                                        <parameter name='ack-final' value='Y'/>\r
-                                                        <parameter name="error-code" value="500" />\r
-                                                        <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback" />\r
-                                                    </return>\r
-                                                </outcome>\r
-                                            </update>\r
-                                            <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">\r
-                                                <parameter name="deleteEIPAM_status" value="`$tmp.status`" />\r
-                                                <outcome value='failure'>\r
-                                                    <return status='failure'>\r
-                                                        <parameter name='ack-final' value='Y'/>\r
-                                                        <parameter name="error-code" value="500" />\r
-                                                        <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback" />\r
-                                                    </return>\r
-                                                </outcome>\r
-                                            </execute>\r
-                                        </block>\r
-                                    </outcome>\r
-                                </switch>\r
-                                <return status='failure'>\r
-                                    <parameter name='ack-final' value='Y'/>\r
-                                    <parameter name="error-code" value="500" />\r
-                                    <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`" />\r
-                                </return>\r
-                            </block>\r
-                        </outcome>\r
-                    </save>\r
-                </for>\r
-            </for>\r
-            <for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
-                <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\r
-                    <block atomic="true">\r
-                        <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-                                key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\r
-                                AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\r
-                                AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >\r
-                            <outcome value='failure'>\r
-                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
-                                    <parameter name="logger" value="message-log"/>\r
-                                    <parameter name="field1" value="__TIMESTAMP__"/>\r
-                                    <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>\r
-                                    <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
-                                    <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>\r
-                                </record>\r
-                            </outcome>\r
-                        </delete>\r
-                        <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
-                              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 , 'CloudOwner')" >\r
-                            <outcome value='failure'>\r
-                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
-                                    <parameter name="logger" value="message-log"/>\r
-                                    <parameter name="field1" value="__TIMESTAMP__"/>\r
-                                    <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>\r
-                                    <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
-                                    <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>\r
-                                </record>\r
-                            </outcome>\r
-                        </save>\r
-                    </block>\r
-                </for>\r
-            </for>\r
-            <set>\r
-                <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.' />\r
-            </set>\r
-            <set>\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\r
-                           value='$vf-module-topology-operation-input.sdnc-request-header.' />\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\r
-                           value='$vf-module-topology-operation-input.request-information.' />\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\r
-                           value='$vf-module-topology-operation-input.service-information.' />\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\r
-                           value='$vf-module-topology-operation-input.vnf-information.' />\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\r
-                           value='$vf-module-topology-operation-input.vf-module-information.' />\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\r
-                           value='$vf-module-topology-operation-input.vf-module-request-input.' />\r
-            </set>\r
-            <call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' ></call>\r
-            <set>\r
-                <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'\r
-                           value='PendingCreate' />\r
-                <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'\r
-                           value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\r
-                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\r
-                           value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\r
-            </set>\r
-            <return status='success'>\r
-                <parameter name="ack-final-indicator" value="Y" />\r
-                <parameter name="error-code" value="200" />\r
-                <parameter name="error-message" value="`$error-message`" />\r
-            </return>\r
-        </block>\r
-    </method>\r
-</service-logic>
\ No newline at end of file
+<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'><method rpc='vf-module-topology-operation-assign' mode='sync'>\r
+<block atomic="true"><switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\r
+<outcome value='CreateVfModuleInstance'>\r
+<block>\r
+</block></outcome><outcome value='Other'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />\r
+</return></outcome></switch><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\r
+  pfx='db.vf-module-model'>\r
+\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />\r
+</return></outcome><outcome value='not-found'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <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`" />\r
+</return></outcome></get-resource><set>\r
+<parameter name='vnf-index' value='-1' />\r
+</set><switch test='`$service-data.vnfs.vnf_length`'>\r
+<outcome value=''>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />\r
+</return></outcome><outcome value='Other'>\r
+<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
+<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\r
+<outcome value='true'>\r
+<block>\r
+<set>\r
+<parameter name='vnf-index' value='`$idx`' />\r
+</set><break></break></block></outcome></switch></for></outcome></switch><switch test='`$vnf-index`'>\r
+<outcome value='-1'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />\r
+</return></outcome></switch><switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`'>\r
+<outcome value='Created'>\r
+<block>\r
+</block></outcome><outcome value='Other'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'VNF order status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status + ' but should be Created'`" />\r
+</return></outcome></switch><switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\r
+<outcome value=''>\r
+<set>\r
+<parameter name='vf-module-index' value='0' />\r
+</set></outcome><outcome value='Other'>\r
+<block>\r
+<set>\r
+<parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\r
+</set><for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\r
+<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`'>\r
+<outcome value='true'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id\r
+       + ' 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`" />\r
+</return></outcome></switch></for></block></outcome></switch><set>\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\r
+</set><set>\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\r
+   value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
+</set><set>\r
+<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`' />\r
+<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`' />\r
+<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`' />\r
+<parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\r
+<parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\r
+</set><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+               resource="cloud-region" \r
+               key="cloud-region.cloud-owner = 'CloudOwner' AND \r
+                    cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"\r
+        pfx='aai.cloud-region' local-only='false' >\r
+\r
+<outcome value='not-found'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Cloud region not found in AAI" />\r
+</return></outcome><outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error retrieving cloud region from AAI" />\r
+</return></outcome></get-resource><for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
+<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\r
+<outcome value='complex'>\r
+<block atomic="true"><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
+   <parameter name='ctx_memory_result_key' value='aai-uid-split' />\r
+   <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\r
+   <parameter name='regex' value='/' />\r
+</execute><set>\r
+<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'\r
+   value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\r
+</set><break></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`'>\r
+<outcome value=''><return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <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`" />\r
+</return></outcome></switch><switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\r
+<outcome value=''><set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\r
+  value='`$db.vf-module-model.invariant-uuid`' />\r
+</set></outcome><outcome value='Other'>\r
+<set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\r
+  value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\r
+</set></outcome></switch><switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\r
+<outcome value=''><set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\r
+  value='`$db.vf-module-model.uuid`' />\r
+</set></outcome><outcome value='Other'>\r
+<set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\r
+  value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\r
+</set></outcome></switch><switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\r
+<outcome value=''><set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\r
+  value='`$db.vf-module-model.version`' />\r
+</set></outcome><outcome value='Other'>\r
+<set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\r
+  value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\r
+</set></outcome></switch><switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\r
+<outcome value=''><set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\r
+  value='`$db.vf-module-model.name`' />\r
+</set></outcome><outcome value='Other'>\r
+<set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\r
+  value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\r
+</set></outcome></switch><set>\r
+<parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\r
+  value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\r
+</set><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-parameters.'\r
+  value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />\r
+</set><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='SELECT * from VF_MODULE_TO_VFC_MAPPING WHERE vf_module_customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\r
+  pfx='db.vf-module-to-vfc-mapping[]'>\r
+\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error reading VF_MODULE_TO_VFC_MAPPING table" />\r
+</return></outcome><outcome value='not-found'>\r
+<set>\r
+<parameter name='db.vf-module-to-vfc-mapping_length' value='0' />\r
+</set></outcome></get-resource><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm_length'\r
+  value='`$db.vf-module-to-vfc-mapping_length`' />\r
+</set><for index='vm-type-index' start='0' end='`$db.vf-module-to-vfc-mapping_length`' >\r
+<block atomic="true"><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='SELECT * from VFC_MODEL WHERE customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\r
+  pfx='db.vfc-model'>\r
+\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error reading VFC_MODEL table" />\r
+</return></outcome><outcome value='not-found'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'No entries found in VFC_MODEL table for customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`" />\r
+</return></outcome></get-resource><switch test="$db.vfc-model.ecomp-generated-naming == 'Y'">\r
+<outcome value='false'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'ECOMP generated naming is not Y for VFC customization UUID ' + $db.vf-module-to-vfc-mapping[$db-vm-index].vfc_customization_uuid`" />\r
+</return></outcome></switch><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type'\r
+   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-type`' />\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code'\r
+   value='`$db.vfc-model.nfc-naming-code`' />\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type-tag'\r
+   value='`$db.vfc-model.vm-type-tag`' />\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count'\r
+   value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />\r
+</set><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name_length'\r
+  value='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' />\r
+</set><for index='vm-index' start='0' end='`$db.vf-module-to-vfc-mapping[$vm-type-index].vm-count`' >\r
+<block atomic="true"><set>\r
+<parameter name='generate-unique-name-input.index-table-name' value='VM_NAME_INDEX' />\r
+<parameter name='generate-unique-name-input.index-table-prefix-column' value='vm_name_prefix' />\r
+<parameter name='generate-unique-name-input.name-table-type' value='VM_INSTANCE' />\r
+<parameter name='generate-unique-name-input.prefix' value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name + $db.vfc-model.nfc-naming-code`" />\r
+<parameter name='generate-unique-name-input.index-length' value='3' />\r
+\r
+<!--\r
+<parameter name='generate-unique-name-input.prefix' value="`$service-data.vnfs.vnf[$vnf-index].vnf-name + $db.vfc-model.nfc-naming-code`" />\r
+-->\r
+</set><call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
+</return></outcome><outcome value='success'>\r
+<set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' value='`$generate-unique-name-output.generated-name`' />\r
+</set></outcome></call></block></for><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='SELECT * from VFC_TO_NETWORK_ROLE_MAPPING WHERE vfc_customization_uuid = $db.vf-module-to-vfc-mapping[$vm-type-index].vfc-customization-uuid'\r
+  pfx='db.vfc-to-network-role-mapping[]'>\r
+\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error reading VFC_TO_NETWORK_ROLE_MAPPING table" />\r
+</return></outcome><outcome value='not-found'>\r
+<set>\r
+<parameter name='db.vfc-to-network-role-mapping_length' value='0' />\r
+</set></outcome></get-resource><for index='network-role-index' start='0' end='`$db.vfc-to-network-role-mapping_length`' >\r
+<block atomic="true"><set>\r
+<parameter name='network-index' value='-1' />\r
+</set><for silentFailure='true' index='idx' start='0' end='`$service-data.networks.network_length`' >\r
+<switch test='`$service-data.networks.network[$idx].network-data.network-topology.network-topology-identifier-structure.network-role == $db.vfc-to-network-role-mapping[$network-role-index].network-role`'>\r
+<outcome value='true'>\r
+<block>\r
+<set>\r
+<parameter name='network-index' value='`$idx`' />\r
+</set><break></break></block></outcome></switch></for><switch test='`$network-index`'>\r
+<outcome value='-1'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'No network found in MD-SAL with network-role ' + $db.vfc-to-network-role-mapping[$network-role-index].network-role`" />\r
+</return></outcome></switch><!--This isn't a node in MD-SAL, but we need to save this for later when we are doing EIPAM processing--><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id'\r
+  value='`$service-data.networks.network[$idx].network-data.network-topology.network-topology-identifier-structure.network-id`' />\r
+</set><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\r
+   value='`$db.vfc-to-network-role-mapping[$network-role-index].network-role`' />\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role-tag'\r
+   value='`$db.vfc-to-network-role-mapping[$network-role-index].network-role-tag`' />\r
+</set><switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-ip-version`'>\r
+<outcome value=''><set>\r
+<parameter name='network-information-index' value='-1' />\r
+\r
+</set></outcome><outcome value='4'>\r
+<block atomic="true"><set>\r
+<parameter name='network-information-index' value='0' />\r
+</set><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-version'\r
+   value='4' />\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].use-dhcp'\r
+   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-use-dhcp`' />\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-count'\r
+   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv4-count`' />\r
+</set></block></outcome></switch><switch test='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-ip-version`'>\r
+<outcome value=''><block>\r
+</block></outcome><outcome value='6'>\r
+<block atomic="true"><set>\r
+<parameter name='network-information-index' value='`$network-information-index + 1`' />\r
+</set><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-version'\r
+   value='6' />\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].use-dhcp'\r
+   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-use-dhcp`' />\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$network-information-index].ip-count'\r
+   value='`$db.vfc-to-network-role-mapping[$network-role-index].ipv6-count`' />\r
+</set></block></outcome></switch><switch test='`$network-information-index`'>\r
+<outcome value='-1'><block>\r
+</block></outcome><outcome value='Other'>\r
+<set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length'\r
+   value='`$network-information-index + 1`' />\r
+</set></outcome></switch></block></for><set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length'\r
+  value='`$db.vfc-to-network-role-mapping_length`' />\r
+</set></block></for><set>\r
+<parameter name='plans-index' value='0' />\r
+</set><for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
+<block atomic="true"><for index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
+<block atomic="true"><for index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\r
+<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`'>\r
+<outcome value='N'>\r
+<block atomic="true"><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='SELECT * from EIPAM_IP_SUBNETS WHERE network_id = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id\r
+    AND address_family = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version'\r
+  pfx='db.eipam-ip-subnets[]'>\r
+\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error reading EIPAM_IP_SUBNETS table" />\r
+</return></outcome><outcome value='not-found'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'No entries found in EIPAM_IP_SUBNETS table for network ID '\r
+        + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id\r
+        + ' and address family ' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version`" />\r
+</return></outcome></get-resource><set>\r
+<parameter name='max-level' value='-1' />\r
+</set><for index='subnets-index' start='0' end='`$db.eipam-ip-subnets_length`' >\r
+<block atomic="true"><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='SELECT * from EIPAM_IP_SUBNET_KEYS WHERE entity_id = $db.eipam-ip-subnets[$subnets-index].entity-id'\r
+  pfx='db.eipam-ip-subnet-keys[]'>\r
+\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error reading EIPAM_IP_SUBNET_KEYS table" />\r
+</return></outcome><outcome value='not-found'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'No entries found in EIPAM_IP_SUBNET_KEYS table for entity ID '\r
+        + $db.eipam-ip-subnets[$subnets-index].entity-id`" /></return></outcome></get-resource><for index='keys-index' start='0' end='`$db.eipam-ip-subnet-keys_length`' >\r
+<block atomic="true"><switch test='`$db.eipam-ip-subnet-keys[$keys-index].level &gt; $max-level`'>\r
+<outcome value='true'>\r
+<set>\r
+<parameter name='max-level' value='`$db.eipam-ip-subnet-keys[$keys-index].level`' />\r
+<parameter name='selected-entity-id' value='`$db.eipam-ip-subnet-keys[$keys-index].entity-id`' />\r
+<parameter name='selected-plan-name' value='`$db.eipam-ip-subnets[$subnets-index].plan-name`' />\r
+</set></outcome></switch></block></for><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='SELECT * from EIPAM_IP_SUBNET_KEYS WHERE entity_id = $selected-entity-id order by level'\r
+  pfx='db.eipam-ip-subnet-keys[]'>\r
+\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error reading EIPAM_IP_SUBNET_KEYS table" />\r
+</return></outcome><outcome value='not-found'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`'No entries found in EIPAM_IP_SUBNET_KEYS table for entity ID '\r
+        + $selected-entity-id`" /></return></outcome></get-resource><for index='request-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-count`' >\r
+<block atomic="true"><for index='level-index' start='0' end='`$db.eipam-ip-subnet-keys_length`' >\r
+<set>\r
+<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools[$level-index].key-name'\r
+   value='`$db.eipam-ip-subnet-keys[$level-index].key-name`' />\r
+<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools[$level-index].key-value'\r
+   value='`$db.eipam-ip-subnet-keys[$level-index].key-value`' />\r
+</set></for><set>\r
+<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].pools_length'\r
+   value='`$db.eipam-ip-subnet-keys_length`' />\r
+</set><set>\r
+<parameter name='generate-unique-name-input.index-table-name' value='EIPAM_CLIENT_KEY_INDEX' />\r
+<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\r
+<parameter name='generate-unique-name-input.name-table-type' value='CLIENT_KEY' />\r
+<parameter name='generate-unique-name-input.prefix' value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code + ':' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id + ':' + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version + ':'`" />\r
+<parameter name='generate-unique-name-input.index-length' value='' />\r
+</set><call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
+</return></outcome></call><set>\r
+<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].client-key'\r
+   value='`$generate-unique-name-output.generated-name`' />\r
+<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].info'\r
+   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\r
+<parameter name='eipam-ip-block.plans[$plans-index].requests[$request-index].mask'\r
+   value='32' />\r
+</set></block></for><set>\r
+<parameter name='eipam-ip-block.plans[$plans-index].requests_length'\r
+   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-count`' />\r
+</set></block></for><set>\r
+<parameter name='eipam-ip-block.plans[$plans-index].plan-name' value='`$selected-plan-name`' />\r
+<parameter name='eipam-ip-block.plans[$plans-index].address-family'\r
+   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].ip-version`' />\r
+</set><set>\r
+<parameter name='plans-index' value='`$plans-index + 1`' />\r
+</set></block></outcome></switch></for></block></for></block></for><set>\r
+<parameter name='eipam-ip-block.plans_length' value='`$plans-index`' />\r
+</set><!--EIPAM plug-in needs this attribute set with this name--><set>\r
+<parameter name='service-data.service-information.service-type' value='`$service-data.service-information.subscription-service-type`' />\r
+</set><switch test='`$plans-index &gt; 0`'>\r
+<outcome value='true'>\r
+<execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="assignIPAddress"><outcome value='failure'><return status="failure">\r
+       <parameter name="ack-final" value="Y" />\r
+       <parameter name="error-code" value="500"/>\r
+       <parameter name="error-message" value="An error occured while obtaining new address blocks from EIPAM." />\r
+</return></outcome></execute></outcome></switch><set>\r
+<parameter name='plans-index' value='0' />\r
+</set><for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
+<for index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
+<for index='ip-version-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item_length`' >\r
+<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].use-dhcp`'>\r
+<outcome value='N'>\r
+<block atomic="true"><for index='ip-index' start='0' end='`$eipam-ip-block.plans[$plans-index].requests_length`' >\r
+<set>\r
+<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-information-items.network-information-item[$ip-version-index].network-ips.network-ip[$ip-index]'\r
+  value='`$eipam-ip-block.plans[$plans-index].requests[$ip-index].ip-prefix`' />\r
+</set></for><set>\r
+<parameter name='plans-index' value='`$plans-index + 1`' />\r
+</set></block></outcome></switch></for></for></for><set>\r
+<parameter name='vf-module-object-path'\r
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
+ + $service-data.service-topology.service-topology-identifier.service-instance-id\r
+ + '/service-data/vnfs/vnf/'\r
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
+ + '/vnf-data/vf-modules/vf-module/'\r
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\r
+ + '/vf-module-data/vf-module-topology/'`"/>\r
+\r
+\r
+</set><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+   resource="vf-module"\r
+   key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\r
+      AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
+   force="true" pfx="tmp.AnAI-data">\r
+<parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />\r
+<parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />\r
+<parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />\r
+<parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />\r
+<parameter name="selflink" value="`$vf-module-object-path`" />\r
+<outcome value='failure'>\r
+<block atomic="true"><switch test='`$plans-index &gt; 0`'>\r
+<outcome value='true'>\r
+<block atomic="true"><set>\r
+<parameter name='tmp.status' value="`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`" />\r
+</set><update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
+key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id" ><outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback" />\r
+</return></outcome></update><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">\r
+<parameter name="deleteEIPAM_status" value="`$tmp.status`" />\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback" />\r
+</return></outcome></execute></block></outcome></switch><return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error updating vf-module in AAI" />\r
+</return></block></outcome><outcome value='not-found'>\r
+<block atomic="true"><switch test='`$plans-index &gt; 0`'>\r
+<outcome value='true'>\r
+<block atomic="true"><set>\r
+<parameter name='tmp.status' value="`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`" />\r
+</set><update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
+key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id" ><outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback" />\r
+</return></outcome></update><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">\r
+<parameter name="deleteEIPAM_status" value="`$tmp.status`" />\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback" />\r
+</return></outcome></execute></block></outcome></switch><return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <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`" />\r
+</return></block></outcome></update><for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
+<for index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\r
+<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+   resource="vf-module:relationship-list"\r
+   key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\r
+      AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
+   force="true" pfx="tmp.AnAI-data">\r
+    <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
+    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />\r
+    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />\r
+<outcome value='failure'>\r
+<block atomic="true"><switch test='`$plans-index &gt; 0`'>\r
+<outcome value='true'>\r
+<block atomic="true"><set>\r
+<parameter name='tmp.status' value="`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`" />\r
+</set><update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
+key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id" ><outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback" />\r
+</return></outcome></update><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">\r
+<parameter name="deleteEIPAM_status" value="`$tmp.status`" />\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback" />\r
+</return></outcome></execute></block></outcome></switch><return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error updating vf-module relationships in AAI" />\r
+</return></block></outcome><outcome value='not-found'>\r
+<block atomic="true"><switch test='`$plans-index &gt; 0`'>\r
+<outcome value='true'>\r
+<block atomic="true"><set>\r
+<parameter name='tmp.status' value="`'PENDING_DELETE_' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id`" />\r
+</set><update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
+key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-topology-identifier.vf-module-id" ><outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table on rollback" />\r
+</return></outcome></update><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">\r
+<parameter name="deleteEIPAM_status" value="`$tmp.status`" />\r
+<outcome value='failure'>\r
+<return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <parameter name="error-message" value="Error in EIPAM unassign IP address on rollback" />\r
+</return></outcome></execute></block></outcome></switch><return status='failure'>\r
+       <parameter name='ack-final' value='Y'/>\r
+       <parameter name="error-code" value="500" />\r
+    <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`" />\r
+</return></block></outcome></save></for></for><for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
+<for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\r
+<block atomic="true"><delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+  key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\r
+     AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\r
+     AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' ><outcome value='failure'>\r
+<record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+<parameter name="logger" value="message-log"/>\r
+<parameter name="field1" value="__TIMESTAMP__"/>\r
+<parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>\r
+<parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
+<parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>\r
+</record></outcome></delete><save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"\r
+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 , 'CloudOwner')" ><outcome value='failure'>\r
+<record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+<parameter name="logger" value="message-log"/>\r
+<parameter name="field1" value="__TIMESTAMP__"/>\r
+<parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>\r
+<parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
+<parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>\r
+</record></outcome></save></block></for></for><set>\r
+<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.' />\r
+</set><set>\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\r
+   value='$vf-module-topology-operation-input.sdnc-request-header.' />\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\r
+   value='$vf-module-topology-operation-input.request-information.' />\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\r
+   value='$vf-module-topology-operation-input.service-information.' />\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\r
+   value='$vf-module-topology-operation-input.vnf-information.' />\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\r
+   value='$vf-module-topology-operation-input.vf-module-information.' />\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\r
+   value='$vf-module-topology-operation-input.vf-module-request-input.' />\r
+\r
+</set><call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' >\r
+</call><set>\r
+<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'\r
+  value='PendingCreate' />\r
+<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'\r
+  value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\r
+<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\r
+  value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\r
+</set><set>\r
+<parameter name='service-object-path'\r
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
+ + $service-data.service-topology.service-topology-identifier.service-instance-id\r
+ + '/service-data/vnfs/vnf/'\r
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
+ + '/vnf-data/vf-modules/vf-module/'\r
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\r
+ + '/vf-module-data/vf-module-topology/'`"/>\r
+<!--\r
+<parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
+ + $service-data.service-topology.service-topology-identifier.service-instance-id\r
+ + '/service-data/service-topology/'`"/>\r
+ -->\r
+</set><return status='success'>\r
+<parameter name="ack-final-indicator" value="Y" />\r
+<parameter name="error-code" value="200" />\r
+<parameter name="error-message" value="`$error-message`" />\r
+</return></block></method></service-logic>\r
index 2b88a64..2c2d73d 100755 (executable)
 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\r
 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\r
 \r
+</set><set>\r
+<parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
+ + $tunnelxconn-topology-operation-input.service-information.service-instance-id\r
+ + '/service-data/service-topology/'`"/>\r
 </set><set>\r
 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />\r
 <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`' />\r
 <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`' />\r
-</set><return status='success'>\r
+</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
+<parameter name='filename' value='/var/tmp/vnf-top-act.log' />\r
+</execute><return status='success'>\r
 <parameter name="ack-final-indicator" value="Y" />\r
 <parameter name="error-code" value="200" />\r
 <parameter name="error-message" value="`$error-message`" />\r
-</return></block></method></service-logic>
+</return></block></method></service-logic>\r