summaryrefslogtreecommitdiffstats
path: root/platform-logic/generic-resource-api/src
diff options
context:
space:
mode:
Diffstat (limited to 'platform-logic/generic-resource-api/src')
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.json1
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.json1
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-FQPN.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.json919
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name.json4946
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.json1
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.json1
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-assign.json2071
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json965
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.json341
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.json1039
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-assign.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.json341
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.json967
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-unassign.json2
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json2
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.json2
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json2
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml5022
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.xml343
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-FQPN.xml20
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.xml218
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name.xml199
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.xml625
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.xml533
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-assign.xml202
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.xml116
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.xml61
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.xml19
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-assign.xml160
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.xml61
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.xml24
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-unassign.xml65
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml3790
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.xml81
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.xml343
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml267
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml79
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.xml93
42 files changed, 14520 insertions, 9412 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.json
new file mode 100644
index 00000000..9a86105b
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.json
@@ -0,0 +1 @@
+[{"id":"c75602a7.79a8e","type":"dgstart","name":"DGSTART","outputs":1,"x":137.5,"y":63.07143306732178,"z":"524823bf.444cec","wires":[["b932d1a.4c5ea3"]]},{"id":"627ec918.5fdf38","type":"method","name":"method self-serve-aai-vf-module-put","xml":"<method rpc='self-serve-aai-vf-module-put' mode='sync'>\n","comments":"","outputs":1,"x":268.2857208251953,"y":138.531756401062,"z":"524823bf.444cec","wires":[["f96ac8.3a0c3538"]]},{"id":"f96ac8.3a0c3538","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":148.82144165039062,"y":219.309552192688,"z":"524823bf.444cec","wires":[["fe71ff2.07af7","6989e91.6053018"]]},{"id":"b932d1a.4c5ea3","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":410.3571472167969,"y":62.5,"z":"524823bf.444cec","wires":[["627ec918.5fdf38"]]},{"id":"fe71ff2.07af7","type":"switchNode","name":"switch: ss.capability-action","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":392.50002670288086,"y":218.96428537368774,"z":"524823bf.444cec","wires":[["6a952f64.51d83","fe7d9792.a79cd8","5203406d.42cd1"]]},{"id":"6a952f64.51d83","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":601.0000228881836,"y":219.21428537368774,"z":"524823bf.444cec","wires":[["cd0e6048.9a5c1"]]},{"id":"cd0e6048.9a5c1","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=\"ss.capability-action is null\" />\n","comments":"","x":756.9166946411133,"y":219.32538414001465,"z":"524823bf.444cec","wires":[]},{"id":"fe7d9792.a79cd8","type":"outcome","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":600.7500190734863,"y":268.21428871154785,"z":"524823bf.444cec","wires":[["1e532a47.345a66"]]},{"id":"6989e91.6053018","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />\n","comments":"","outputs":1,"x":344.4642868041992,"y":444.4999837875366,"z":"524823bf.444cec","wires":[[]]},{"id":"dd07b989.7643e8","type":"save","name":"update generic-vnf","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \" >\n<parameter name=\"ipv4-loopback0-address\" value='`$ss.param.ipv4-loopback0-address`' />\n<parameter name=\"ipv4-oam-address\" value='`$ss.param.ipv4-oam-address`' />\n<parameter name=\"as-number\" value='`$ss.param.as-number`' />\n<parameter name=\"vlan-id-outer\" value='`$ss.param.vlan-id-outer`' />\n\n","comments":"","outputs":1,"x":987.9643020629883,"y":1620.8930225372314,"z":"524823bf.444cec","wires":[["1a096d34.a296c3","f68aa49b.4aff98"]]},{"id":"1a096d34.a296c3","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1188.2143325805664,"y":1621.250069618225,"z":"524823bf.444cec","wires":[["a2493889.c0db08"]]},{"id":"f68aa49b.4aff98","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1194.4643440246582,"y":1673.0001039505005,"z":"524823bf.444cec","wires":[["7c24760f.461e78"]]},{"id":"63d9dd11.093634","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $ss.param.vnf-name`\" />\n","comments":"","x":1626.0832901000977,"y":1621.035774230957,"z":"524823bf.444cec","wires":[]},{"id":"c390bdc5.62c77","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to update generic-vnf.vnf-name because generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI'`\" />\n","comments":"","x":1626.6548080444336,"y":1671.2739505767822,"z":"524823bf.444cec","wires":[]},{"id":"225f1582.e1ef0a","type":"save","name":"update volume-group","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"volume-group\"\n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-owner \n\t\t\tAND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \n\t\t\tAND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \n\t\t\tAND volume-group-id = $ss.param.volume-group-id\" >\n<parameter name=\"volume-group-name\" value='`$ss.param.volume-group-name`' />\n<parameter name=\"volume-group-id\" value='`$ss.param.volume-group-id`' />\n","comments":"","outputs":1,"x":984.9284973144531,"y":2584.8569297790527,"z":"524823bf.444cec","wires":[["e7c7c20.30bf14","c88eb00.8003c5"]]},{"id":"e7c7c20.30bf14","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1192.9284973144531,"y":2584.8569297790527,"z":"524823bf.444cec","wires":[["6e03f96c.285448"]]},{"id":"d8dc0828.27b258","type":"save","name":"Rollback generic-vnf update","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \" >\n<parameter name=\"ipv4-loopback0-address\" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\n<parameter name=\"ipv4-oam-address\" value='`$tmp.aai.vnf.ipv4-oam-address`' />\n<parameter name=\"as-number\" value='`$tmp.aai.vnf.as-number`' />\n<parameter name=\"vlan-id-outer\" value='`$tmp.aai.vnf.vlan-id-outer`' />","comments":"","outputs":1,"x":4225.047969818115,"y":1975.8817014694214,"z":"524823bf.444cec","wires":[["37459a48.3b5166","edd09913.545dd8","163bae21.4dd752"]]},{"id":"37459a48.3b5166","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4463.297954559326,"y":1975.381646156311,"z":"524823bf.444cec","wires":[["35210e10.03cab2"]]},{"id":"edd09913.545dd8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4469.547966003418,"y":2027.1316804885864,"z":"524823bf.444cec","wires":[["ebe7aa73.43f148"]]},{"id":"11e16eb3.53d991","type":"save","name":"get generic-vnf","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \"\n\tpfx=\"tmp.aai.vnf\" >\n\n","comments":"","outputs":1,"x":981.2500267028809,"y":1461.7857904434204,"z":"524823bf.444cec","wires":[["994d496d.c95ab8","b196edd2.e2431"]]},{"id":"994d496d.c95ab8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1189.785659790039,"y":1461.2857112884521,"z":"524823bf.444cec","wires":[["4a889b1b.a47494"]]},{"id":"b196edd2.e2431","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1196.0355796813965,"y":1560.1786193847656,"z":"524823bf.444cec","wires":[["9ddfb068.4f9d4"]]},{"id":"4df5ad4c.030094","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error to get generic-vnf with vnf-id=' + $ss.param.vnf-id + ' from AnAI'`\" />\n","comments":"","x":1632.2258644104004,"y":1506.7857303619385,"z":"524823bf.444cec","wires":[]},{"id":"6ced939a.4ff03c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'generic-vnf.vnf-name with vnf-id=' + $ss.param.vnf-id + ' not found in AAI'`\" />\n","comments":"","x":1633.9403381347656,"y":1560.7382879257202,"z":"524823bf.444cec","wires":[]},{"id":"92f6b5db.1f8b58","type":"save","name":"update volume-group","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"volume-group\"\n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-owner \n\t\t\tAND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \n\t\t\tAND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \n\t\t\tAND volume-group-id = $ss.param.volume-group-id\" >\n<parameter name=\"volume-group-name\" value='`$tmp.aai.volume-group.volume-group-name`' />","comments":"","outputs":1,"x":4031.190414428711,"y":2614.59574508667,"z":"524823bf.444cec","wires":[["d504c338.7ef0e","f7be2b79.5d1b68","b241f6de.c37db8"]]},{"id":"6e03f96c.285448","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1387.6784896850586,"y":2584.856903076172,"z":"524823bf.444cec","wires":[["61271b65.0fcb84","e78b7b3c.7d8ae8"]]},{"id":"1e532a47.345a66","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":754.5000152587891,"y":268.4642848968506,"z":"524823bf.444cec","wires":[["11e16eb3.53d991","dd07b989.7643e8","225f1582.e1ef0a","e2a13221.1596f","d0bc7a2.383dc88","4528a71c.ca39f8","872b45b0.7d3948","e15ca48a.fe9e28","905c2a18.aaad68","d2b41652.699ac8","ca96518c.19429","89b93f84.5210a"]]},{"id":"e2a13221.1596f","type":"set","name":"set resource-resolution-data.status = SUCCESS","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.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \n\tvalue='SUCCESS' />\n","comments":"","x":1040.9168090820312,"y":5389.976270675659,"z":"524823bf.444cec","wires":[]},{"id":"4a889b1b.a47494","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1361.3572463989258,"y":1461.3215045928955,"z":"524823bf.444cec","wires":[["31415758.987528","4df5ad4c.030094"]]},{"id":"a2493889.c0db08","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1361.6428985595703,"y":1621.3215942382812,"z":"524823bf.444cec","wires":[["31415758.987528","63d9dd11.093634"]]},{"id":"7c24760f.461e78","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1364.500114440918,"y":1672.1787357330322,"z":"524823bf.444cec","wires":[["31415758.987528","c390bdc5.62c77"]]},{"id":"9ddfb068.4f9d4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1362.2143249511719,"y":1560.3215045928955,"z":"524823bf.444cec","wires":[["31415758.987528","6ced939a.4ff03c"]]},{"id":"31415758.987528","type":"set","name":"set resource-resolution-data.status = FAILED","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":1728.9286346435547,"y":1461.035816192627,"z":"524823bf.444cec","wires":[]},{"id":"8ea168e1.d7d9a8","type":"for","name":"for bidx in param_length (VF-MODULE)","xml":"<for silentFailure='true' index=\"bidx\" start=\"0\" end=\"`$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_length`\" >\n","comments":"","outputs":1,"x":1322.6903533935547,"y":352.4523754119873,"z":"524823bf.444cec","wires":[["803902c7.c58d9"]]},{"id":"6f687860.211ea8","type":"switchNode","name":"switch param[].name","xml":"<switch test='`$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[$bidx].name`'>\n","comments":"","outputs":1,"x":2057.833320617676,"y":867.8809757232666,"z":"524823bf.444cec","wires":[["67236707.0b58c8","c9f7ebbe.451368","c04b8d42.307eb","b60c7b63.b678a8","d7ec681.e2a7f98","c5c33794.35f548","781d93b4.9320ec","c3d95611.5b1c48","9087d09f.f80e8","f372a446.1f0d48","5551bd45.4b1a94","84bb5d04.c6e3","eccada42.397178","f98a6b07.b3e548","3e646a4f.c19ee6","aaaeb0d5.b28f9","f7d4b22c.59a29","a78794f6.2d8208","1c25444.1b7e7bc","ae7cb398.3859a"]]},{"id":"67236707.0b58c8","type":"outcome","name":"vf_module_id","xml":"<outcome value='vf_module_id'>\n","comments":"","outputs":1,"x":2351.8333129882812,"y":463.7380886077881,"z":"524823bf.444cec","wires":[["17ad0c43.a5d7c4"]]},{"id":"17ad0c43.a5d7c4","type":"set","name":"set ss.param.vf-module-id","xml":"<set>\n<parameter name='ss.param.vf-module-id' value='`$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[$bidx].value`' />\n","comments":"","x":2690.2619438171387,"y":464.5952525138855,"z":"524823bf.444cec","wires":[]},{"id":"c9f7ebbe.451368","type":"outcome","name":"vf_module_name","xml":"<outcome value='vf_module_name'>\n","comments":"","outputs":1,"x":2363.2618522644043,"y":506.5952377319336,"z":"524823bf.444cec","wires":[["eef84bd4.ec7f68"]]},{"id":"eef84bd4.ec7f68","type":"set","name":"set ss.param.vf-module-name","xml":"<set>\n<parameter name='ss.param.vf-module-name' value='`$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[$bidx].value`' />\n","comments":"","x":2701.547607421875,"y":507.16669607162476,"z":"524823bf.444cec","wires":[]},{"id":"c04b8d42.307eb","type":"outcome","name":"volume-group-name","xml":"<outcome value='volume-group-name'>\n","comments":"","outputs":1,"x":2372.5475845336914,"y":591.4524145126343,"z":"524823bf.444cec","wires":[["a0ced165.9cca5"]]},{"id":"a0ced165.9cca5","type":"set","name":"set ss.param.volume-group-name","xml":"<set>\n<parameter name='ss.param.volume-group-name' value='`$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[$bidx].value`' />\n","comments":"","x":2715.547607421875,"y":592.1666960716248,"z":"524823bf.444cec","wires":[]},{"id":"b60c7b63.b678a8","type":"outcome","name":"aic-cloud-region","xml":"<outcome value='aic-cloud-region'>\n","comments":"","outputs":1,"x":2358.547634124756,"y":633.4523944854736,"z":"524823bf.444cec","wires":[["23341e2.93c04e2"]]},{"id":"23341e2.93c04e2","type":"set","name":"set ss.param.aic-cloud-region","xml":"<set>\n<parameter name='ss.param.aic-cloud-region' value='`$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[$bidx].value`' />\n","comments":"","x":2703.8333892822266,"y":634.0238528251648,"z":"524823bf.444cec","wires":[]},{"id":"d7ec681.e2a7f98","type":"outcome","name":"volume_group_id","xml":"<outcome value='volume_group_id'>\n","comments":"","outputs":1,"x":2363.8333282470703,"y":548.7381286621094,"z":"524823bf.444cec","wires":[["c6b85884.e5cba8"]]},{"id":"c6b85884.e5cba8","type":"set","name":"set ss.param.volume-group-id","xml":"<set>\n<parameter name='ss.param.volume-group-id' value='`$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[$bidx].value`' />\n","comments":"","x":2702.119083404541,"y":549.3095870018005,"z":"524823bf.444cec","wires":[]},{"id":"4528a71c.ca39f8","type":"save","name":"update vf-module","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vf-module\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \n\t\t\tAND vf-module.vf-module-id = $ss.param.vf-module-id \" >\n<parameter name=\"vf-module-name\" value='`$ss.param.vf-module-name`' />\n","comments":"","outputs":1,"x":981.8572845458984,"y":2148.012198448181,"z":"524823bf.444cec","wires":[["7cf30a01.026a34","ec37a491.e44618"]]},{"id":"7cf30a01.026a34","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1175.1072692871094,"y":2147.512143135071,"z":"524823bf.444cec","wires":[["c619e89f.6cf188"]]},{"id":"ec37a491.e44618","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1181.3572807312012,"y":2199.262177467346,"z":"524823bf.444cec","wires":[["e04fb0d2.a0bf9"]]},{"id":"26a18098.8d81c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'vf-module not found in AnAI with vf-module-id=' + $ss.param.vf-module-id + $error-message`\" />\n","comments":"","x":1530.9524154663086,"y":2076.690670967102,"z":"524823bf.444cec","wires":[]},{"id":"d0bc7a2.383dc88","type":"save","name":"get vf-module","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vf-module\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \n\t\t\tAND vf-module.vf-module-id = $ss.param.vf-module-id \"\n\tpfx=\"tmp.aai.vfmdoule\" >\n\n","comments":"","outputs":1,"x":973.5359230041504,"y":1986.4048528671265,"z":"524823bf.444cec","wires":[["f8a843ae.23a5c","eb32b803.fa0cf8"]]},{"id":"f8a843ae.23a5c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1162.7859077453613,"y":1985.904797554016,"z":"524823bf.444cec","wires":[["3d49968c.f77cfa"]]},{"id":"eb32b803.fa0cf8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1170.4643898010254,"y":2041.9404888153076,"z":"524823bf.444cec","wires":[["807c12ce.22288"]]},{"id":"c619e89f.6cf188","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1372.5358352661133,"y":2147.583667755127,"z":"524823bf.444cec","wires":[["c7f50a99.6ffd98","1b9d1e89.003831"]]},{"id":"e04fb0d2.a0bf9","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1375.393051147461,"y":2198.440809249878,"z":"524823bf.444cec","wires":[["fa94ecab.4b59d","1b9d1e89.003831"]]},{"id":"b79e1c93.6b219","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":4276.476451873779,"y":1930.2503232955933,"z":"524823bf.444cec","wires":[]},{"id":"163bae21.4dd752","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4467.369213104248,"y":2075.393250465393,"z":"524823bf.444cec","wires":[["fd8ce575.139988"]]},{"id":"1b9d1e89.003831","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3967.6549110412598,"y":1886.6432676315308,"z":"524823bf.444cec","wires":[["b79e1c93.6b219","d8dc0828.27b258","1947dd20.28f4b3"]]},{"id":"d93202e2.0fb2a","type":"save","name":"Rollback vf-module update","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vf-module\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \n\t\t\tAND vf-module.vf-module-id = $ss.param.vf-module-id \" >\n<parameter name=\"vf-module-name\" value='`$tmp.aai.vfmdoule.vf-module-name`' />","comments":"","outputs":1,"x":4202.976722717285,"y":2256.4644689559937,"z":"524823bf.444cec","wires":[["378f6efa.cf0dd2","959b086d.ff1888","b79c0cb4.6860d"]]},{"id":"378f6efa.cf0dd2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4441.226707458496,"y":2255.9644136428833,"z":"524823bf.444cec","wires":[["4c58f3ba.8bcf5c"]]},{"id":"959b086d.ff1888","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4449.476718902588,"y":2298.7144479751587,"z":"524823bf.444cec","wires":[["527c4ac6.c65b64"]]},{"id":"b79c0cb4.6860d","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4446.297966003418,"y":2341.9760179519653,"z":"524823bf.444cec","wires":[["9fd22994.fcad48"]]},{"id":"c5c33794.35f548","type":"outcome","name":"vnfc-name","xml":"<outcome value='vnfc-name'>","comments":"","outputs":1,"x":2341.8809967041016,"y":678.5475583076477,"z":"524823bf.444cec","wires":[["759136d1.1b2388"]]},{"id":"759136d1.1b2388","type":"set","name":"set ss.param.vnfc-name, index","xml":"<set>\n<parameter name='ss.param.vnfc-name' value='`$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[$bidx].value`' />\n<parameter name='ss.param.vnfc-name-index' value='`$bidx`' />","comments":"","x":2707.988224029541,"y":679.2976312637329,"z":"524823bf.444cec","wires":[]},{"id":"a11b6025.b2981","type":"comment","name":"vf-module params","info":"","comments":"","x":1975.5475387573242,"y":535.8332872390747,"z":"524823bf.444cec","wires":[]},{"id":"5821f51e.eae88c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to get vf-module in AnAI with vf-module-id = ' + $ss.param.vf-module-id + $error-message`\" />\n","comments":"","x":1531.083396911621,"y":2021.9049043655396,"z":"524823bf.444cec","wires":[]},{"id":"3d49968c.f77cfa","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1334.750156402588,"y":1986.4049615859985,"z":"524823bf.444cec","wires":[["5821f51e.eae88c","1b9d1e89.003831"]]},{"id":"807c12ce.22288","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1335.0001373291016,"y":2041.9049406051636,"z":"524823bf.444cec","wires":[["26a18098.8d81c","1b9d1e89.003831"]]},{"id":"35210e10.03cab2","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":4646.119152069092,"y":1975.5003204345703,"z":"524823bf.444cec","wires":[]},{"id":"ebe7aa73.43f148","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":4648.619152069092,"y":2026.750322341919,"z":"524823bf.444cec","wires":[]},{"id":"fd8ce575.139988","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\" Rollback of generic-vnf update completed. \" />\n","comments":"","x":4651.119152069092,"y":2075.7503204345703,"z":"524823bf.444cec","wires":[]},{"id":"c7f50a99.6ffd98","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to update vf-module-name with vf-module-id = ' + $ss.param.vf-module-id + ' in AnAI; ' + $error-message`\" />\n","comments":"","x":1565.4167709350586,"y":2172.9049520492554,"z":"524823bf.444cec","wires":[]},{"id":"fa94ecab.4b59d","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to update vf-module-name with vf-module-id =' + $ss.param.vf-module-id + ' because vf-module is not found in AAI' + $error-message`\" />\n","comments":"","x":1566.6667709350586,"y":2223.654953956604,"z":"524823bf.444cec","wires":[]},{"id":"61271b65.0fcb84","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to update volume-group with volume-group-id =' + $ss.param.volume-group-id + ' and volume-group-name = ' + $ss.param.volume-group-name + ' in AnAI.' + $error-message`\" />\n","comments":"","x":1580.8571395874023,"y":2585.190529823303,"z":"524823bf.444cec","wires":[]},{"id":"4c58f3ba.8bcf5c","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`\" />\n","comments":"","x":4622.65518951416,"y":2255.428822517395,"z":"524823bf.444cec","wires":[]},{"id":"527c4ac6.c65b64","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`\" />\n","comments":"","x":4641.65518951416,"y":2297.928822517395,"z":"524823bf.444cec","wires":[]},{"id":"1947dd20.28f4b3","type":"record","name":"record generic-vnf ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK generic-vnf update\"/>","comments":"","outputs":1,"x":4230.619152069092,"y":1885.7503213882446,"z":"524823bf.444cec","wires":[[]]},{"id":"790a196b.b2a9a8","type":"record","name":"record vf-module ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK vf-module update\"/>","comments":"","outputs":1,"x":4210.90518951416,"y":2211.9288215637207,"z":"524823bf.444cec","wires":[[]]},{"id":"68496a12.46def4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3966.905158996582,"y":2212.178795814514,"z":"524823bf.444cec","wires":[["790a196b.b2a9a8","d93202e2.0fb2a"]]},{"id":"9fd22994.fcad48","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Rollback of vf-module update completed.'`\" />\n","comments":"","x":4629.405197143555,"y":2341.4288206100464,"z":"524823bf.444cec","wires":[]},{"id":"d504c338.7ef0e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4238.261779785156,"y":2615.071481704712,"z":"524823bf.444cec","wires":[["a059cb72.0aa358"]]},{"id":"f7be2b79.5d1b68","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4246.511791229248,"y":2657.8215160369873,"z":"524823bf.444cec","wires":[["105e4136.4e207f"]]},{"id":"b241f6de.c37db8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4243.333038330078,"y":2701.083086013794,"z":"524823bf.444cec","wires":[["f8215e4c.025ab"]]},{"id":"a059cb72.0aa358","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":4419.69026184082,"y":2614.5358905792236,"z":"524823bf.444cec","wires":[]},{"id":"105e4136.4e207f","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`\" />\n","comments":"","x":4438.69026184082,"y":2658.0358905792236,"z":"524823bf.444cec","wires":[]},{"id":"b86a2961.cc9a68","type":"record","name":"record volume-group ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK volume-group update\"/>","comments":"","outputs":1,"x":4069.9402618408203,"y":2571.0358896255493,"z":"524823bf.444cec","wires":[[]]},{"id":"c842523d.27da4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3814.940231323242,"y":2571.285863876343,"z":"524823bf.444cec","wires":[["b86a2961.cc9a68","92f6b5db.1f8b58"]]},{"id":"f8215e4c.025ab","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Rollback of volume_group completed.'`\" />\n","comments":"","x":4426.440269470215,"y":2701.535888671875,"z":"524823bf.444cec","wires":[]},{"id":"872b45b0.7d3948","type":"save","name":"save VNFC","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vnfc\"\n\t\tkey=\"vnfc.vnfc-name = $ss.param.vnfc-name\" >\n<parameter name=\"nfc-naming-code\" value='`$ss.param.nfc-naming-code`' />\n<parameter name=\"nfc-function\" value='`$ss.param.nfc-function`' />\n<parameter name=\"model-customization-id\" value='`$ss.param.vnfc-model-customization-uuid`' />\n<parameter name=\"model-invariant-id\" value='`$ss.param.vnfc-model-invariant-uuid`' />\n<parameter name=\"model-version-id\" value='`$ss.param.vnfc-model-version`' />\n","comments":"","outputs":1,"x":949.2857971191406,"y":2879.143021583557,"z":"524823bf.444cec","wires":[["d474379e.608228","14b0a052.c63ca"]]},{"id":"d474379e.608228","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1138.2857971191406,"y":2879.143021583557,"z":"524823bf.444cec","wires":[["f42149cf.bcff08"]]},{"id":"f42149cf.bcff08","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1341.035789489746,"y":2879.1429948806763,"z":"524823bf.444cec","wires":[["90a333de.8b53","f0b670eb.db949"]]},{"id":"90a333de.8b53","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create vnfc with vnfc-name =' + $ss.param.vnfc-name + ' in AnAI.' + $error-message`\" />\n","comments":"","x":1534.2144393920898,"y":2879.4766216278076,"z":"524823bf.444cec","wires":[]},{"id":"d83375b.f0da588","type":"save","name":"delete vnfc","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vnfc\"\n\t\tkey=\"vnfc.vnfc-name = $ss.param.vnfc-name\" >","comments":"","outputs":1,"x":3862.1192207336426,"y":2918.4880266189575,"z":"524823bf.444cec","wires":[["4731b279.0d21ac","9d21d445.fe7808","12b95e7d.07f562"]]},{"id":"4731b279.0d21ac","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4069.190586090088,"y":2918.9637632369995,"z":"524823bf.444cec","wires":[["6f3f7af.7237684"]]},{"id":"9d21d445.fe7808","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4077.4405975341797,"y":2961.713797569275,"z":"524823bf.444cec","wires":[["84fa174c.d17908"]]},{"id":"12b95e7d.07f562","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4074.2618446350098,"y":3004.9753675460815,"z":"524823bf.444cec","wires":[["f36868cd.8cf688"]]},{"id":"c0b00367.c6803","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":4506.619068145752,"y":2918.4281721115112,"z":"524823bf.444cec","wires":[]},{"id":"84fa174c.d17908","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`\" />\n","comments":"","x":4269.619068145752,"y":2961.9281721115112,"z":"524823bf.444cec","wires":[]},{"id":"558b3ae5.bdc0f4","type":"record","name":"record vnfc ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK vnfc save\"/>","comments":"","outputs":1,"x":3899.869068145752,"y":2874.928171157837,"z":"524823bf.444cec","wires":[[]]},{"id":"d2661c01.62072","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3656.8690185546875,"y":2874.6067848205566,"z":"524823bf.444cec","wires":[["558b3ae5.bdc0f4","d83375b.f0da588"]]},{"id":"f36868cd.8cf688","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`\" />\n","comments":"","x":4257.3690757751465,"y":3005.4281702041626,"z":"524823bf.444cec","wires":[]},{"id":"19a083da.aa484c","type":"save","name":"save connection-point","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"cp\"\n\t\tkey=\"cp.cp-instance-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id \n\t\tAND vnfc.vnfc.vnfc-name = $ss.param.vnfc-name\" >\n<parameter name=\"cp-instance-id\" \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`' />","comments":"","outputs":1,"x":1294.9644012451172,"y":3066.142888069153,"z":"524823bf.444cec","wires":[["ba43fde.d1179","ba2f8d9c.c3ea3","21e0cf03.d0f5b"]]},{"id":"ba43fde.d1179","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1515.9644012451172,"y":3066.142888069153,"z":"524823bf.444cec","wires":[["30deee8e.c11bb2"]]},{"id":"30deee8e.c11bb2","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1709.7143936157227,"y":3066.142861366272,"z":"524823bf.444cec","wires":[["d6e385ac.f43f38","4243205b.1fc5d"]]},{"id":"d6e385ac.f43f38","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create connection-point with cp-instance-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id + ' in AnAI.' + $error-message`\" />\n","comments":"","x":1893.8930435180664,"y":3066.4764881134033,"z":"524823bf.444cec","wires":[]},{"id":"e15ca48a.fe9e28","type":"for","name":"for i in vnfc-network-data_length","xml":"<for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\n","comments":"","outputs":1,"x":1013.6786193847656,"y":3065.6428442001343,"z":"524823bf.444cec","wires":[["19a083da.aa484c"]]},{"id":"ea0e3bc6.de0fb8","type":"save","name":"save vlan-tag","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vlan-tag\"\n\t\tkey=\"vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid\" >\n<parameter name=\"vlan-tag-id\" \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid`' />\n<parameter name=\"vlan-tag-role\" \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-description`' />\n<parameter name=\"vlan-id-outer\" \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-id`' />\n","comments":"","outputs":1,"x":1947.940528869629,"y":3690.55961227417,"z":"524823bf.444cec","wires":[["7079df0f.a0f18","b430e655.457aa8","acbf27a6.bac9b8"]]},{"id":"7079df0f.a0f18","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2124.940528869629,"y":3690.55961227417,"z":"524823bf.444cec","wires":[["7f567c4d.595d24"]]},{"id":"7f567c4d.595d24","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2316.6905212402344,"y":3690.559585571289,"z":"524823bf.444cec","wires":[["ca40aa94.5b7fd8","c087b826.318918"]]},{"id":"ca40aa94.5b7fd8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`\" />\n","comments":"","x":2496.869171142578,"y":3690.8932123184204,"z":"524823bf.444cec","wires":[]},{"id":"fb311ba3.6fdd18","type":"save","name":"save l-interface","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"l-interface\"\n\t\tkey=\"l-interface.interface-name = $ss.param.oam-interface-name\n\t\tAND generic-vnf.vnf-id = $ss.param.vnf-id\" >\n<parameter name=\"interface-name\" value='`$ss.param.oam-interface-name`' />\n<parameter name=\"interface-role\" value='OAM' />\n","comments":"","outputs":1,"x":1886.4762649536133,"y":4150.880030632019,"z":"524823bf.444cec","wires":[["cf0a1ab8.5dde08","537cfe96.73d"]]},{"id":"cf0a1ab8.5dde08","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2059.4762649536133,"y":4150.880030632019,"z":"524823bf.444cec","wires":[["265db49f.0bdbdc"]]},{"id":"265db49f.0bdbdc","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2229.2262573242188,"y":4150.880003929138,"z":"524823bf.444cec","wires":[["88fd766c.d60498","c087b826.318918"]]},{"id":"88fd766c.d60498","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create l-interface with interface-name = ' + $ss.param.oam-interface-name + ' in AnAI.' + $error-message`\" />\n","comments":"","x":2413.4049072265625,"y":4151.2136306762695,"z":"524823bf.444cec","wires":[]},{"id":"9371f87b.34edd8","type":"for","name":"for j in in vlan-data_length","xml":"<for silentFailure='true' index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\n","comments":"","outputs":1,"x":1725.9047622680664,"y":3690.3097171783447,"z":"524823bf.444cec","wires":[["ea0e3bc6.de0fb8"]]},{"id":"ba2f8d9c.c3ea3","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1524.4286422729492,"y":3111.6428871154785,"z":"524823bf.444cec","wires":[["30deee8e.c11bb2"]]},{"id":"b7fbf5da.c59718","type":"save","name":"delete vlan-tag","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vlan-tag\"\n\t\tkey=\"vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid\" >","comments":"","outputs":1,"x":4323.833641052246,"y":3584.2615280151367,"z":"524823bf.444cec","wires":[["21d8e065.c3b9","ab11741e.356b78","1df29f5f.796c61"]]},{"id":"21d8e065.c3b9","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4530.905006408691,"y":3584.7372646331787,"z":"524823bf.444cec","wires":[["1519f6cb.0425c9"]]},{"id":"ab11741e.356b78","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4539.155017852783,"y":3627.487298965454,"z":"524823bf.444cec","wires":[["44223ef3.49bf1"]]},{"id":"1df29f5f.796c61","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4535.976264953613,"y":3670.7488689422607,"z":"524823bf.444cec","wires":[["a97df94c.ff3808"]]},{"id":"4925b3ba.4a379c","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":4969.000381469727,"y":3583.535050868988,"z":"524823bf.444cec","wires":[]},{"id":"44223ef3.49bf1","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`\" />\n","comments":"","x":4731.3334884643555,"y":3627.7016735076904,"z":"524823bf.444cec","wires":[]},{"id":"53e43f6f.4b29f","type":"record","name":"record vlan-tag ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK vlan-tag save\"/>","comments":"","outputs":1,"x":3784.2981719970703,"y":3534.9872789382935,"z":"524823bf.444cec","wires":[[]]},{"id":"cad32085.7b76b","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3522.298141479492,"y":3535.237253189087,"z":"524823bf.444cec","wires":[["53e43f6f.4b29f","4b828712.b29288"]]},{"id":"a97df94c.ff3808","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`\" />\n","comments":"","x":4719.08349609375,"y":3671.201671600342,"z":"524823bf.444cec","wires":[]},{"id":"32ee1d06.53a262","type":"comment","name":"Deleting vnfc will delete connection-point (cp)","info":"","comments":"","x":1818.9524154663086,"y":3013.190418243408,"z":"524823bf.444cec","wires":[]},{"id":"b430e655.457aa8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2133.2619705200195,"y":3736.8809881210327,"z":"524823bf.444cec","wires":[["7f567c4d.595d24"]]},{"id":"4b828712.b29288","type":"for","name":"for i in vnfc-network-data_len","xml":"<for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\n","comments":"","outputs":1,"x":3789.4053497314453,"y":3584.8329906463623,"z":"524823bf.444cec","wires":[["8d8ee1c3.c380a"]]},{"id":"8d8ee1c3.c380a","type":"for","name":"for j in in vlan-data_length","xml":"<for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\n","comments":"","outputs":1,"x":4085.833938598633,"y":3584.6901683807373,"z":"524823bf.444cec","wires":[["b7fbf5da.c59718"]]},{"id":"52f9861c.9d09a8","type":"save","name":"save cp relationship","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vlan-tag:relationship-list\"\n\t\tkey=\"vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid\" >\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cp.cp-instance-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`\" />","comments":"","outputs":1,"x":2314.547534942627,"y":3793.4519262313843,"z":"524823bf.444cec","wires":[["a7ef0ff8.c0c23","c4d99720.322808"]]},{"id":"a7ef0ff8.c0c23","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2523.833309173584,"y":3793.0233068466187,"z":"524823bf.444cec","wires":[["6efb0bb3.3857c4"]]},{"id":"6efb0bb3.3857c4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2715.868850708008,"y":3793.0232734680176,"z":"524823bf.444cec","wires":[["14972529.537afb","c087b826.318918"]]},{"id":"14972529.537afb","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create cp relationship for vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`\" />\n","comments":"","x":2896.0475006103516,"y":3793.356900215149,"z":"524823bf.444cec","wires":[]},{"id":"21e0cf03.d0f5b","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1512.9287109375,"y":3690.4051036834717,"z":"524823bf.444cec","wires":[["9371f87b.34edd8"]]},{"id":"781d93b4.9320ec","type":"outcome","name":"oam-interface-name","xml":"<outcome value='oam-interface-name'>","comments":"","outputs":1,"x":2372.8809814453125,"y":721.3570599555969,"z":"524823bf.444cec","wires":[["c54a6acc.0c9d68"]]},{"id":"c54a6acc.0c9d68","type":"set","name":"set ss.param.oam-interface-name, index","xml":"<set>\n<parameter name='ss.param.oam-interface-name' value='`$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[$bidx].value`' />\n<parameter name='ss.param.oam-interface-name-index' value='`$bidx`' />","comments":"","x":2735.988208770752,"y":722.1071329116821,"z":"524823bf.444cec","wires":[]},{"id":"c3d95611.5b1c48","type":"outcome","name":"lo0-interface-name","xml":"<outcome value='=”lo0-interface-name'>","comments":"","outputs":1,"x":2369.595184326172,"y":764.0714335441589,"z":"524823bf.444cec","wires":[["b7779297.40fcb"]]},{"id":"b7779297.40fcb","type":"set","name":"set ss.param.lo0-interface-name, index","xml":"<set>\n<parameter name='ss.param.lo0-interface-name' value='`$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[$bidx].value`' />\n<parameter name='ss.param.lo0-interface-name-index' value='`$bidx`' />","comments":"","x":2730.7024116516113,"y":764.8215065002441,"z":"524823bf.444cec","wires":[]},{"id":"8a903d74.84637","type":"comment","name":"ROLLBACK STARET HERE","info":"","comments":"","x":3999.1906242370605,"y":1831.7026376724243,"z":"524823bf.444cec","wires":[]},{"id":"e78b7b3c.7d8ae8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3785.2620849609375,"y":2095.4528408050537,"z":"524823bf.444cec","wires":[["68496a12.46def4","1b9d1e89.003831"]]},{"id":"f0b670eb.db949","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3636.6907958984375,"y":2367.2381229400635,"z":"524823bf.444cec","wires":[["e78b7b3c.7d8ae8","c842523d.27da4"]]},{"id":"4243205b.1fc5d","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3487.047676086426,"y":2724.38090133667,"z":"524823bf.444cec","wires":[["f0b670eb.db949","d2661c01.62072"]]},{"id":"c087b826.318918","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3345.262008666992,"y":3119.976263999939,"z":"524823bf.444cec","wires":[["4243205b.1fc5d","cad32085.7b76b"]]},{"id":"acbf27a6.bac9b8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2130.2616844177246,"y":3793.594979286194,"z":"524823bf.444cec","wires":[["52f9861c.9d09a8"]]},{"id":"a44e310.85cd3d","type":"switchNode","name":"switch: ss.param.oam-interface-name != NULL","xml":"<switch test=\"`$ss.param.oam-interface-name != ''`\">\n","comments":"","outputs":1,"x":1233.8334655761719,"y":4150.451999664307,"z":"524823bf.444cec","wires":[["4696b213.43543c"]]},{"id":"4696b213.43543c","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1496.8334884643555,"y":4150.951998233795,"z":"524823bf.444cec","wires":[["fb9d27b2.880a28"]]},{"id":"9191f25a.3480f","type":"save","name":"save l-interface","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"l-interface\"\n\t\tkey=\"l-interface.interface-name = $ss.param.lo0-interface-name\n\t\tAND generic-vnf.vnf-id = $ss.param.vnf-id\" >\n<parameter name=\"interface-name\" value='`$ss.param.lo0-interface-name`' />\n<parameter name=\"interface-role\" value='loopback' />\n","comments":"","outputs":1,"x":1884.404899597168,"y":4764.737473487854,"z":"524823bf.444cec","wires":[["b618f33a.81858","5fa42c58.b789f4"]]},{"id":"b618f33a.81858","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2057.404899597168,"y":4764.737473487854,"z":"524823bf.444cec","wires":[["d7f91963.f46578"]]},{"id":"d7f91963.f46578","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2227.1548919677734,"y":4764.737446784973,"z":"524823bf.444cec","wires":[["40ed86be.541ab8","c39668c3.81de28"]]},{"id":"40ed86be.541ab8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' in AnAI.' + $error-message`\" />\n","comments":"","x":2411.333541870117,"y":4765.0710735321045,"z":"524823bf.444cec","wires":[]},{"id":"4532ec42.04f514","type":"switchNode","name":"switch: ss.param.lo0-interface-name != NULL","xml":"<switch test=\"`$ss.param.lo0-interface-name != ''`\">\n","comments":"","outputs":1,"x":1229.1905517578125,"y":4764.737859725952,"z":"524823bf.444cec","wires":[["488f357e.f4e83c"]]},{"id":"488f357e.f4e83c","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1492.190574645996,"y":4765.237858295441,"z":"524823bf.444cec","wires":[["c6221893.20a808"]]},{"id":"905c2a18.aaad68","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":946.5476760864258,"y":4150.880551338196,"z":"524823bf.444cec","wires":[["a44e310.85cd3d","4532ec42.04f514"]]},{"id":"9087d09f.f80e8","type":"outcome","name":"ipv4-oam-address","xml":"<outcome value='ipv4-oam-address'>","comments":"","outputs":1,"x":2365.357177734375,"y":808.2619090080261,"z":"524823bf.444cec","wires":[["e3a601c8.eed52"]]},{"id":"e3a601c8.eed52","type":"set","name":"set ss.param.ipv4-oam-address, index","xml":"<set>\n<parameter name='ss.param.ipv4-oam-address' value='`$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[$bidx].value`' />\n<parameter name='ss.param.ipv4-oam-address-index' value='`$bidx`' />","comments":"","x":2729.321502685547,"y":809.0119571685791,"z":"524823bf.444cec","wires":[]},{"id":"f372a446.1f0d48","type":"outcome","name":"loopback0_ipv4_address","xml":"<outcome value='loopback0_ipv4_address'>","comments":"","outputs":1,"x":2387.7857055664062,"y":892.5476336479187,"z":"524823bf.444cec","wires":[["8cdb4d06.8f6ee"]]},{"id":"8cdb4d06.8f6ee","type":"set","name":"set ss.param.loopback0-ipv4-address, index","xml":"<set>\n<parameter name='ss.param.loopback0-ipv4-address' value='`$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[$bidx].value`' />\n<parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />","comments":"","x":2749.035873413086,"y":892.1547694206238,"z":"524823bf.444cec","wires":[]},{"id":"8292dc55.104db","type":"save","name":"delete l-interface (oam)","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"l-interface\"\n\t\tkey=\"l-interface.interface-name = $ss.param.oam-interface-name\n\t\tAND generic-vnf.vnf-id = $ss.param.vnf-id\" >","comments":"","outputs":1,"x":4143.5004806518555,"y":4138.166565895081,"z":"524823bf.444cec","wires":[["4ee35b57.1d8954","fb779a6a.86d458","760ec07a.b9756"]]},{"id":"4ee35b57.1d8954","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4351.571846008301,"y":4138.642302513123,"z":"524823bf.444cec","wires":[["4e32d181.12585"]]},{"id":"fb779a6a.86d458","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4359.821857452393,"y":4181.392336845398,"z":"524823bf.444cec","wires":[["4081b0d2.41d8b"]]},{"id":"760ec07a.b9756","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4356.643104553223,"y":4224.653906822205,"z":"524823bf.444cec","wires":[["b5844698.8cfbd8"]]},{"id":"23d11557.c980ea","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":4794.667510986328,"y":4139.106935501099,"z":"524823bf.444cec","wires":[]},{"id":"4081b0d2.41d8b","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`\" />\n","comments":"","x":4552.000328063965,"y":4181.606711387634,"z":"524823bf.444cec","wires":[]},{"id":"e0669582.917ba8","type":"record","name":"record OAM l-interface ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK l-interface (oam) save\"/>","comments":"","outputs":1,"x":3660.250259399414,"y":4089.749614715576,"z":"524823bf.444cec","wires":[[]]},{"id":"268c5b00.cd2586","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3400.2502098083496,"y":4089.428228378296,"z":"524823bf.444cec","wires":[["e0669582.917ba8","7ad9d5f2.de34ec"]]},{"id":"b5844698.8cfbd8","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`\" />\n","comments":"","x":4539.750335693359,"y":4225.106709480286,"z":"524823bf.444cec","wires":[]},{"id":"7ad9d5f2.de34ec","type":"switchNode","name":"switch: ss.param.oam-interface-name != NULL","xml":"<switch test=\"`$ss.param.oam-interface-name != ''`\">\n","comments":"","outputs":1,"x":3695.500473022461,"y":4139.023732185364,"z":"524823bf.444cec","wires":[["d1ede815.bf51c8"]]},{"id":"d1ede815.bf51c8","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":3954.357650756836,"y":4138.023732185364,"z":"524823bf.444cec","wires":[["8292dc55.104db"]]},{"id":"e8db0b24.4707e8","type":"save","name":"delete l-interface (oam)","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"l-interface\"\n\t\tkey=\"l-interface.interface-name = $ss.param.lo0-interface-name\n\t\tAND generic-vnf.vnf-id = $ss.param.vnf-id\" >","comments":"","outputs":1,"x":3979.9284286499023,"y":4587.595339775085,"z":"524823bf.444cec","wires":[["752a9cc6.53c1f4","e93af0b5.58f14","d093ecc9.8988"]]},{"id":"752a9cc6.53c1f4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4187.999794006348,"y":4588.071076393127,"z":"524823bf.444cec","wires":[["6180c19b.c1f46"]]},{"id":"e93af0b5.58f14","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4196.249805450439,"y":4630.821110725403,"z":"524823bf.444cec","wires":[["6c39721b.a10a4c"]]},{"id":"d093ecc9.8988","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4193.0710525512695,"y":4674.0826807022095,"z":"524823bf.444cec","wires":[["ad07600c.db036"]]},{"id":"ebc723f7.e167b","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":4642.761421203613,"y":4586.202165603638,"z":"524823bf.444cec","wires":[]},{"id":"6c39721b.a10a4c","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`\" />\n","comments":"","x":4388.428276062012,"y":4631.035485267639,"z":"524823bf.444cec","wires":[]},{"id":"4aa0fa27.4dc074","type":"record","name":"record LOOPBACK l-interface ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK l-interface (oam) save\"/>","comments":"","outputs":1,"x":3520.678207397461,"y":4539.178388595581,"z":"524823bf.444cec","wires":[[]]},{"id":"eb0e7609.af3e18","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3236.6781578063965,"y":4538.857002258301,"z":"524823bf.444cec","wires":[["4aa0fa27.4dc074","74f10a9c.8b9554"]]},{"id":"ad07600c.db036","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' completed.'`\" />\n","comments":"","x":4376.178283691406,"y":4674.5354833602905,"z":"524823bf.444cec","wires":[]},{"id":"53c0775c.9c4738","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":3790.785598754883,"y":4587.452506065369,"z":"524823bf.444cec","wires":[["e8db0b24.4707e8"]]},{"id":"74f10a9c.8b9554","type":"switchNode","name":"switch: ss.param.lo0-interface-name != NULL","xml":"<switch test=\"`$ss.param.lo0-interface-name != ''`\">\n","comments":"","outputs":1,"x":3529.9282608032227,"y":4588.024054527283,"z":"524823bf.444cec","wires":[["53c0775c.9c4738"]]},{"id":"c39668c3.81de28","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3199.785820007324,"y":3929.023866057396,"z":"524823bf.444cec","wires":[["268c5b00.cd2586","c087b826.318918"]]},{"id":"537cfe96.73d","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2067.5476303100586,"y":4193.166355133057,"z":"524823bf.444cec","wires":[["265db49f.0bdbdc"]]},{"id":"5fa42c58.b789f4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2064.404800415039,"y":4807.308897018433,"z":"524823bf.444cec","wires":[["d7f91963.f46578"]]},{"id":"591f2f5b.ea529","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3028.3567276000977,"y":4341.88106918335,"z":"524823bf.444cec","wires":[["eb0e7609.af3e18","c39668c3.81de28"]]},{"id":"5551bd45.4b1a94","type":"outcome","name":"ipv4-oam-address-prefix","xml":"<outcome value='ipv4-oam-address-prefix'>","comments":"","outputs":1,"x":2385.357177734375,"y":850.2619738578796,"z":"524823bf.444cec","wires":[["ee76be68.767bd"]]},{"id":"ee76be68.767bd","type":"set","name":"set ipv4-oam-address-prefix, index","xml":"<set>\n<parameter name='ss.param.ipv4-oam-address-prefix' value='`$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[$bidx].value`' />\n<parameter name='ss.param.ipv4-oam-address-prefix-index' value='`$bidx`' />","comments":"","x":2718.035747528076,"y":850.4405636787415,"z":"524823bf.444cec","wires":[]},{"id":"fb9d27b2.880a28","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1656.6904678344727,"y":4150.4516706466675,"z":"524823bf.444cec","wires":[["fb311ba3.6fdd18","d20c93d7.37be7"]]},{"id":"c6221893.20a808","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1653.8333892822266,"y":4765.308897018433,"z":"524823bf.444cec","wires":[["9191f25a.3480f","92924794.ffdbb8"]]},{"id":"d20c93d7.37be7","type":"save","name":"save l3-interface-ipv4-address","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"l3-interface-ipv4-address-list\"\n\t\tkey=\"l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address \n\t\tAND generic-vnf.vnf-id = $ss.param.vnf-id \n\t\tAND l-interface.interface-name = $ss.param.oam-interface-name\" >\n<parameter name=\"l3-interface-ipv4-address\" value='`$ss.param.ipv4-oam-address`' />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value='`$ss.param.ipv4-oam-address-prefix`' />\n","comments":"","outputs":1,"x":1933.261962890625,"y":4296.166302680969,"z":"524823bf.444cec","wires":[["5cc3381b.a426e8","a9acc860.4b9258"]]},{"id":"5cc3381b.a426e8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2154.261962890625,"y":4296.166302680969,"z":"524823bf.444cec","wires":[["e981fcb3.70b4c"]]},{"id":"e981fcb3.70b4c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2324.0119552612305,"y":4296.166275978088,"z":"524823bf.444cec","wires":[["3f9ef2d6.f6a9de","c39668c3.81de28"]]},{"id":"3f9ef2d6.f6a9de","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address + ' in AnAI.' + $error-message`\" />\n","comments":"","x":2508.190605163574,"y":4296.49990272522,"z":"524823bf.444cec","wires":[]},{"id":"a9acc860.4b9258","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2162.3333282470703,"y":4338.452627182007,"z":"524823bf.444cec","wires":[["e981fcb3.70b4c"]]},{"id":"92924794.ffdbb8","type":"save","name":"save l3-interface-ipv4-address","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"l3-interface-ipv4-address-list\"\n\t\tkey=\"l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address \n\t\tAND generic-vnf.vnf-id = $ss.param.vnf-id \n\t\tAND l-interface.interface-name = $ss.param.lo0-interface-name\" >\n<parameter name=\"l3-interface-ipv4-address\" value='`$ss.param.loopback0-ipv4-address`' />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value='32' />\n","comments":"","outputs":1,"x":1928.2619934082031,"y":4881.880214691162,"z":"524823bf.444cec","wires":[["9595e40.d4f962","4efd2815.5501c8"]]},{"id":"9595e40.d4f962","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2149.261993408203,"y":4881.880214691162,"z":"524823bf.444cec","wires":[["ee3e52e8.f95bd"]]},{"id":"ee3e52e8.f95bd","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2319.0119857788086,"y":4881.880187988281,"z":"524823bf.444cec","wires":[["431ecf47.93f6e","591f2f5b.ea529"]]},{"id":"431ecf47.93f6e","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create l3-interface-ipv4-address-list with l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address + ' in AnAI.' + $error-message`\" />\n","comments":"","x":2503.1906356811523,"y":4882.213814735413,"z":"524823bf.444cec","wires":[]},{"id":"4efd2815.5501c8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2157.3333587646484,"y":4924.1665391922,"z":"524823bf.444cec","wires":[["ee3e52e8.f95bd"]]},{"id":"ea5a344c.75d598","type":"comment","name":"Delete l-interface will delete l3-interface-ipv4-address-list","info":"","comments":"","x":3392.6430702209473,"y":4483.30971288681,"z":"524823bf.444cec","wires":[]},{"id":"803902c7.c58d9","type":"execute","name":"param[].name startsWith 'sriov'","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$bidx].name`\" />\n\t<parameter name=\"target\" value=\"sriov\"/>\n","comments":"","outputs":1,"x":1640.6903991699219,"y":352.5476703643799,"z":"524823bf.444cec","wires":[["173106ff.976bf9","6167d70e.354208"]]},{"id":"173106ff.976bf9","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1850.9403991699219,"y":352.7976703643799,"z":"524823bf.444cec","wires":[["69684698.ae9ab8"]]},{"id":"69684698.ae9ab8","type":"execute","name":"param[].name endsWith 'sriov'","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='endsWith' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$bidx].name`\" />\n\t<parameter name=\"target\" value=\"_net_id\"/>\n","comments":"","outputs":1,"x":2067.8332290649414,"y":352.5476760864258,"z":"524823bf.444cec","wires":[["27b94fda.5dad2"]]},{"id":"27b94fda.5dad2","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2277.8330993652344,"y":352.1190814971924,"z":"524823bf.444cec","wires":[["a9486959.35c198"]]},{"id":"27b671b4.a901de","type":"set","name":"set ss.network[$nidx].netid","xml":"<set>\n<parameter name='ss.network[$nidx].netid' value='`$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[$bidx].value`' />\n","comments":"","x":2629.2614345550537,"y":351.54762840270996,"z":"524823bf.444cec","wires":[]},{"id":"1f3f85d8.d080fa","type":"set","name":"nidx++","xml":"<set>\n<parameter name='nidx' value='`$nidx + 1`' />\n","comments":"","x":2569.261543273926,"y":394.97625160217285,"z":"524823bf.444cec","wires":[]},{"id":"d6b8bc30.9c0d6","type":"set","name":"set nidx = 0","xml":"<set>\n<parameter name='nidx' value='0' />\n","comments":"","x":1237.8330459594727,"y":269.1190414428711,"z":"524823bf.444cec","wires":[]},{"id":"a9486959.35c198","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2416.4047508239746,"y":352.404824256897,"z":"524823bf.444cec","wires":[["27b671b4.a901de","1f3f85d8.d080fa"]]},{"id":"6167d70e.354208","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1852.1191444396973,"y":395.69050216674805,"z":"524823bf.444cec","wires":[["6f687860.211ea8"]]},{"id":"d2b41652.699ac8","type":"for","name":"for n in nidx","xml":"<for silentFailure='true' index='n' start='0' end='`$nidx`' >\n","comments":"","outputs":1,"x":927.8810501098633,"y":5269.262230873108,"z":"524823bf.444cec","wires":[["4084f4d.3d76e0c"]]},{"id":"4084f4d.3d76e0c","type":"save","name":"save l3-network relationships for VNF","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf:relationship-list\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id\" >\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=\"`$ss.network[$n].netid`\" />\n","comments":"","outputs":1,"x":1212.737937927246,"y":5269.261742591858,"z":"524823bf.444cec","wires":[["97cf09b7.20d258","124851a7.c2d48e"]]},{"id":"c4d99720.322808","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2533.071262359619,"y":3838.0714826583862,"z":"524823bf.444cec","wires":[["6efb0bb3.3857c4"]]},{"id":"97cf09b7.20d258","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1488.4523544311523,"y":5269.975975990295,"z":"524823bf.444cec","wires":[["84dd774.9d82c88"]]},{"id":"84dd774.9d82c88","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1685.2023468017578,"y":5269.975949287415,"z":"524823bf.444cec","wires":[["4e43c840.e3f328","c95fb0b.b29785"]]},{"id":"4e43c840.e3f328","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`' Failed to create generic-vnf releationship for l3-network with network-id =' + $ss.network[$n].netid + ' in AnAI.' + $error-message`\" />\n","comments":"","x":1865.3809967041016,"y":5270.309576034546,"z":"524823bf.444cec","wires":[]},{"id":"124851a7.c2d48e","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1497.6903076171875,"y":5315.024151802063,"z":"524823bf.444cec","wires":[["84dd774.9d82c88"]]},{"id":"f0b941df.7614a","type":"save","name":"delete VNF l3-network relationships","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"generic-vnf:relationship-list\" \n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \n\t\tAND related-to = l3-network \n\t\tAND l3-network.network-id = $ss.network[$n].netid\" >","comments":"","outputs":1,"x":3507.9285926818848,"y":5009.071319580078,"z":"524823bf.444cec","wires":[["f6bcd023.b5f25","d121d89d.77d7a8","a2c2b1a8.1a50d"]]},{"id":"f6bcd023.b5f25","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3770.99995803833,"y":5009.54705619812,"z":"524823bf.444cec","wires":[["9b572bdc.d97d98"]]},{"id":"d121d89d.77d7a8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":3779.249969482422,"y":5052.2970905303955,"z":"524823bf.444cec","wires":[["355e9746.577ab8"]]},{"id":"a2c2b1a8.1a50d","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3776.071216583252,"y":5095.558660507202,"z":"524823bf.444cec","wires":[["eb62b74e.1844b8"]]},{"id":"7f822c51.dcbe04","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":4237.428077697754,"y":5008.677770614624,"z":"524823bf.444cec","wires":[]},{"id":"355e9746.577ab8","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`\" />\n","comments":"","x":3971.428440093994,"y":5052.511465072632,"z":"524823bf.444cec","wires":[]},{"id":"3dfa252f.e402ca","type":"record","name":"record VNF l3-network relationship ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK VNF l3-network relationship\"/>","comments":"","outputs":1,"x":3358.821147918701,"y":4961.083094596863,"z":"524823bf.444cec","wires":[[]]},{"id":"4a404c8e.b935a4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3060.8210983276367,"y":4960.7617082595825,"z":"524823bf.444cec","wires":[["3dfa252f.e402ca","7d34ebde.607ad4"]]},{"id":"eb62b74e.1844b8","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`\" />\n","comments":"","x":3959.1784477233887,"y":5096.011463165283,"z":"524823bf.444cec","wires":[]},{"id":"7d34ebde.607ad4","type":"for","name":"for n in nidx","xml":"<for silentFailure='true' index='n' start='0' end='`$nidx`' >\n","comments":"","outputs":1,"x":3251.2141761779785,"y":5009.500240325928,"z":"524823bf.444cec","wires":[["f0b941df.7614a"]]},{"id":"c95fb0b.b29785","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2866.928768157959,"y":4830.928913116455,"z":"524823bf.444cec","wires":[["591f2f5b.ea529","4a404c8e.b935a4"]]},{"id":"c88eb00.8003c5","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1202.7857666015625,"y":2626.642966270447,"z":"524823bf.444cec","wires":[["6e03f96c.285448"]]},{"id":"14b0a052.c63ca","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1149.7857666015625,"y":2923.785788536072,"z":"524823bf.444cec","wires":[["f42149cf.bcff08"]]},{"id":"84bb5d04.c6e3","type":"outcome","name":"aai-vf-module-put","xml":"<outcome value='aai-vf-module-put'>\n","comments":"","outputs":1,"x":2365.0712661743164,"y":935.1666693687439,"z":"524823bf.444cec","wires":[["521b023a.16b08c"]]},{"id":"521b023a.16b08c","type":"set","name":"set ss.param.aai-vf-module-put-index","xml":"<set>\n<parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\n","comments":"","x":2727.214141845703,"y":935.4523749351501,"z":"524823bf.444cec","wires":[]},{"id":"5203406d.42cd1","type":"outcome","name":"unassign","xml":"<outcome value='unassign'>","comments":"","outputs":1,"x":591.6074676513672,"y":788.7139174938202,"z":"524823bf.444cec","wires":[["ecb2a508.4fa918"]]},{"id":"ca96518c.19429","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":1055.2380142211914,"y":268.7618818283081,"z":"524823bf.444cec","wires":[["d6b8bc30.9c0d6","8ea168e1.d7d9a8","a2a64ba5.6c0a88"]]},{"id":"c3b2fc1d.0d2e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2835.999954223633,"y":2882.333122253418,"z":"524823bf.444cec","wires":[["d2661c01.62072","cad32085.7b76b","268c5b00.cd2586","eb0e7609.af3e18","4a404c8e.b935a4"]]},{"id":"2d8e80b8.66067","type":"comment","name":"UNASSIGN","info":"","comments":"","x":3299.3333740234375,"y":2855.3332843780518,"z":"524823bf.444cec","wires":[]},{"id":"ecb2a508.4fa918","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":754.6905822753906,"y":788.2141616344452,"z":"524823bf.444cec","wires":[["c3b2fc1d.0d2e","ca96518c.19429","55b3de05.b841b","67d2253d.a6789c"]]},{"id":"55b3de05.b841b","type":"set","name":"set tmp.return-failure = true","xml":"<set>\n<parameter name='tmp.return-failure' value ='true' />","comments":"","x":1145.6904678344727,"y":788.2142055034637,"z":"524823bf.444cec","wires":[]},{"id":"27427031.c02ca","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4520.332862854004,"y":3093.3334560394287,"z":"524823bf.444cec","wires":[["4fbebd6.db20f44"]]},{"id":"6f3f7af.7237684","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4270.999908447266,"y":2918.3332147598267,"z":"524823bf.444cec","wires":[["c0b00367.c6803","27427031.c02ca"]]},{"id":"4fbebd6.db20f44","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4714.000194549561,"y":3093.3332958221436,"z":"524823bf.444cec","wires":[["693069c5.0a6f48"]]},{"id":"813b2f01.f46d9","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='`$error-message`' />\n","comments":"","x":5089.0003662109375,"y":3144.6665477752686,"z":"524823bf.444cec","wires":[]},{"id":"1519f6cb.0425c9","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4729.999862670898,"y":3584.3331565856934,"z":"524823bf.444cec","wires":[["5df2df73.4b36c","4925b3ba.4a379c"]]},{"id":"5df2df73.4b36c","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4979.332817077637,"y":3759.3333978652954,"z":"524823bf.444cec","wires":[["c228eaf0.05ee98"]]},{"id":"4e32d181.12585","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4576.66650390625,"y":4139,"z":"524823bf.444cec","wires":[["270311d2.2009ae","23d11557.c980ea"]]},{"id":"270311d2.2009ae","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4825.999458312988,"y":4310.000241279602,"z":"524823bf.444cec","wires":[["537970f7.f0c8a"]]},{"id":"537970f7.f0c8a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":5019.666790008545,"y":4310.000081062317,"z":"524823bf.444cec","wires":[["9e506525.9bea18"]]},{"id":"6180c19b.c1f46","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4420,"y":4586.66650390625,"z":"524823bf.444cec","wires":[["a7c752a4.89af7","ebc723f7.e167b"]]},{"id":"a7c752a4.89af7","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4669.332954406738,"y":4761.666745185852,"z":"524823bf.444cec","wires":[["16657ddc.910892"]]},{"id":"16657ddc.910892","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4863.000286102295,"y":4761.666584968567,"z":"524823bf.444cec","wires":[["a60f99dd.e1d058"]]},{"id":"9b572bdc.d97d98","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4006.6665954589844,"y":5008.666387557983,"z":"524823bf.444cec","wires":[["3e6d8e8b.4d7992","7f822c51.dcbe04"]]},{"id":"3e6d8e8b.4d7992","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4255.999549865723,"y":5183.666628837585,"z":"524823bf.444cec","wires":[["5d5390d7.59004"]]},{"id":"5d5390d7.59004","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4449.666881561279,"y":5183.6664686203,"z":"524823bf.444cec","wires":[["ac545209.1b91c"]]},{"id":"67d2253d.a6789c","type":"set","name":"set resource-resolution-data.status = DELETED","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.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \n\tvalue='DELETED' />\n","comments":"","x":1147.0238800048828,"y":1249.8807570934296,"z":"524823bf.444cec","wires":[]},{"id":"6effec82.a00494","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":5186.333526611328,"y":3092.333290576935,"z":"524823bf.444cec","wires":[]},{"id":"693069c5.0a6f48","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4875,"y":3092.66650390625,"z":"524823bf.444cec","wires":[["6effec82.a00494","813b2f01.f46d9"]]},{"id":"c228eaf0.05ee98","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":5173.000148773193,"y":3759.3332376480103,"z":"524823bf.444cec","wires":[["be2631f4.bf852"]]},{"id":"96663bf8.472df8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='`$error-message`' />\n","comments":"","x":5551.66650390625,"y":3810.999755859375,"z":"524823bf.444cec","wires":[]},{"id":"56f2babc.c9cab4","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":5648.999664306641,"y":3758.6664986610413,"z":"524823bf.444cec","wires":[]},{"id":"be2631f4.bf852","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":5337.6661376953125,"y":3758.9997119903564,"z":"524823bf.444cec","wires":[["56f2babc.c9cab4","96663bf8.472df8"]]},{"id":"14bde79e.ff4658","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='`$error-message`' />\n","comments":"","x":5408.3330078125,"y":4362,"z":"524823bf.444cec","wires":[]},{"id":"1934a481.6ef3fb","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":5505.666168212891,"y":4309.666742801666,"z":"524823bf.444cec","wires":[]},{"id":"9e506525.9bea18","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":5194.3326416015625,"y":4309.999956130981,"z":"524823bf.444cec","wires":[["1934a481.6ef3fb","14bde79e.ff4658"]]},{"id":"67da6050.3adcd","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='`$error-message`' />\n","comments":"","x":5246.66650390625,"y":4814,"z":"524823bf.444cec","wires":[]},{"id":"fd099c22.a4e23","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":5343.999664306641,"y":4761.666742801666,"z":"524823bf.444cec","wires":[]},{"id":"a60f99dd.e1d058","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":5032.6661376953125,"y":4761.999956130981,"z":"524823bf.444cec","wires":[["fd099c22.a4e23","67da6050.3adcd"]]},{"id":"fb48d6ab.a66378","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='`$error-message`' />\n","comments":"","x":4840,"y":5235,"z":"524823bf.444cec","wires":[]},{"id":"af217b45.0fe058","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":4937.333160400391,"y":5182.666742801666,"z":"524823bf.444cec","wires":[]},{"id":"ac545209.1b91c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4625.9996337890625,"y":5182.999956130981,"z":"524823bf.444cec","wires":[["af217b45.0fe058","fb48d6ab.a66378"]]},{"id":"eccada42.397178","type":"outcome","name":"nfc-naming-code","xml":"<outcome value='nfc-naming-code'>","comments":"","outputs":1,"x":2362.5714111328125,"y":976.5714206695557,"z":"524823bf.444cec","wires":[["64f27957.98e8c8"]]},{"id":"64f27957.98e8c8","type":"set","name":"set ss.param.vnfc-name, indexnfc-naming-code","xml":"<set>\n<parameter name='ss.param.nfc-naming-code' value='`$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[$bidx].value`' />\n<parameter name='ss.param.nfc-naming-code-index' value='`$bidx`' />","comments":"","x":2759.3928833007812,"y":976.7500352859497,"z":"524823bf.444cec","wires":[]},{"id":"f98a6b07.b3e548","type":"outcome","name":"nfc-function","xml":"<outcome value='nfc-function'>","comments":"","outputs":1,"x":2347.2856941223145,"y":1018.0000076293945,"z":"524823bf.444cec","wires":[["a5021be7.dabd98"]]},{"id":"a5021be7.dabd98","type":"set","name":"set ss.param.nfc-function, index","xml":"<set>\n<parameter name='ss.param.nfc-function' value='`$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[$bidx].value`' />\n<parameter name='ss.param.nfc-function-index' value='`$bidx`' />","comments":"","x":2709.5357246398926,"y":1018.0357933044434,"z":"524823bf.444cec","wires":[]},{"id":"3e646a4f.c19ee6","type":"outcome","name":"vnfc-model-customization-uuid","xml":"<outcome value='vnfc-model-customization-uuid'>","comments":"","outputs":1,"x":2406.714370727539,"y":1058.00004196167,"z":"524823bf.444cec","wires":[["4224c0ac.0d4d7"]]},{"id":"4224c0ac.0d4d7","type":"set","name":"set ss.param.vnfc-model-customization-uuid, index","xml":"<set>\n<parameter name='ss.param.vnfc-model-customization-uuid' value='`$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[$bidx].value`' />\n<parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$bidx`' />","comments":"","x":2766.964401245117,"y":1058.0358276367188,"z":"524823bf.444cec","wires":[]},{"id":"aaaeb0d5.b28f9","type":"outcome","name":"vnfc-model-invariant-uuid","xml":"<outcome value='vnfc-model-invariant-uuid'>","comments":"","outputs":1,"x":2391.428623199463,"y":1099.4286470413208,"z":"524823bf.444cec","wires":[["3b05fbcf.9991d4"]]},{"id":"3b05fbcf.9991d4","type":"set","name":"set ss.param.vnfc-model-invariant-uuid, index","xml":"<set>\n<parameter name='ss.param.vnfc-model-invariant-uuid' value='`$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[$bidx].value`' />\n<parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$bidx`' />","comments":"","x":2750.678653717041,"y":1099.4644327163696,"z":"524823bf.444cec","wires":[]},{"id":"f7d4b22c.59a29","type":"outcome","name":"vnfc-model-version","xml":"<outcome value='vnfc-model-version'>","comments":"","outputs":1,"x":2371.857192993164,"y":1140.8572006225586,"z":"524823bf.444cec","wires":[["8994de63.27821"]]},{"id":"8994de63.27821","type":"set","name":"set ss.param.vnfc-model-version, index","xml":"<set>\n<parameter name='ss.param.vnfc-model-version' value='`$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[$bidx].value`' />\n<parameter name='ss.param.vnfc-model-version-index' value='`$bidx`' />","comments":"","x":2732.107223510742,"y":1140.8929862976074,"z":"524823bf.444cec","wires":[]},{"id":"d2b7e17e.463ca","type":"set","name":"set TEST DATA","xml":"<set>\n<parameter name='vnf-index' value='0' />\n<parameter name='vf-module-index' value='0' />\n<parameter name='ss.capability-name' value='aai-vnf-put' />\n<parameter name='ss.capability-action' value='unassign' />\n<parameter name='service-data.vnfs.vnf[0].vnf-id' value = '7324200933' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vnf-topology.vnf-parameters-data.param[0].name' value = 'vnf_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vnf-topology.vnf-parameters-data.param[0].value' value = '7324200933' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vnf-topology.sdnc-generated-cloud-resources' value='true' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-topology.sdnc-generated-cloud-resources' value = 'true' />\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.param_length' value = '34' />\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.param[0].name' value = 'vlan-tag-1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].value' value = '${vlan-tag-1v}' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[0].name' value = 'policy-instance-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[0].value' value = 'JQIN1810SRIOV.Config_MS_SRIOV_VlanTag_1810_ADIOD_VPE.*' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[1].name' value = 'resource-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[1].value' value = 'vlan-tag-1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[2].name' value = 'resource-value' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[2].value' value = '' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[3].name' value = 'scope-id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[3].value' value = 'MTCLL2238F' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[4].name' value = 'vlan-tag-key' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[4].value' value = 'dvncom4003' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[5].name' value = 'vlan-type' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[5].value' value = 'vlan-id-outer' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[6].name' value = 'vnfc-network-role' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key[6].value' value = 'network-role-1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.resource-key_length' value = '7' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.status' value = 'SUCCESS' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].resource-resolution-data.capability-name' value = 'mS-vlan-tag-assign' />\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.param[1].name' value = 'vlan-tag-2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].value' value = 'manually-assigned-vlan-tag-2v' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[0].name' value = 'policy-instance-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[0].value' value = 'JQIN1810SRIOV.Config_MS_SRIOV_VlanTag_1810_ADIOD_VPE.*' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[1].name' value = 'resource-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[1].value' value = 'vlan-tag-2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[2].name' value = 'resource-value' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[2].value' value = 'manually-assigned-vlan-tag-2v' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[3].name' value = 'scope-id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[3].value' value = 'MTCLL2238F' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[4].name' value = 'vlan-tag-key' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[4].value' value = 'dvncom4003' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[5].name' value = 'vlan-type' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[5].value' value = 'vlan-id-filter' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[6].name' value = 'vnfc-network-role' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key[6].value' value = 'network-role-2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.resource-key_length' value = '7' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.status' value = 'SUCCESS' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].resource-resolution-data.capability-name' value = 'INPUT' />\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.param[2].name' value = 'bogus1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[2].value' value = 'bogus1' />\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.param[3].name' value = 'bogus2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[3].value' value = 'bogus2' />\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.param[4].name' value = 'bogus3' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[4].value' value = 'bogus3' />\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.param[5].name' value = 'bogus4' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[5].value' value = 'bogus4' />\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.param[6].name' value = 'bogus5' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[6].value' value = 'bogus5' />\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.param[7].name' value = 'aic-cloud-region' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[7].value' value = 'mtn6' />\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.param[8].name' value = 'ipv4-loopback0-address' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[8].value' value = '1.1.1.1' />\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.param[9].name' value = 'ipv4-oam-address' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].value' value = '2.2.2.2' />\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.param[10].name' value = 'as-number' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].value' value = '11' />\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.param[11].name' value = 'vlan-id-outer' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[11].value' value = '[999]' />\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.param[12].name' value = 'vnf_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[12].value' value = '7324200933' />\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.param[13].name' value = 'vf_module_name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[13].value' value = 'NEW_SELF_SERVE_VF_MODULE_TEST_1' />\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.param[14].name' value = 'volume-group-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[14].value' value = 'dummyvolumegroupname' />\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.param[15].name' value = 'volume_group_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[15].value' value = 'vg-1-999' />\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.param[16].name' value = 'vf_module_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[16].value' value = '7323683661' />\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.param[17].name' value = 'vf_module_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[17].value' value = '7323683661' />\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.param[18].name' value = 'vnfc-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[18].value' value = 'bogus-vnfc-name' />\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.param[19].name' value = 'vm_name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[19].value' value = 'bogus-vnfc-name' />\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.param[20].name' value = 'vm-type' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[20].value' value = 'oam' />\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.param[21].name' value = 'nfc-function' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[21].value' value = 'data' />\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.param[22].name' value = 'nfc-naming-code' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[22].value' value = 'dummy-naming-code' />\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.param[23].name' value = 'vnfc-model-customization-uuid' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[23].value' value = 'bbbb-99999' />\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.param[24].name' value = 'vnfc-model-invariant-uuid' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[24].value' value = 'aaaaa-10000' />\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.param[25].name' value = 'vnfc-model-version' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[25].value' value = 'model1' />\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.param[26].name' value = 'oam-interface-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[26].value' value = 'oamintfname' />\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.param[27].name' value = 'lo0-interface-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[27].value' value = 'lo0intfname' />\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.param[28].name' value = 'sriov41_net_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[28].value' value = '4141414141' />\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.param[29].name' value = 'sriov42_net_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[29].value' value = '4242424242' />\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.param[30].name' value = 'sriov43_net_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[30].value' value = '4343434343' />\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.param[31].name' value = 'sriov44_net_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[31].value' value = '4444444444' />\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.param[32].name' value = 'sriov21_net_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[32].value' value = '2121212121' />\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.param[33].name' value = 'sriov22_net_id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[33].value' value = '2222222222' />\n\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].onap-model-information.model-customization-uuid' value = 'bbbb-99999' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].onap-model-information.model-invariant-uuid' value = 'aaaaa-10000' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].onap-model-information.model-version' value = 'model1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-type' value = 'oam' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-name' value = 'bogus-vnfc-name' />\n\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[0].vnfc-network-role' value = 'network-role-1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[0].connection-point.connection-point-id' value = '789cddfa-58ba-4095-addc-8f7181186380' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[0].connection-point.vlan-data[0].vlan-role' value = '' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[0].connection-point.vlan-data[0].vlan-tag-description' value = 'VPE-Cust' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[0].connection-point.vlan-data[0].vlan-tag-id' value = '3553' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[0].connection-point.vlan-data[0].vlan-uuid' value = '56034624-9296-426c-8103-79a09c23e872' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].vnfc-network-role' value = 'network-role-2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.connection-point-id' value = 'd1bdc1ae-4e67-42c3-ad25-2051ddae65a7' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[0].vlan-role' value = 'outer-tag' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[0].vlan-tag-description' value = 'VPE-Cust-Outer' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[0].vlan-tag-id' value = '3503' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[0].vlan-uuid' value = 'fdc089af-0c00-41c0-a403-1501fb06909f' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[1].vlan-role' value = 'outer-tag' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[1].vlan-tag-description' value = 'VPE-Core1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[1].vlan-tag-id' value = '4001' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[1].vlan-uuid' value = 'f48473ff-fc11-4c38-bcf7-7dec483d81da' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[2].vlan-role' value = 'outer-tag' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[2].vlan-tag-description' value = 'VPE-Core2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[2].vlan-tag-id' value = '4002' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[1].connection-point.vlan-data[2].vlan-uuid' value = '147afe9e-81d3-4872-a298-f470999ba915' />","comments":"","x":982.8571472167969,"y":84.28571224212646,"z":"524823bf.444cec","wires":[]},{"id":"a78794f6.2d8208","type":"outcome","name":"ipv4-loopback0-address","xml":"<outcome value='ipv4-loopback0-address'>","comments":"","outputs":1,"x":2388.28564453125,"y":1185.142822265625,"z":"524823bf.444cec","wires":[["d050efa1.3fd9c"]]},{"id":"d050efa1.3fd9c","type":"set","name":"set ipv4-loopback0-address, index","xml":"<set>\n<parameter name='ss.param.ipv4-loopback0-address' value ='`$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[$bidx].value`' />\n<parameter name='ss.param.ipv4-loopback0-address-index' value='`bidx`' />","comments":"","x":2715.5356674194336,"y":1184.8928384780884,"z":"524823bf.444cec","wires":[]},{"id":"ae7cb398.3859a","type":"outcome","name":"vlan-id-outer","xml":"<outcome value='vlan-id-outer'>","comments":"","outputs":1,"x":2353.107093811035,"y":1271.9285898208618,"z":"524823bf.444cec","wires":[["31e3406f.a5656"]]},{"id":"1c25444.1b7e7bc","type":"outcome","name":"as-number","xml":"<outcome value='as-number'>","comments":"","outputs":1,"x":2347.8927841186523,"y":1229.7500009536743,"z":"524823bf.444cec","wires":[["dafeacf3.a6ef2"]]},{"id":"dafeacf3.a6ef2","type":"set","name":"set as-number, index","xml":"<set>\n<parameter name='ss.param.as-number' value ='`$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[$bidx].value`' />\n<parameter name='ss.param.as-number-index' value='`$bidx`' />","comments":"","x":2676.3927612304688,"y":1230.2500019073486,"z":"524823bf.444cec","wires":[]},{"id":"31e3406f.a5656","type":"set","name":"set vlan-id-outer, index","xml":"<set>\n<parameter name='ss.param.vlan-id-outer' value ='`$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[$bidx].value`' />\n<parameter name='ss.param.vlan-id-outer-index' value='`$bidx`' />","comments":"","x":2681.6070709228516,"y":1271.6785888671875,"z":"524823bf.444cec","wires":[]},{"id":"a2a64ba5.6c0a88","type":"set","name":"set ss.param.vnf-id","xml":"<set>\n<parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />","comments":"","x":1258.3332595825195,"y":456.6666440963745,"z":"524823bf.444cec","wires":[]},{"id":"7e37d15c.cafa2","type":"execute","name":"execute PropertiesNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":1004.9999389648438,"y":133.3333282470703,"z":"524823bf.444cec","wires":[[]]},{"id":"7c1bb7a3.c8fe58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":768.3332595825195,"y":106.66666221618652,"z":"524823bf.444cec","wires":[["d2b7e17e.463ca","7e37d15c.cafa2"]]},{"id":"c9980874.2e80a8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'volume-group not found in AnAI with volume-group-id=' + $ss.param.volume-group-id + $error-message`\" />\n","comments":"","x":1532.9998817443848,"y":2491.66654586792,"z":"524823bf.444cec","wires":[]},{"id":"89b93f84.5210a","type":"save","name":"get volume-group","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"volume-group\"\n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-owner \n\t\t\tAND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \n\t\t\tAND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \n\t\t\tAND volume-group-id = $ss.param.volume-group-id\" \n\tpfx=\"tmp.aai.volume-group\" >\n","comments":"","outputs":1,"x":975.5833892822266,"y":2401.3807277679443,"z":"524823bf.444cec","wires":[["1ba7d2b9.793a8d","f08fe6c7.f88658"]]},{"id":"1ba7d2b9.793a8d","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1164.8333740234375,"y":2400.880672454834,"z":"524823bf.444cec","wires":[["15f801c2.86663e"]]},{"id":"f08fe6c7.f88658","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1172.5118560791016,"y":2456.9163637161255,"z":"524823bf.444cec","wires":[["6dc14100.e2282"]]},{"id":"24ca8e9e.4a7fd2","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to get volume-group in AnAI with volume-group-id = ' + $ss.param.volume-group-id + $error-message`\" />\n","comments":"","x":1533.1308631896973,"y":2436.8807792663574,"z":"524823bf.444cec","wires":[]},{"id":"15f801c2.86663e","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1336.797622680664,"y":2401.3808364868164,"z":"524823bf.444cec","wires":[["24ca8e9e.4a7fd2","e78b7b3c.7d8ae8"]]},{"id":"6dc14100.e2282","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1337.0476036071777,"y":2456.8808155059814,"z":"524823bf.444cec","wires":[["c9980874.2e80a8","e78b7b3c.7d8ae8"]]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.json
new file mode 100644
index 00000000..f65f029f
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.json
@@ -0,0 +1 @@
+[{"id":"fc34e26a.96e7e","type":"dgstart","name":"DGSTART","outputs":1,"x":118.75,"y":41.25,"z":"4bad730a.4cb0cc","wires":[["e33febc3.973b58"]]},{"id":"aa02a26f.e2363","type":"method","name":"method self-serve-aai-vnf-put","xml":"<method rpc='self-serve-aai-vnf-put' mode='sync'>\n","comments":"","outputs":1,"x":249.5357208251953,"y":116.71032333374023,"z":"4bad730a.4cb0cc","wires":[["a6f33c2f.b3f31"]]},{"id":"a6f33c2f.b3f31","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":135.07144165039062,"y":197.4881191253662,"z":"4bad730a.4cb0cc","wires":[["159c2262.814bae","7c881808.c8e0d8"]]},{"id":"e33febc3.973b58","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":391.6071472167969,"y":40.67856693267822,"z":"4bad730a.4cb0cc","wires":[["aa02a26f.e2363"]]},{"id":"159c2262.814bae","type":"switchNode","name":"switch: ss.capability-action","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":373.75002670288086,"y":197.14285230636597,"z":"4bad730a.4cb0cc","wires":[["b572550b.adbec8","13e8cc58.3cd934"]]},{"id":"b572550b.adbec8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":597.2500228881836,"y":197.39285230636597,"z":"4bad730a.4cb0cc","wires":[["a1e45c16.d893f"]]},{"id":"a1e45c16.d893f","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=\"ss.capability-action is null\" />\n","comments":"","x":757.1666946411133,"y":197.50395107269287,"z":"4bad730a.4cb0cc","wires":[]},{"id":"13e8cc58.3cd934","type":"outcome","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":597.0000190734863,"y":246.39285564422607,"z":"4bad730a.4cb0cc","wires":[["425f104b.9ea2a"]]},{"id":"894f7c33.637f5","type":"for","name":"for aidx in param_length (VNF)","xml":"<for silentFailure='true' index=\"aidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`\">","comments":"","outputs":1,"x":1018.9920196533203,"y":246.35323905944824,"z":"4bad730a.4cb0cc","wires":[["3de67184.4f327e"]]},{"id":"7c881808.c8e0d8","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />\n","comments":"","outputs":1,"x":337.3809509277344,"y":424.34521102905273,"z":"4bad730a.4cb0cc","wires":[[]]},{"id":"3de67184.4f327e","type":"switchNode","name":"switch: param[].name","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].name`'>\n","comments":"","outputs":1,"x":1281.5357055664062,"y":246.60714530944824,"z":"4bad730a.4cb0cc","wires":[["7ed75f6a.32c6","f9b29c72.cce46","30bf111a.e4111e","b1d0b1ac.319c6","88e38ba8.f37628"]]},{"id":"7ed75f6a.32c6","type":"outcome","name":"vnf_name","xml":"<outcome value='vnf_name'>","comments":"","outputs":1,"x":1502.5715560913086,"y":246.39284086227417,"z":"4bad730a.4cb0cc","wires":[["4cac8e62.ec887"]]},{"id":"f9b29c72.cce46","type":"outcome","name":"vnf_id","xml":"<outcome value='vnf_id'>","comments":"","outputs":1,"x":1495.214500427246,"y":288.21429920196533,"z":"4bad730a.4cb0cc","wires":[["b1503d7c.2ca81"]]},{"id":"4cac8e62.ec887","type":"set","name":"set vnf-name, index","xml":"<set>\n<parameter name='ss.param.vnf-name' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\n<parameter name='ss.param.vnf-name-index' value='`$aidx`' />","comments":"","x":1693.5715637207031,"y":246.8928565979004,"z":"4bad730a.4cb0cc","wires":[]},{"id":"b1503d7c.2ca81","type":"set","name":"set vnf-id, index","xml":"<set>\n<parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\n<parameter name='ss.param.vnf-id-index' value='`$aidx`' />","comments":"","x":1670.714511871338,"y":287.96430015563965,"z":"4bad730a.4cb0cc","wires":[]},{"id":"1a08570b.7300c9","type":"save","name":"update generic-vnf","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \" >\n<parameter name=\"vnf-name\" value='`$ss.param.vnf-name`' />","comments":"","outputs":1,"x":987.0713844299316,"y":655.1429500579834,"z":"4bad730a.4cb0cc","wires":[["2326d53c.cf2f8a","4f81e373.6b324c"]]},{"id":"2326d53c.cf2f8a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1187.3214149475098,"y":655.499997138977,"z":"4bad730a.4cb0cc","wires":[["1776578e.beb728"]]},{"id":"4f81e373.6b324c","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1193.5714263916016,"y":707.2500314712524,"z":"4bad730a.4cb0cc","wires":[["eeacaa58.638de8"]]},{"id":"65eeae87.ef3cb","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $ss.param.vnf-name`\" />\n","comments":"","x":1625.190372467041,"y":655.285701751709,"z":"4bad730a.4cb0cc","wires":[]},{"id":"44537861.e8d898","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI'`\" />\n","comments":"","x":1625.761890411377,"y":705.5238780975342,"z":"4bad730a.4cb0cc","wires":[]},{"id":"366de731.14b3b8","type":"save","name":"get generic-vnf","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \"\n\tpfx=\"tmp.aai.vnf\" >\n\n","comments":"","outputs":1,"x":980.3571090698242,"y":496.03571796417236,"z":"4bad730a.4cb0cc","wires":[["3f089da.b9edc62","a9e8b83.38fa648"]]},{"id":"3f089da.b9edc62","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1188.8927421569824,"y":495.5356388092041,"z":"4bad730a.4cb0cc","wires":[["1368d9eb.216fa6"]]},{"id":"a9e8b83.38fa648","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1195.1426620483398,"y":594.4285469055176,"z":"4bad730a.4cb0cc","wires":[["b3eb8abb.73a328"]]},{"id":"daac54ac.6fed98","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error to get generic-vnf with vnf-id=' + $ss.param.vnf-id + ' from AnAI'`\" />\n","comments":"","x":1631.3329467773438,"y":541.0356578826904,"z":"4bad730a.4cb0cc","wires":[]},{"id":"3b6018e9.9fd408","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'generic-vnf.vnf-name with vnf-id=' + $ss.param.vnf-id + ' not found in AAI'`\" />\n","comments":"","x":1633.047420501709,"y":594.9882154464722,"z":"4bad730a.4cb0cc","wires":[]},{"id":"425f104b.9ea2a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":754.7500152587891,"y":246.6428518295288,"z":"4bad730a.4cb0cc","wires":[["894f7c33.637f5","366de731.14b3b8","1a08570b.7300c9","59e77635.57a7d8","638f61c1.41893","fb296a32.323408"]]},{"id":"1368d9eb.216fa6","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1360.4643287658691,"y":495.57143211364746,"z":"4bad730a.4cb0cc","wires":[["619aa30e.6fa38c","daac54ac.6fed98"]]},{"id":"1776578e.beb728","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1360.7499809265137,"y":655.5715217590332,"z":"4bad730a.4cb0cc","wires":[["619aa30e.6fa38c","65eeae87.ef3cb"]]},{"id":"eeacaa58.638de8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1363.6071968078613,"y":706.4286632537842,"z":"4bad730a.4cb0cc","wires":[["619aa30e.6fa38c","44537861.e8d898"]]},{"id":"b3eb8abb.73a328","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1361.3214073181152,"y":594.5714321136475,"z":"4bad730a.4cb0cc","wires":[["619aa30e.6fa38c","3b6018e9.9fd408"]]},{"id":"619aa30e.6fa38c","type":"set","name":"set resource-resolution-data.status = FAILED","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":1728.035717010498,"y":495.2857437133789,"z":"4bad730a.4cb0cc","wires":[]},{"id":"2ca2191b.da43e6","type":"comment","name":"VNF params","info":"","comments":"","x":993.0357131958008,"y":196.7261905670166,"z":"4bad730a.4cb0cc","wires":[]},{"id":"30bf111a.e4111e","type":"outcome","name":"license-assignment-group-uuid","xml":"<outcome value='license-assignment-group-uuid'>","comments":"","outputs":1,"x":1572.2500228881836,"y":331.2500057220459,"z":"4bad730a.4cb0cc","wires":[["7907a01.d16bd6"]]},{"id":"7907a01.d16bd6","type":"set","name":"set license-assignment-group-uuid, index","xml":"<set>\n<parameter name='ss.param.license-assignment-group-uuid' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\n<parameter name='ss.param.license-assignment-group-uuid-index' value='`$aidx`' />","comments":"","x":1915.7500343322754,"y":331.0000066757202,"z":"4bad730a.4cb0cc","wires":[]},{"id":"b1d0b1ac.319c6","type":"outcome","name":"entitlement-assignment-group-uuid","xml":"<outcome value='entitlement-assignment-group-uuid'>","comments":"","outputs":1,"x":1587.2500228881836,"y":373.7500057220459,"z":"4bad730a.4cb0cc","wires":[["6859c77e.afd8f8"]]},{"id":"6859c77e.afd8f8","type":"set","name":"set entitlement-assignment-group-uuid, index","xml":"<set>\n<parameter name='ss.param.entitlement-assignment-group-uuid' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />\n<parameter name='ss.param.entitlement-assignment-group-uuid-index' value='`$aidx`' />","comments":"","x":1930.7500343322754,"y":373.5000066757202,"z":"4bad730a.4cb0cc","wires":[]},{"id":"57c694b7.6a6c2c","type":"save","name":"Rollback generic-vnf update","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \" >\n<parameter name=\"vnf-name\" value='`$tmp.aai.vnf.vnf-anme`' />","comments":"","outputs":1,"x":2238.7500228881836,"y":861.2500438690186,"z":"4bad730a.4cb0cc","wires":[["479539a3.5e3eb8","c7f71566.354288","d7404b28.fccd98"]]},{"id":"479539a3.5e3eb8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2477.0000076293945,"y":860.7499885559082,"z":"4bad730a.4cb0cc","wires":[["16d802eb.6e7f5d"]]},{"id":"c7f71566.354288","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2487.0000610351562,"y":901.2500591278076,"z":"4bad730a.4cb0cc","wires":[["31ea71b2.605ebe"]]},{"id":"221e0ece.1641c2","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$ss.param.aai-vf-put-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":2290.1785049438477,"y":815.6186656951904,"z":"4bad730a.4cb0cc","wires":[]},{"id":"d7404b28.fccd98","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2484.8213500976562,"y":942.0116558074951,"z":"4bad730a.4cb0cc","wires":[["de15617c.c087c"]]},{"id":"2268c8e0.737d88","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":1981.3569641113281,"y":772.0116100311279,"z":"4bad730a.4cb0cc","wires":[["221e0ece.1641c2","57c694b7.6a6c2c","c997983c.e414e8"]]},{"id":"16d802eb.6e7f5d","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":2659.82120513916,"y":860.8686628341675,"z":"4bad730a.4cb0cc","wires":[]},{"id":"31ea71b2.605ebe","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`' Failed to rollback generic-vnf update because generic-vnf with vnf-id = ' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`\" />\n","comments":"","x":2666.07124710083,"y":900.8687009811401,"z":"4bad730a.4cb0cc","wires":[]},{"id":"de15617c.c087c","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\" Rollback of generic-vnf update completed. \" />\n","comments":"","x":2668.5712890625,"y":942.3687257766724,"z":"4bad730a.4cb0cc","wires":[]},{"id":"c997983c.e414e8","type":"record","name":"record generic-vnf ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK generic-vnf update\"/>","comments":"","outputs":1,"x":2244.32120513916,"y":771.1186637878418,"z":"4bad730a.4cb0cc","wires":[[]]},{"id":"27eb24b1.d3230c","type":"comment","name":"ROLLBACK STARET HERE","info":"","comments":"","x":2012.892677307129,"y":717.0709800720215,"z":"4bad730a.4cb0cc","wires":[]},{"id":"59e77635.57a7d8","type":"save","name":"save license","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"license\"\n\t\tkey=\"license.group-uuid = $ss.param.license-assignment-group-uuid \n\t\tAND license.resource-uuid = $ss.param.license-key\n\t\tAND generic-vnf.vnf-id = $ss.param.vnf-id\" >\n<parameter name=\"group-uuid\" value='`$ss.param.license-assignment-group-uuid`' />\n<parameter name=\"resource-uuid\" value='`$ss.param.license-key`' />","comments":"","outputs":1,"x":977.5000152587891,"y":900.0000133514404,"z":"4bad730a.4cb0cc","wires":[["6c6afa6b.37f854","3b4fc64e.114caa"]]},{"id":"6c6afa6b.37f854","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1177.7500457763672,"y":900.3570604324341,"z":"4bad730a.4cb0cc","wires":[["4303b02a.95a9c"]]},{"id":"3b4fc64e.114caa","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1184.000057220459,"y":952.1070947647095,"z":"4bad730a.4cb0cc","wires":[["87f79ab6.f4fa48"]]},{"id":"c155bdde.6cfd4","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to save license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' in AAI'`\" />\n","comments":"","x":1552.6190032958984,"y":900.142765045166,"z":"4bad730a.4cb0cc","wires":[]},{"id":"d7aad25c.c9e05","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' is not found in AAI'`\" />\n","comments":"","x":1553.1905212402344,"y":950.3809413909912,"z":"4bad730a.4cb0cc","wires":[]},{"id":"4303b02a.95a9c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1351.178611755371,"y":900.4285850524902,"z":"4bad730a.4cb0cc","wires":[["c155bdde.6cfd4","2268c8e0.737d88"]]},{"id":"87f79ab6.f4fa48","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1354.0358276367188,"y":951.2857265472412,"z":"4bad730a.4cb0cc","wires":[["d7aad25c.c9e05","2268c8e0.737d88"]]},{"id":"638f61c1.41893","type":"save","name":"save entitlement","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"entitlement\"\n\t\tkey=\"entitlement.group-uuid = $ss.param.entitlement-assignment-group-uuid \n\t\tAND entitlement.resource-uuid = $ss.param.entitlement-key\n\t\tAND generic-vnf.vnf-id = $ss.param.vnf-id\" >\n<parameter name=\"group-uuid\" value='`$ss.param.entitlement-assignment-group-uuid`' />\n<parameter name=\"resource-uuid\" value='`$ss.param.entitlement-key`' />","comments":"","outputs":1,"x":990.0000152587891,"y":1120.0000171661377,"z":"4bad730a.4cb0cc","wires":[["a9eaa28.849b36","339db2d7.0a2e8e"]]},{"id":"a9eaa28.849b36","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1190.2500457763672,"y":1120.3570642471313,"z":"4bad730a.4cb0cc","wires":[["64c15d4f.6a4eb4"]]},{"id":"339db2d7.0a2e8e","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1196.500057220459,"y":1172.1070985794067,"z":"4bad730a.4cb0cc","wires":[["73bedfd7.cf59b"]]},{"id":"4e9ebb33.9b3b34","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to save entitlement with group-uuid = ' + $ss.param.entitlement-assignment-group-uuid + ' AND entitlement.resource-uuid = ' + $ss.param.entitlement-key + ' in AAI'`\" />\n","comments":"","x":1565.1190032958984,"y":1120.1427688598633,"z":"4bad730a.4cb0cc","wires":[]},{"id":"d21ac2d9.64649","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'entitlement with group-uuid = ' + $ss.param.entitlement-assignment-group-uuid + ' AND entitlement.resource-uuid = ' + $ss.param.entitlement-key + ' is not found in AAI'`\" />\n","comments":"","x":1565.6905212402344,"y":1170.3809452056885,"z":"4bad730a.4cb0cc","wires":[]},{"id":"64c15d4f.6a4eb4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1363.678611755371,"y":1120.4285888671875,"z":"4bad730a.4cb0cc","wires":[["4e9ebb33.9b3b34","6c68a9e5.44bdb8"]]},{"id":"73bedfd7.cf59b","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1366.5358276367188,"y":1171.2857303619385,"z":"4bad730a.4cb0cc","wires":[["d21ac2d9.64649","6c68a9e5.44bdb8"]]},{"id":"1c60d424.125ddc","type":"save","name":"Rollback license save","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"license\"\n\t\tkey=\"license.group-uuid = $ss.param.license-assignment-group-uuid \n\t\tAND license.resource-uuid = $ss.param.license-key\" >","comments":"","outputs":1,"x":2236.2500610351562,"y":1132.5000667572021,"z":"4bad730a.4cb0cc","wires":[["13f982bb.433ccd","48040f10.fecd2","5dde3ab7.572a64"]]},{"id":"13f982bb.433ccd","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2474.500045776367,"y":1132.0000114440918,"z":"4bad730a.4cb0cc","wires":[["27a2fe8c.d48f22"]]},{"id":"48040f10.fecd2","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2483.2500610351562,"y":1171.2500667572021,"z":"4bad730a.4cb0cc","wires":[["5b6af0a0.6387c"]]},{"id":"5dde3ab7.572a64","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2481.0713539123535,"y":1209.5116634368896,"z":"4bad730a.4cb0cc","wires":[["778a127d.bdd04c"]]},{"id":"9e98b07c.4dc51","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":2000.1069641113281,"y":1090.7616138458252,"z":"4bad730a.4cb0cc","wires":[["1c60d424.125ddc","f68b4441.2a1838"]]},{"id":"27a2fe8c.d48f22","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`' Failed to rollback license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' in AAI. MANUAL ROLLBACK IS REQUIRED!'`\" />\n","comments":"","x":2657.321243286133,"y":1132.118685722351,"z":"4bad730a.4cb0cc","wires":[]},{"id":"5b6af0a0.6387c","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`' Failed to rollback license because license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' NOT FOUND in AAI. SILENT SUCCESS! '`\" />\n","comments":"","x":2662.32124710083,"y":1170.8687086105347,"z":"4bad730a.4cb0cc","wires":[]},{"id":"778a127d.bdd04c","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\" Rollback of license completed. \" />\n","comments":"","x":2664.8212928771973,"y":1209.868733406067,"z":"4bad730a.4cb0cc","wires":[]},{"id":"f68b4441.2a1838","type":"record","name":"record license ROLLBACK","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"ROLLBACK license\"/>","comments":"","outputs":1,"x":2251.07120513916,"y":1089.868667602539,"z":"4bad730a.4cb0cc","wires":[[]]},{"id":"6c68a9e5.44bdb8","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":1838.7500305175781,"y":986.2500152587891,"z":"4bad730a.4cb0cc","wires":[["2268c8e0.737d88","9e98b07c.4dc51"]]},{"id":"fb296a32.323408","type":"set","name":"set resource-resolution-data.status = SUCCESS","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \n\tvalue='SUCCESS' />\n","comments":"","x":1090.8333129882812,"y":1286.6666355133057,"z":"4bad730a.4cb0cc","wires":[]},{"id":"88e38ba8.f37628","type":"outcome","name":"aai-vnf-put","xml":"<outcome value='aai-vnf-put'>","comments":"","outputs":1,"x":1514.5,"y":417.5,"z":"4bad730a.4cb0cc","wires":[["a2a465aa.af8988"]]},{"id":"a2a465aa.af8988","type":"set","name":"set ss.param.aai-vnf-put-index","xml":"<set>\n<parameter name='ss.param.aai-vnf-put-index' value='`$aidx`' />","comments":"","x":1748.0000114440918,"y":417.2500009536743,"z":"4bad730a.4cb0cc","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-FQPN.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-FQPN.json
index ad1481cf..b5c94111 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-FQPN.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-FQPN.json
@@ -1 +1 @@
-[{"id":"6b55c686.e98f58","type":"dgstart","name":"DGSTART","outputs":1,"x":95,"y":30,"z":"58ac4a51.14cfa4","wires":[["13afa36f.3e613d"]]},{"id":"118353f8.b3b67c","type":"method","name":"method self-serve-generate-FQPN","xml":"<method rpc='self-serve-generate-FQPN' mode='sync'>\n","comments":"","outputs":1,"x":197.0357208251953,"y":78.37698745727539,"z":"58ac4a51.14cfa4","wires":[["e5d7247c.e78aa8"]]},{"id":"e5d7247c.e78aa8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":171.26589965820312,"y":154.1230583190918,"z":"58ac4a51.14cfa4","wires":[["faf52f6a.0694f","fb8a9cf8.8fbb2","7ad4d33c.188b7c","bcc69e94.ad89d","dcc749b9.569fe8","dab61149.8cd06"]]},{"id":"dab61149.8cd06","type":"execute","name":"call EIPAM getPlanTopology","xml":"<execute plugin=\"com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin\" method=\"getPlanTopology\">","comments":"","outputs":1,"x":456.9287567138672,"y":326.93658924102783,"z":"58ac4a51.14cfa4","wires":[["7742e4f5.24469c"]]},{"id":"7742e4f5.24469c","type":"failure","name":"failure","xml":"<outcome value='failure'>","outputs":1,"x":673.309814453125,"y":326.66322231292725,"z":"58ac4a51.14cfa4","wires":[["1000bf31.b1f1f1"]]},{"id":"1000bf31.b1f1f1","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 getting Keyname and Keyvalue for address plan, '+ $eipam-ip-block.planName + ', from EIPAM'`\" />\n","comments":"","x":829.2025604248047,"y":326.77045154571533,"z":"58ac4a51.14cfa4","wires":[]},{"id":"fb8a9cf8.8fbb2","type":"switchNode","name":"switch: TopologyDetails_length","xml":"<switch test='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`'>\n","comments":"","outputs":1,"x":459.14695739746094,"y":394.82542276382446,"z":"58ac4a51.14cfa4","wires":[["7a5942e6.6691dc"]]},{"id":"7a5942e6.6691dc","type":"outcome","name":"NULL","xml":"<outcome value=''>","outputs":1,"x":679.4643402099609,"y":394.8254346847534,"z":"58ac4a51.14cfa4","wires":[["a12111ef.55246"]]},{"id":"a12111ef.55246","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=\"eipam-ip-block.getPlanTopologyResponse.TopologyDetails is null\" />\n","comments":"","x":839.3810119628906,"y":394.9365334510803,"z":"58ac4a51.14cfa4","wires":[]},{"id":"5c649a99.441c74","type":"set","name":"set pool-index","xml":"<set>\n<parameter name='pool-index'\n value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].Level - 1`' />\n","comments":"","x":737.7975540161133,"y":496.81360149383545,"z":"58ac4a51.14cfa4","wires":[]},{"id":"faf52f6a.0694f","type":"set","name":"set eipam-ip-block.plan-name = tmp.ss.plan-name","xml":"<set>\n<parameter name='eipam-ip-block.plan-name' value='`$tmp.ss.plan-name`' />\n","comments":"","x":527.6468505859375,"y":209.23416805267334,"z":"58ac4a51.14cfa4","wires":[]},{"id":"affb505f.7eaa3","type":"switchNode","name":"switch: Response.planName vs eipam-ip-block..plan-name","xml":"<switch test='`$eipam-ip-block.plan-name == $eipam-ip-block.getPlanTopologyResponse.PlanName`'>\n","comments":"","outputs":1,"x":875.4127349853516,"y":448.74602794647217,"z":"58ac4a51.14cfa4","wires":[["519f260d.88c578"]]},{"id":"519f260d.88c578","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1190.1429557800293,"y":448.95237159729004,"z":"58ac4a51.14cfa4","wires":[["baab19da.004908"]]},{"id":"baab19da.004908","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=\"`'eipam response plan-name ['+ $eipam-ip-block.getPlanTopologyResponse.PlanName + ' is not the same as input '+$eipam-ip-block.planName`\" />\n","comments":"","x":1355.5715103149414,"y":448.9523649215698,"z":"58ac4a51.14cfa4","wires":[]},{"id":"30eb4248.61be8e","type":"set","name":"set self-serve-generate-FQPN-output.pools[]","xml":"<set>\n<parameter name='self-serve-generate-FQPN-output.pools[$pool-index].key-name'\n value='`$tmp.getPlanTopologyResponse.key-name`' />\n<parameter name='self-serve-generate-FQPN-output.pools[$pool-index].key-value'\n\tvalue='`$tmp.ss.final.key-value`' />","comments":"","x":818.6666412353516,"y":1116.5592398643494,"z":"58ac4a51.14cfa4","wires":[]},{"id":"ea1157ef.5c36d8","type":"comment","name":"Change History","info":"iTrack 8790\n- add validation for network-role in input for null\n- change query of ROUTING_CHARATERISTIC table with network-role from input.\n- Return generate-FQPN-output.pools[]\n- set pools_length to .getPlanTopologyResponse.TopologyDetails_length separately at the end of the call.\niTrack 10846\n- node 35, fixed error-message, generate-FQPN-input.network-role\niTrack 11310\n- changed ADDRESS_PLAN_POLICIES cloud_region_id from using vnfapi nodestring for cloud-region-id\n- added AddressPlanPolicyDG-Network_Role and AddressPlanPolicyDG-Network_Id to ADDRESS_PLAN_POLICIES query and resolution\n- updated vrf-name resolution to use tosca data if not found in ADDRESS_PLAN_POLICIES\n- support compound key-name\niTrack 11945\n- added network-collection and zone \n- remove validation of all input except plan-name\n","comments":"","x":93.75003051757812,"y":455.8928623199463,"z":"58ac4a51.14cfa4","wires":[]},{"id":"bcc69e94.ad89d","type":"for","name":"for resp-index: TopologyDetails[]","xml":"<for index=\"resp-index\" start=\"0\" end=\"`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`\">","comments":"","outputs":1,"x":463.52381896972656,"y":448.80959367752075,"z":"58ac4a51.14cfa4","wires":[["affb505f.7eaa3","5c649a99.441c74","12042b26.6ec7e5","30eb4248.61be8e","bf20cb6a.689cc8","5543f869.2b4cb8","b0808369.33c33","60f9abd6.9b1864"]]},{"id":"7ad4d33c.188b7c","type":"set","name":"empty self-serve-generate-FQPN-output.","xml":"<set>\n<parameter name='self-serve-generate-FQPN-output.' value='' />\n","comments":"","x":498.5357666015625,"y":271.57149744033813,"z":"58ac4a51.14cfa4","wires":[]},{"id":"c32b1831.2dfd38","type":"comment","name":"OUTPUT","info":"generate-FQPN-output.pools[]\ngenerate-FQPN-output.pools_length","comments":"","x":117.67855072021484,"y":360.5357151031494,"z":"58ac4a51.14cfa4","wires":[]},{"id":"dcc749b9.569fe8","type":"set","name":"set self-serve-generate-FQPN-output.pools_length","xml":"<set>\n<parameter name='self-serve-generate-FQPN-output.pools_length' \n\tvalue='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`' />\n","comments":"","x":526.1072235107422,"y":1193.0357995033264,"z":"58ac4a51.14cfa4","wires":[]},{"id":"13afa36f.3e613d","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":367.8571472167969,"y":29.428566932678223,"z":"58ac4a51.14cfa4","wires":[["118353f8.b3b67c"]]},{"id":"12042b26.6ec7e5","type":"set","name":"set tmp.getPlanTopologyResponse.key-name","xml":"<set>\n<parameter name='tmp.getPlanTopologyResponse.key-name' \n\tvalue='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].KeyName`' />\n","comments":"","x":835.4643020629883,"y":547.1429715156555,"z":"58ac4a51.14cfa4","wires":[]},{"id":"5543f869.2b4cb8","type":"execute","name":"split tmp.getPlanTopologyResponse.key-value-format","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n\t<parameter name=\"original_string\" value=\"`$tmp.getPlanTopologyResponse.key-value-format`\" />\n\t<parameter name=\"regex\" value=\":\" />\n\t<parameter name=\"ctx_memory_result_key\" value=\"tmp.split.key-value-format\" />\n","comments":"","outputs":1,"x":864.6071395874023,"y":646.9643845558167,"z":"58ac4a51.14cfa4","wires":[[]]},{"id":"b0808369.33c33","type":"for","name":"for split-index: tmp.split.key-value-format","xml":"<for index=\"split-index\" start=\"0\" end=\"`$tmp.split.key-value-format_length`\">","comments":"","outputs":1,"x":821.7858352661133,"y":747.6786179542542,"z":"58ac4a51.14cfa4","wires":[["ee7b415f.68d5","98cc0ef6.2af94","d4d77014.0c4b3","ce214f8a.35d6c","2d190b10.073a64"]]},{"id":"85e1b3d.faf545","type":"set","name":"set tmp.ss.param.capability-name","xml":"<set>\n<parameter name='tmp.ss.param.capability-name' \n\tvalue='`$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[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1453.4524307250977,"y":891.1786241531372,"z":"58ac4a51.14cfa4","wires":[]},{"id":"246bb255.6cc33e","type":"set","name":"set tmp.ss.final.key-value","xml":"<set>\n<parameter name='tmp.ss.final.key-value' value=\"`$tmp.ss.partial.key-value`\" />\n","comments":"","x":1538.130729675293,"y":1022.166757106781,"z":"58ac4a51.14cfa4","wires":[]},{"id":"d4d77014.0c4b3","type":"switchNode","name":"switch: split-index == 0","xml":"<switch test='`$split-index == 0`'>\n","comments":"","outputs":1,"x":1135.1308288574219,"y":1022.5953135490417,"z":"58ac4a51.14cfa4","wires":[["1630c64f.a0ee7a","dab38bb.6e09578"]]},{"id":"1630c64f.a0ee7a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1331.8451538085938,"y":1022.5952353477478,"z":"58ac4a51.14cfa4","wires":[["246bb255.6cc33e"]]},{"id":"dab38bb.6e09578","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1333.7022094726562,"y":1074.0238242149353,"z":"58ac4a51.14cfa4","wires":[["521825ba.41010c"]]},{"id":"521825ba.41010c","type":"set","name":"set tmp.final.key-value with :","xml":"<set>\n<parameter name='tmp.ss.final.key-value' \n\tvalue=\"`$tmp.ss.final.key-value + ':' + $tmp.ss.partial.key-value`\" />\n","comments":"","x":1546.9880065917969,"y":1074.2144198417664,"z":"58ac4a51.14cfa4","wires":[]},{"id":"60f9abd6.9b1864","type":"set","name":"set tmp.final.key-value NULL","xml":"<set>\n<parameter name='tmp.final.key-value' value=\"\" />\n","comments":"","x":788.285774230957,"y":695.3572058677673,"z":"58ac4a51.14cfa4","wires":[]},{"id":"bf20cb6a.689cc8","type":"set","name":"set tmp.getPlanTopologyResponse.key-value-format","xml":"<set>\n<parameter name='tmp.getPlanTopologyResponse.key-value-format' \n\tvalue='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].KeyValueFormat`' />\n","comments":"","x":858.9999923706055,"y":598.7500195503235,"z":"58ac4a51.14cfa4","wires":[]},{"id":"ee7b415f.68d5","type":"execute","name":"replace ${ with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.split.key-value-format[$split-index]`\" />\n\t<parameter name=\"target\" value=\"${\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.split-value\"/>\n","comments":"","outputs":1,"x":1118.0000076293945,"y":747.5000290870667,"z":"58ac4a51.14cfa4","wires":[[]]},{"id":"98cc0ef6.2af94","type":"execute","name":"replace } with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.split-value`\" />\n\t<parameter name=\"target\" value=\"}\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.split-value\"/>\n","comments":"","outputs":1,"x":1115.500015258789,"y":791.2500309944153,"z":"58ac4a51.14cfa4","wires":[[]]},{"id":"2d190b10.073a64","type":"for","name":"for pidx in param_length","xml":"<for index=\"pidx\" start=\"0\" end=\"`$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_length`\">","comments":"","outputs":1,"x":1143.6666564941406,"y":891.2500944137573,"z":"58ac4a51.14cfa4","wires":[["6595219f.ab227","85e1b3d.faf545"]]},{"id":"6595219f.ab227","type":"switchNode","name":"switch: capability-name - ss vs param","xml":"<switch test='`$tmp.ss.param.capability-name == $ss.capability-name`'>\n","comments":"","outputs":1,"x":1465.4166564941406,"y":934.7500982284546,"z":"58ac4a51.14cfa4","wires":[["5a38343a.825c9c"]]},{"id":"5a38343a.825c9c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1704.1666641235352,"y":934.5000982284546,"z":"58ac4a51.14cfa4","wires":[["83308cd8.3dce"]]},{"id":"59c5ed43.c15bb4","type":"set","name":"set tmp.ss.partial.key-value","xml":"<set>\n<parameter name='tmp.ss.partial.key-value' \n\tvalue='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2700.750030517578,"y":979.8333764076233,"z":"58ac4a51.14cfa4","wires":[]},{"id":"83308cd8.3dce","type":"for","name":"for kidx in resource-key_length","xml":"<for index=\"kidx\" start=\"0\" end=\"`$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[$ss.param-index].resource-resolution-data.resource-key_length`\">","comments":"","outputs":1,"x":1921.9166564941406,"y":933.7500371932983,"z":"58ac4a51.14cfa4","wires":[["56ff67f7.37df58","fcb1624d.05791"]]},{"id":"56ff67f7.37df58","type":"set","name":"set tmp.ss.resource-key.name","xml":"<set>\n<parameter name='tmp.ss.resource-key.name' \n\tvalue='`$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[$pidx].resource-resolution-data.resource-key[$kidx].name`' />\n","comments":"","x":2213.416778564453,"y":933.7500643730164,"z":"58ac4a51.14cfa4","wires":[]},{"id":"fcb1624d.05791","type":"switchNode","name":"switch: split-value == resource-key.name","xml":"<switch test='`$tmp.ss.split-value == $tmp.ss.resource-key.name`'>\n","comments":"","outputs":1,"x":2244.6666564941406,"y":980.5000371932983,"z":"58ac4a51.14cfa4","wires":[["a79fe216.cb8bd"]]},{"id":"a79fe216.cb8bd","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2495,"y":980.0833649635315,"z":"58ac4a51.14cfa4","wires":[["59c5ed43.c15bb4"]]},{"id":"98155a12.d97fc8","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss.eipam.log' />\n","comments":"","outputs":1,"x":403.19444274902344,"y":1307.6388483047485,"z":"58ac4a51.14cfa4","wires":[[]]},{"id":"ce214f8a.35d6c","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=\"`'SS: tmp.ss.split-value: ' + $tmp.ss.split-value`\"/>\n","comments":"","outputs":1,"x":1090.4166564941406,"y":838.3333268165588,"z":"58ac4a51.14cfa4","wires":[[]]}] \ No newline at end of file
+[{"id":"6b55c686.e98f58","type":"dgstart","name":"DGSTART","outputs":1,"x":95,"y":30,"z":"58ac4a51.14cfa4","wires":[["13afa36f.3e613d"]]},{"id":"118353f8.b3b67c","type":"method","name":"method self-serve-generate-FQPN","xml":"<method rpc='self-serve-generate-FQPN' mode='sync'>\n","comments":"","outputs":1,"x":197.0357208251953,"y":78.37698745727539,"z":"58ac4a51.14cfa4","wires":[["e5d7247c.e78aa8"]]},{"id":"e5d7247c.e78aa8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":171.26589965820312,"y":154.1230583190918,"z":"58ac4a51.14cfa4","wires":[["faf52f6a.0694f","fb8a9cf8.8fbb2","7ad4d33c.188b7c","bcc69e94.ad89d","dcc749b9.569fe8","dab61149.8cd06"]]},{"id":"dab61149.8cd06","type":"execute","name":"call EIPAM getPlanTopology","xml":"<execute plugin=\"com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin\" method=\"getPlanTopology\">","comments":"","outputs":1,"x":456.9287567138672,"y":326.93658924102783,"z":"58ac4a51.14cfa4","wires":[["7742e4f5.24469c"]]},{"id":"7742e4f5.24469c","type":"failure","name":"failure","xml":"<outcome value='failure'>","outputs":1,"x":673.309814453125,"y":326.66322231292725,"z":"58ac4a51.14cfa4","wires":[["1000bf31.b1f1f1"]]},{"id":"1000bf31.b1f1f1","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 getting Keyname and Keyvalue for address plan, '+ $eipam-ip-block.planName + ', from EIPAM'`\" />\n","comments":"","x":829.2025604248047,"y":326.77045154571533,"z":"58ac4a51.14cfa4","wires":[]},{"id":"fb8a9cf8.8fbb2","type":"switchNode","name":"switch: topologyDetails_length","xml":"<switch test='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`'>\n","comments":"","outputs":1,"x":459.14695739746094,"y":394.82542276382446,"z":"58ac4a51.14cfa4","wires":[["7a5942e6.6691dc"]]},{"id":"7a5942e6.6691dc","type":"outcome","name":"NULL","xml":"<outcome value=''>","outputs":1,"x":679.4643402099609,"y":394.8254346847534,"z":"58ac4a51.14cfa4","wires":[["a12111ef.55246"]]},{"id":"a12111ef.55246","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=\"eipam-ip-block.getPlanTopologyResponse.topologyDetails is null\" />\n","comments":"","x":839.3810119628906,"y":394.9365334510803,"z":"58ac4a51.14cfa4","wires":[]},{"id":"5c649a99.441c74","type":"set","name":"set pool-index","xml":"<set>\n<parameter name='pool-index'\n value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].level - 1`' />\n","comments":"","x":737.7975540161133,"y":496.81360149383545,"z":"58ac4a51.14cfa4","wires":[]},{"id":"faf52f6a.0694f","type":"set","name":"set eipam-ip-block.plan-name = tmp.ss.plan-name","xml":"<set>\n<parameter name='eipam-ip-block.plan-name' value='`$tmp.ss.plan-name`' />\n","comments":"","x":527.6468505859375,"y":209.23416805267334,"z":"58ac4a51.14cfa4","wires":[]},{"id":"affb505f.7eaa3","type":"switchNode","name":"switch: Response.planName vs eipam-ip-block..plan-name","xml":"<switch test='`$eipam-ip-block.plan-name == $eipam-ip-block.getPlanTopologyResponse.planName`'>\n","comments":"","outputs":1,"x":875.4127349853516,"y":448.74602794647217,"z":"58ac4a51.14cfa4","wires":[["519f260d.88c578"]]},{"id":"519f260d.88c578","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1190.1429557800293,"y":448.95237159729004,"z":"58ac4a51.14cfa4","wires":[["baab19da.004908"]]},{"id":"baab19da.004908","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=\"`'eipam response plan-name ['+ $eipam-ip-block.getPlanTopologyResponse.planName + ' is not the same as input '+$eipam-ip-block.planName`\" />\n","comments":"","x":1355.5715103149414,"y":448.9523649215698,"z":"58ac4a51.14cfa4","wires":[]},{"id":"30eb4248.61be8e","type":"set","name":"set self-serve-generate-FQPN-output.pools[]","xml":"<set>\n<parameter name='self-serve-generate-FQPN-output.pools[$pool-index].key-name'\n value='`$tmp.getPlanTopologyResponse.key-name`' />\n<parameter name='self-serve-generate-FQPN-output.pools[$pool-index].key-value'\n\tvalue='`$tmp.ss.final.key-value`' />","comments":"","x":818.6666412353516,"y":1116.5592398643494,"z":"58ac4a51.14cfa4","wires":[]},{"id":"ea1157ef.5c36d8","type":"comment","name":"Change History","info":"iTrack 8790\n- add validation for network-role in input for null\n- change query of ROUTING_CHARATERISTIC table with network-role from input.\n- Return generate-FQPN-output.pools[]\n- set pools_length to .getPlanTopologyResponse.topologyDetails_length separately at the end of the call.\niTrack 10846\n- node 35, fixed error-message, generate-FQPN-input.network-role\niTrack 11310\n- changed ADDRESS_PLAN_POLICIES cloud_region_id from using vnfapi nodestring for cloud-region-id\n- added AddressPlanPolicyDG-Network_Role and AddressPlanPolicyDG-Network_Id to ADDRESS_PLAN_POLICIES query and resolution\n- updated vrf-name resolution to use tosca data if not found in ADDRESS_PLAN_POLICIES\n- support compound key-name\niTrack 11945\n- added network-collection and zone \n- remove validation of all input except plan-name\n","comments":"","x":93.75003051757812,"y":455.8928623199463,"z":"58ac4a51.14cfa4","wires":[]},{"id":"bcc69e94.ad89d","type":"for","name":"for resp-index: topologyDetails[]","xml":"<for index=\"resp-index\" start=\"0\" end=\"`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`\">","comments":"","outputs":1,"x":463.52381896972656,"y":448.80959367752075,"z":"58ac4a51.14cfa4","wires":[["affb505f.7eaa3","5c649a99.441c74","12042b26.6ec7e5","30eb4248.61be8e","bf20cb6a.689cc8","5543f869.2b4cb8","b0808369.33c33","60f9abd6.9b1864"]]},{"id":"7ad4d33c.188b7c","type":"set","name":"empty self-serve-generate-FQPN-output.","xml":"<set>\n<parameter name='self-serve-generate-FQPN-output.' value='' />\n","comments":"","x":498.5357666015625,"y":271.57149744033813,"z":"58ac4a51.14cfa4","wires":[]},{"id":"c32b1831.2dfd38","type":"comment","name":"OUTPUT","info":"generate-FQPN-output.pools[]\ngenerate-FQPN-output.pools_length","comments":"","x":117.67855072021484,"y":360.5357151031494,"z":"58ac4a51.14cfa4","wires":[]},{"id":"dcc749b9.569fe8","type":"set","name":"set self-serve-generate-FQPN-output.pools_length","xml":"<set>\n<parameter name='self-serve-generate-FQPN-output.pools_length' \n\tvalue='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`' />\n","comments":"","x":526.1072235107422,"y":1193.0357995033264,"z":"58ac4a51.14cfa4","wires":[]},{"id":"13afa36f.3e613d","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":367.8571472167969,"y":29.428566932678223,"z":"58ac4a51.14cfa4","wires":[["118353f8.b3b67c"]]},{"id":"12042b26.6ec7e5","type":"set","name":"set tmp.getPlanTopologyResponse.key-name","xml":"<set>\n<parameter name='tmp.getPlanTopologyResponse.key-name' \n\tvalue='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].keyName`' />\n","comments":"","x":835.4643020629883,"y":547.1429715156555,"z":"58ac4a51.14cfa4","wires":[]},{"id":"5543f869.2b4cb8","type":"execute","name":"split tmp.getPlanTopologyResponse.key-value-format","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n\t<parameter name=\"original_string\" value=\"`$tmp.getPlanTopologyResponse.key-value-format`\" />\n\t<parameter name=\"regex\" value=\":\" />\n\t<parameter name=\"ctx_memory_result_key\" value=\"tmp.split.key-value-format\" />\n","comments":"","outputs":1,"x":864.6071395874023,"y":646.9643845558167,"z":"58ac4a51.14cfa4","wires":[[]]},{"id":"b0808369.33c33","type":"for","name":"for split-index: tmp.split.key-value-format","xml":"<for index=\"split-index\" start=\"0\" end=\"`$tmp.split.key-value-format_length`\">","comments":"","outputs":1,"x":821.7858352661133,"y":747.6786179542542,"z":"58ac4a51.14cfa4","wires":[["ee7b415f.68d5","98cc0ef6.2af94","d4d77014.0c4b3","ce214f8a.35d6c","2d190b10.073a64"]]},{"id":"85e1b3d.faf545","type":"set","name":"set tmp.ss.param.capability-name","xml":"<set>\n<parameter name='tmp.ss.param.capability-name' \n\tvalue='`$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[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1453.4524307250977,"y":891.1786241531372,"z":"58ac4a51.14cfa4","wires":[]},{"id":"246bb255.6cc33e","type":"set","name":"set tmp.ss.final.key-value","xml":"<set>\n<parameter name='tmp.ss.final.key-value' value=\"`$tmp.ss.partial.key-value`\" />\n","comments":"","x":1538.130729675293,"y":1022.166757106781,"z":"58ac4a51.14cfa4","wires":[]},{"id":"d4d77014.0c4b3","type":"switchNode","name":"switch: split-index == 0","xml":"<switch test='`$split-index == 0`'>\n","comments":"","outputs":1,"x":1135.1308288574219,"y":1022.5953135490417,"z":"58ac4a51.14cfa4","wires":[["1630c64f.a0ee7a","dab38bb.6e09578"]]},{"id":"1630c64f.a0ee7a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1331.8451538085938,"y":1022.5952353477478,"z":"58ac4a51.14cfa4","wires":[["246bb255.6cc33e"]]},{"id":"dab38bb.6e09578","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1333.7022094726562,"y":1074.0238242149353,"z":"58ac4a51.14cfa4","wires":[["521825ba.41010c"]]},{"id":"521825ba.41010c","type":"set","name":"set tmp.final.key-value with :","xml":"<set>\n<parameter name='tmp.ss.final.key-value' \n\tvalue=\"`$tmp.ss.final.key-value + ':' + $tmp.ss.partial.key-value`\" />\n","comments":"","x":1546.9880065917969,"y":1074.2144198417664,"z":"58ac4a51.14cfa4","wires":[]},{"id":"60f9abd6.9b1864","type":"set","name":"set tmp.final.key-value NULL","xml":"<set>\n<parameter name='tmp.final.key-value' value=\"\" />\n","comments":"","x":788.285774230957,"y":695.3572058677673,"z":"58ac4a51.14cfa4","wires":[]},{"id":"bf20cb6a.689cc8","type":"set","name":"set tmp.getPlanTopologyResponse.key-value-format","xml":"<set>\n<parameter name='tmp.getPlanTopologyResponse.key-value-format' \n\tvalue='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].keyValueFormat`' />\n","comments":"","x":858.9999923706055,"y":598.7500195503235,"z":"58ac4a51.14cfa4","wires":[]},{"id":"ee7b415f.68d5","type":"execute","name":"replace ${ with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.split.key-value-format[$split-index]`\" />\n\t<parameter name=\"target\" value=\"${\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.split-value\"/>\n","comments":"","outputs":1,"x":1118.0000076293945,"y":747.5000290870667,"z":"58ac4a51.14cfa4","wires":[[]]},{"id":"98cc0ef6.2af94","type":"execute","name":"replace } with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.split-value`\" />\n\t<parameter name=\"target\" value=\"}\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.split-value\"/>\n","comments":"","outputs":1,"x":1115.500015258789,"y":791.2500309944153,"z":"58ac4a51.14cfa4","wires":[[]]},{"id":"2d190b10.073a64","type":"for","name":"for pidx in param_length","xml":"<for index=\"pidx\" start=\"0\" end=\"`$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_length`\">","comments":"","outputs":1,"x":1143.6666564941406,"y":891.2500944137573,"z":"58ac4a51.14cfa4","wires":[["6595219f.ab227","85e1b3d.faf545"]]},{"id":"6595219f.ab227","type":"switchNode","name":"switch: capability-name - ss vs param","xml":"<switch test='`$tmp.ss.param.capability-name == $ss.capability-name`'>\n","comments":"","outputs":1,"x":1465.4166564941406,"y":934.7500982284546,"z":"58ac4a51.14cfa4","wires":[["5a38343a.825c9c"]]},{"id":"5a38343a.825c9c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1704.1666641235352,"y":934.5000982284546,"z":"58ac4a51.14cfa4","wires":[["83308cd8.3dce"]]},{"id":"59c5ed43.c15bb4","type":"set","name":"set tmp.ss.partial.key-value","xml":"<set>\n<parameter name='tmp.ss.partial.key-value' \n\tvalue='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2700.750030517578,"y":979.8333764076233,"z":"58ac4a51.14cfa4","wires":[]},{"id":"83308cd8.3dce","type":"for","name":"for kidx in resource-key_length","xml":"<for index=\"kidx\" start=\"0\" end=\"`$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[$ss.param-index].resource-resolution-data.resource-key_length`\">","comments":"","outputs":1,"x":1921.9166564941406,"y":933.7500371932983,"z":"58ac4a51.14cfa4","wires":[["56ff67f7.37df58","fcb1624d.05791"]]},{"id":"56ff67f7.37df58","type":"set","name":"set tmp.ss.resource-key.name","xml":"<set>\n<parameter name='tmp.ss.resource-key.name' \n\tvalue='`$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[$pidx].resource-resolution-data.resource-key[$kidx].name`' />\n","comments":"","x":2213.416778564453,"y":933.7500643730164,"z":"58ac4a51.14cfa4","wires":[]},{"id":"fcb1624d.05791","type":"switchNode","name":"switch: split-value == resource-key.name","xml":"<switch test='`$tmp.ss.split-value == $tmp.ss.resource-key.name`'>\n","comments":"","outputs":1,"x":2244.6666564941406,"y":980.5000371932983,"z":"58ac4a51.14cfa4","wires":[["a79fe216.cb8bd"]]},{"id":"a79fe216.cb8bd","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2495,"y":980.0833649635315,"z":"58ac4a51.14cfa4","wires":[["59c5ed43.c15bb4"]]},{"id":"98155a12.d97fc8","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss.eipam.log' />\n","comments":"","outputs":1,"x":403.19444274902344,"y":1307.6388483047485,"z":"58ac4a51.14cfa4","wires":[[]]},{"id":"ce214f8a.35d6c","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=\"`'SS: tmp.ss.split-value: ' + $tmp.ss.split-value`\"/>\n","comments":"","outputs":1,"x":1090.4166564941406,"y":838.3333268165588,"z":"58ac4a51.14cfa4","wires":[[]]}]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.json
new file mode 100644
index 00000000..dfb78775
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.json
@@ -0,0 +1,919 @@
+[
+ {
+ "id": "72ace04a.7be558",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 103.75,
+ "y": 43.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "4683e336.13fbec"
+ ]
+ ]
+ },
+ {
+ "id": "4683e336.13fbec",
+ "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": 379.75,
+ "y": 44.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "1e499485.148aab"
+ ]
+ ]
+ },
+ {
+ "id": "1e499485.148aab",
+ "type": "method",
+ "name": "self-serve-generate-name-changeassign",
+ "xml": "<method rpc='self-serve-generate-name-changeassign' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 775.75,
+ "y": 43.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "fce9c766.afb09"
+ ]
+ ]
+ },
+ {
+ "id": "fce9c766.afb09",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 122.25,
+ "y": 126.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "96c99a94.2dd13",
+ "d2f322ed.7ab698",
+ "a1151215.a41af8"
+ ]
+ ]
+ },
+ {
+ "id": "a1151215.a41af8",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$ss.capability-type`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 367.75,
+ "y": 457.86114501953125,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "2d8e8b63.2be73c",
+ "8641945a.85d85",
+ "87d6f1d6.fde57",
+ "b49433f5.4f0a18"
+ ]
+ ]
+ },
+ {
+ "id": "2d8e8b63.2be73c",
+ "type": "outcome",
+ "name": "vnf",
+ "xml": "<outcome value='vnf'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 552.75,
+ "y": 521.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "8257892.ab90ef8"
+ ]
+ ]
+ },
+ {
+ "id": "8641945a.85d85",
+ "type": "outcome",
+ "name": "vf-module",
+ "xml": "<outcome value='vf-module'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 570.1944580078125,
+ "y": 1370.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "3b7a5a5b.0869d6"
+ ]
+ ]
+ },
+ {
+ "id": "87d6f1d6.fde57",
+ "type": "outcome",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 540.861083984375,
+ "y": 2097.3056030273438,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "440694ff.4f3a6c"
+ ]
+ ]
+ },
+ {
+ "id": "b49433f5.4f0a18",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 543.861083984375,
+ "y": 2167.3056030273438,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "440694ff.4f3a6c"
+ ]
+ ]
+ },
+ {
+ "id": "440694ff.4f3a6c",
+ "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=\"capability-type is not vnf or vf-module\" />\n",
+ "comments": "",
+ "x": 728.861083984375,
+ "y": 2127.3056030273438,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "96c99a94.2dd13",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$ss.input.param.index`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 364.75,
+ "y": 169.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "a6eb425f.b8bdd"
+ ]
+ ]
+ },
+ {
+ "id": "d2f322ed.7ab698",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$ss.service-data.param.index`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 366.75,
+ "y": 242.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "4bd1595c.013718"
+ ]
+ ]
+ },
+ {
+ "id": "a6eb425f.b8bdd",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 527.75,
+ "y": 168.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "150b73ba.cd1f84"
+ ]
+ ]
+ },
+ {
+ "id": "4bd1595c.013718",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 530.75,
+ "y": 241.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "2339ed70.e452d2"
+ ]
+ ]
+ },
+ {
+ "id": "150b73ba.cd1f84",
+ "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=\"ss.input.param.index is null\" />\n",
+ "comments": "",
+ "x": 716.75,
+ "y": 168.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "2339ed70.e452d2",
+ "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=\"ss.service-data.param.index is null\" />\n",
+ "comments": "",
+ "x": 717.75,
+ "y": 241.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "fa65e5dc.08b3d8",
+ "type": "execute",
+ "name": "execute NameGenerationNode-changeassign",
+ "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.vnf.changeassign.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"vnf.changeassign.nameGenResponse\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 841.75,
+ "y": 836.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "2e29dd23.0f7632",
+ "268c5fb8.e45f3"
+ ]
+ ]
+ },
+ {
+ "id": "2e29dd23.0f7632",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1082.75,
+ "y": 791.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "a64477a3.5d098"
+ ]
+ ]
+ },
+ {
+ "id": "268c5fb8.e45f3",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1087.75,
+ "y": 889.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "a64477a3.5d098"
+ ]
+ ]
+ },
+ {
+ "id": "a64477a3.5d098",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1239.75,
+ "y": 833.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "735acfc0.69263",
+ "9f441bcd.48c91"
+ ]
+ ]
+ },
+ {
+ "id": "735acfc0.69263",
+ "type": "set",
+ "name": "set status as FAILED",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />",
+ "comments": "",
+ "x": 1440.75,
+ "y": 781.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "9f441bcd.48c91",
+ "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 from NameGenerationNode ChangeAssign vnf ' + $error-message`\" />\n",
+ "comments": "",
+ "x": 1426.75,
+ "y": 890.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "8257892.ab90ef8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 720.75,
+ "y": 521.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "53e3c0e3.64d5d8",
+ "50624aa7.268ebc",
+ "1f68cda.b8d8b32",
+ "fa65e5dc.08b3d8",
+ "8643313e.d4e4a8",
+ "5380e841.bea77"
+ ]
+ ]
+ },
+ {
+ "id": "53e3c0e3.64d5d8",
+ "type": "for",
+ "name": "for service-data.vnf-parameters-data.param index i",
+ "xml": "<for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 888.75,
+ "y": 584.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "67ae549.369122c"
+ ]
+ ]
+ },
+ {
+ "id": "67ae549.369122c",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].name`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1044.75,
+ "y": 646.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "408a6d52.bca67c"
+ ]
+ ]
+ },
+ {
+ "id": "408a6d52.bca67c",
+ "type": "outcome",
+ "name": "external-key",
+ "xml": "<outcome value='external-key'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1230.75,
+ "y": 646.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "9801ba33.1a3de"
+ ]
+ ]
+ },
+ {
+ "id": "9801ba33.1a3de",
+ "type": "set",
+ "name": "set tmp.external-key.value",
+ "xml": "<set>\n<parameter name='tmp.external-key.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].value`' />\n",
+ "comments": "",
+ "x": 1462.75,
+ "y": 646.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "1f68cda.b8d8b32",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name=\"tmp.vnf.changeassign.naming-data-payload\" value=\"`'{&quot;elements&quot;:[{' + '&quot;resource-name&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$ss.input.param.index].name + '&quot;,&quot;resource-value&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$ss.input.param.index].value + '&quot;,&quot;external-key&quot;:&quot;' + $tmp.external-key.value + '&quot;}]'`\"/>",
+ "comments": "",
+ "x": 777.75,
+ "y": 770.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "50624aa7.268ebc",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$tmp.external-key.value`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 748.75,
+ "y": 713.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "c1a7e7c7.bb67c"
+ ]
+ ]
+ },
+ {
+ "id": "c1a7e7c7.bb67c",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 901.75,
+ "y": 712.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "17d289d6.1a9e5e"
+ ]
+ ]
+ },
+ {
+ "id": "17d289d6.1a9e5e",
+ "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=\"self-service-generate-name-changeassign error : external-key is null for vnf\" />\n",
+ "comments": "",
+ "x": 1062.75,
+ "y": 712.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "420ba6ad.26a838",
+ "type": "execute",
+ "name": "execute NameGenerationNode-changeassign",
+ "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.vf-module.changeassign.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"vf-module.changeassign.nameGenResponse\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 900.1944580078125,
+ "y": 1686.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "40004b3f.e2bedc",
+ "a93541ba.8e68b8"
+ ]
+ ]
+ },
+ {
+ "id": "40004b3f.e2bedc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1137.1944580078125,
+ "y": 1640.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "89d30d0a.86861"
+ ]
+ ]
+ },
+ {
+ "id": "a93541ba.8e68b8",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1143.1944580078125,
+ "y": 1740.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "89d30d0a.86861"
+ ]
+ ]
+ },
+ {
+ "id": "89d30d0a.86861",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1290.1944580078125,
+ "y": 1682.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "fc409ea5.e85ae",
+ "e3c25f44.0cb21"
+ ]
+ ]
+ },
+ {
+ "id": "fc409ea5.e85ae",
+ "type": "set",
+ "name": "set status as FAILED",
+ "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.vf-module-parameters.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />",
+ "comments": "",
+ "x": 1499.1944580078125,
+ "y": 1631.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "e3c25f44.0cb21",
+ "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 from NameGenerationNode ChangeAssign vf-module ' + $error-message`\" />\n",
+ "comments": "",
+ "x": 1485.1944580078125,
+ "y": 1740.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "3b7a5a5b.0869d6",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 779.1944580078125,
+ "y": 1371.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "2cccc824.ad2a78",
+ "231cd5d7.8b6a1a",
+ "2c11cde8.d352fa",
+ "420ba6ad.26a838",
+ "828d5f62.22b218",
+ "bd0adc9e.3de71"
+ ]
+ ]
+ },
+ {
+ "id": "2cccc824.ad2a78",
+ "type": "for",
+ "name": "for service-data.vnf-parameters-data.param index i",
+ "xml": "<for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 947.1944580078125,
+ "y": 1434.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "5e430810.e35d5"
+ ]
+ ]
+ },
+ {
+ "id": "5e430810.e35d5",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].name`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1101.1944580078125,
+ "y": 1496.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "1cd2631e.5000ad"
+ ]
+ ]
+ },
+ {
+ "id": "1cd2631e.5000ad",
+ "type": "outcome",
+ "name": "external-key",
+ "xml": "<outcome value='external-key'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1287.1944580078125,
+ "y": 1496.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "b5e021a4.2b14"
+ ]
+ ]
+ },
+ {
+ "id": "b5e021a4.2b14",
+ "type": "set",
+ "name": "set tmp.external-key.value",
+ "xml": "<set>\n<parameter name='tmp.external-key.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].value`' />\n",
+ "comments": "",
+ "x": 1519.1944580078125,
+ "y": 1496.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "2c11cde8.d352fa",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name=\"tmp.vf-module.changeassign.naming-data-payload\" value=\"`'{&quot;elements&quot;:[{' + '&quot;resource-name&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].name + '&quot;,&quot;resource-value&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value + '&quot;,&quot;external-key&quot;:&quot;' + $tmp.external-key.value + '&quot;}]'`\"/>",
+ "comments": "",
+ "x": 836.1944580078125,
+ "y": 1620.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "231cd5d7.8b6a1a",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$tmp.external-key.value`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 807.1944580078125,
+ "y": 1563.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "c92f1042.b4f728"
+ ]
+ ]
+ },
+ {
+ "id": "c92f1042.b4f728",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 960.1944580078125,
+ "y": 1562.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "928dfda3.a334e"
+ ]
+ ]
+ },
+ {
+ "id": "928dfda3.a334e",
+ "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=\"self-service-generate-name-changeassign error : external-key is null for vf-module\" />\n",
+ "comments": "",
+ "x": 1121.1944580078125,
+ "y": 1562.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "e9758b29.f137c8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 893.7499389648438,
+ "y": 956.6388549804688,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "866c1fb3.eb77a"
+ ]
+ ]
+ },
+ {
+ "id": "866c1fb3.eb77a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1059.3056640625,
+ "y": 1001.1944427490234,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "e7f01e3.2acaae",
+ "712546c8.9b5af"
+ ]
+ ]
+ },
+ {
+ "id": "e7f01e3.2acaae",
+ "type": "set",
+ "name": "set status as FAILED",
+ "xml": "<set>\n\t<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />",
+ "comments": "",
+ "x": 1268.75,
+ "y": 956.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "712546c8.9b5af",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Failed to update generic-vnf.vnf-name to ' + $ss.changeassign.vnf-name + ' in AnAI'`\" />\n",
+ "comments": "",
+ "x": 1256.75,
+ "y": 1044.75,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "5380e841.bea77",
+ "type": "set",
+ "name": "set success",
+ "xml": "<set>\n\t <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].value`' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$ss.input.param.index].value`'/>\n\t <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.status`' value='SUCCESS' />",
+ "comments": "",
+ "x": 690.8611450195312,
+ "y": 1085.6388549804688,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "c57b7486.a57b1",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 961.861083984375,
+ "y": 1811.8609008789062,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "4fc9b736.8d6e3"
+ ]
+ ]
+ },
+ {
+ "id": "4fc9b736.8d6e3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1125.1944580078125,
+ "y": 1847.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "c4cb3411.ce3c08",
+ "5be64b3b.d3de2c"
+ ]
+ ]
+ },
+ {
+ "id": "c4cb3411.ce3c08",
+ "type": "set",
+ "name": "set status as FAILED",
+ "xml": "<set>\n\t<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[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />",
+ "comments": "",
+ "x": 1340.1944580078125,
+ "y": 1807.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "5be64b3b.d3de2c",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Failed to update vf-module.vf-module-name to ' + $ss.changeassign.vf-module-name + ' in AnAI'`\" />\n",
+ "comments": "",
+ "x": 1328.1944580078125,
+ "y": 1895.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "bd0adc9e.3de71",
+ "type": "set",
+ "name": "set success",
+ "xml": "<set>\n\t <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[$ss.service-data.param.index].value`' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value`'/>\n\t <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[$ss.service-data.param.index].resource-resolution-data.status`' value='SUCCESS' />",
+ "comments": "",
+ "x": 791.1944580078125,
+ "y": 1937.527587890625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "3ab1de2e.107f4a",
+ "type": "comment",
+ "name": "For VNF genname changeassign",
+ "info": "",
+ "comments": "",
+ "x": 634.9722290039062,
+ "y": 457.9722595214844,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "acf466b0.cd99d",
+ "type": "comment",
+ "name": "For VF-MODULE genname changeassign",
+ "info": "",
+ "comments": "",
+ "x": 670.5277709960938,
+ "y": 1280.194580078125,
+ "z": "8e64cd0a.c97ea8",
+ "wires": []
+ },
+ {
+ "id": "8643313e.d4e4a8",
+ "type": "save",
+ "name": "update generic-vnf",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \" >\n<parameter name=\"ipv4-loopback0-address\" value='`$ss.param.ipv4-loopback0-address`' />\n<parameter name=\"ipv4-oam-address\" value='`$ss.param.ipv4-oam-address`' />\n<parameter name=\"as-number\" value='`$ss.param.as-number`' />\n<parameter name=\"vlan-id-outer\" value='`$ss.param.vlan-id-outer`' />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 714.97216796875,
+ "y": 997.9722900390625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "e9758b29.f137c8",
+ "291e7999.8fd276"
+ ]
+ ]
+ },
+ {
+ "id": "828d5f62.22b218",
+ "type": "save",
+ "name": "update vf-module",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"vf-module\"\n\t\tkey=\"generic-vnf.vnf-id = $ss.param.vnf-id \n\t\t\tAND vf-module.vf-module-id = $ss.param.vf-module-id \" >\n<parameter name=\"vf-module-name\" value='`$ss.param.vf-module-name`' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 792.75,
+ "y": 1847.9722900390625,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "c57b7486.a57b1",
+ "5cf0712f.35945"
+ ]
+ ]
+ },
+ {
+ "id": "5cf0712f.35945",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.4166870117188,
+ "y": 1897.9719848632812,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "4fc9b736.8d6e3"
+ ]
+ ]
+ },
+ {
+ "id": "291e7999.8fd276",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 897.1945190429688,
+ "y": 1046.8611450195312,
+ "z": "8e64cd0a.c97ea8",
+ "wires": [
+ [
+ "866c1fb3.eb77a"
+ ]
+ ]
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name.json
index 4033111f..34896b70 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name.json
@@ -1,2072 +1,2876 @@
-[
- {
- "id": "83c4c357.9dc39",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 130,
- "y": 90,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "9604180f.cb4db8"
- ]
- ]
- },
- {
- "id": "9604180f.cb4db8",
- "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": 388,
- "y": 90,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "af8f1e4c.cfc74"
- ]
- ]
- },
- {
- "id": "af8f1e4c.cfc74",
- "type": "method",
- "name": "self-serve-generate-name",
- "xml": "<method rpc='self-serve-generate-name' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 693,
- "y": 90,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "2086f0e1.00b83"
- ]
- ]
- },
- {
- "id": "2086f0e1.00b83",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 192,
- "y": 176,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "62037e9a.ca2458",
- "b9bbc864.527688",
- "3b7aed1.23a8c12",
- "60e850da.d148d8"
- ]
- ]
- },
- {
- "id": "f59e3ac.5bbea48",
- "type": "execute",
- "name": "execute replace extra comma",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',}' />\n <parameter name='replacement' value='}' />",
- "comments": "",
- "outputs": 1,
- "x": 1422,
- "y": 915,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "62037e9a.ca2458",
- "type": "set",
- "name": "set capability-name",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />\n",
- "comments": "",
- "x": 391,
- "y": 177,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "b9bbc864.527688",
- "type": "call",
- "name": "call capability-param-resolution",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 429,
- "y": 242,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "9a7984f8.d045a",
- "a106fa43.728e6"
- ]
- ]
- },
- {
- "id": "a7d01c46.7ed298",
- "type": "for",
- "name": "for vnf-parameters-data",
- "xml": "<for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 731.5,
- "y": 452,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "79cbdffb.5625c"
- ]
- ]
- },
- {
- "id": "79cbdffb.5625c",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 961.5,
- "y": 452,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "b56a34bf.677dd"
- ]
- ]
- },
- {
- "id": "b56a34bf.677dd",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1146.5,
- "y": 452,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "6f944674.7628e"
- ]
- ]
- },
- {
- "id": "4f2156d5.7eee6",
- "type": "for",
- "name": "for vnf-parameters-data",
- "xml": "<for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1391.5,
- "y": 716,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "605bf355.cd218c"
- ]
- ]
- },
- {
- "id": "9a7984f8.d045a",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 652,
- "y": 210,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "81307ed2.8a94a"
- ]
- ]
- },
- {
- "id": "a106fa43.728e6",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 661,
- "y": 276,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "81307ed2.8a94a"
- ]
- ]
- },
- {
- "id": "81307ed2.8a94a",
- "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 from capability-param-resolution\" />\n",
- "comments": "",
- "x": 854,
- "y": 210,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "8477c998.03573",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name=\"tmp.naming-data-payload\" value=\"`$tmp.naming-data-payload + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`\"/>",
- "comments": "",
- "x": 1994,
- "y": 714,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "6f944674.7628e",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 726,
- "y": 524,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "acd997c.8f22fe8",
- "19f72049.c5871"
- ]
- ]
- },
- {
- "id": "f3fa18cc.0c1d8",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
- "comments": "",
- "x": 1389,
- "y": 639,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "3ee20a3c.f8edd6",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
- "comments": "",
- "x": 1389,
- "y": 778,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "69cbbbed.9fa5e4",
- "type": "set",
- "name": "set close payload list",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
- "comments": "",
- "x": 1395,
- "y": 843,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "3e881059.2f2cd8",
- "type": "execute",
- "name": "execute replace extra comma",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',]' />\n <parameter name='replacement' value=']' />",
- "comments": "",
- "outputs": 1,
- "x": 1425,
- "y": 969,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "ea1ca046.5e2668",
- "type": "execute",
- "name": "execute NameGenerationNode-unassign",
- "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.UnAssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"nameGenResponse\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1451,
- "y": 1026,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "eee95f1a.f9e658",
- "c109cce2.3819c8"
- ]
- ]
- },
- {
- "id": "eee95f1a.f9e658",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1726,
- "y": 976,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "1f694574.fea8db"
- ]
- ]
- },
- {
- "id": "21b3a902.2a28e6",
- "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 from NameGenerationNode Unassign\" />\n",
- "comments": "",
- "x": 2091,
- "y": 1076,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "c109cce2.3819c8",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1731,
- "y": 1075,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "1f694574.fea8db"
- ]
- ]
- },
- {
- "id": "1f694574.fea8db",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1889,
- "y": 1020,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "cf5a56b9.ac4db",
- "21b3a902.2a28e6"
- ]
- ]
- },
- {
- "id": "cf5a56b9.ac4db",
- "type": "set",
- "name": "set status as FAILED",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />",
- "comments": "",
- "x": 2105,
- "y": 967,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "acd997c.8f22fe8",
- "type": "switchNode",
- "name": "switch capability action unassign",
- "xml": "<switch test=\"`$ss.capability-action == 'unassign'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 972,
- "y": 580,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "e07fb5f3.783d08"
- ]
- ]
- },
- {
- "id": "e07fb5f3.783d08",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1180,
- "y": 580,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "f1c3c9fd.f1c5a"
- ]
- ]
- },
- {
- "id": "19f72049.c5871",
- "type": "switchNode",
- "name": "switch capability action assign",
- "xml": "<switch test=\"`$ss.capability-action == 'assign'`\">",
- "comments": "",
- "outputs": 1,
- "x": 960,
- "y": 1796,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "1345f4df.4b6d6b"
- ]
- ]
- },
- {
- "id": "1345f4df.4b6d6b",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1189,
- "y": 1796,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "55135596.9d3dbc"
- ]
- ]
- },
- {
- "id": "1c3375c5.7f4eb2",
- "type": "for",
- "name": "for vnf-parameters-data",
- "xml": "<for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1637,
- "y": 1271,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "e358340b.c7c068"
- ]
- ]
- },
- {
- "id": "77b166f5.05823",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1840,
- "y": 1489,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "88f003e2.c6bad"
- ]
- ]
- },
- {
- "id": "88f003e2.c6bad",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2050,
- "y": 1489,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "95192879.db03b"
- ]
- ]
- },
- {
- "id": "95192879.db03b",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n",
- "comments": "",
- "x": 2246.5,
- "y": 1490,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "fa36f91.4e88208",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.response-payload\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1406,
- "y": 1174,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "3c2ddcd0.83c2b4",
- "type": "for",
- "name": "for response elements",
- "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1399,
- "y": 1270,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "1c3375c5.7f4eb2"
- ]
- ]
- },
- {
- "id": "e358340b.c7c068",
- "type": "execute",
- "name": "slistringUtils - check value for $",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
- "comments": "",
- "outputs": 1,
- "x": 1941,
- "y": 1271,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "4de47180.92ccc"
- ]
- ]
- },
- {
- "id": "4de47180.92ccc",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2181,
- "y": 1270,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "f9db83bf.c14658"
- ]
- ]
- },
- {
- "id": "6382d7ef.87d61",
- "type": "execute",
- "name": "split resource-resolution-data",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\n <parameter name='original_string' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1848,
- "y": 1341,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "54d8508a.81b1b8",
- "type": "execute",
- "name": "split resource-resolution-split-1",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='s2' />\n <parameter name='original_string' value='`$resource-resolution-split[1]`' />\n <parameter name='regex' value='\\}' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1863,
- "y": 1424,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "f9db83bf.c14658",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1632,
- "y": 1341,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "6382d7ef.87d61",
- "54d8508a.81b1b8",
- "77b166f5.05823"
- ]
- ]
- },
- {
- "id": "f1c3c9fd.f1c5a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1182,
- "y": 642,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "f3fa18cc.0c1d8",
- "4f2156d5.7eee6",
- "3ee20a3c.f8edd6",
- "69cbbbed.9fa5e4",
- "f59e3ac.5bbea48",
- "ea1ca046.5e2668",
- "fa36f91.4e88208",
- "d9e65974.b749d8",
- "3c2ddcd0.83c2b4",
- "3e881059.2f2cd8"
- ]
- ]
- },
- {
- "id": "d9e65974.b749d8",
- "type": "set",
- "name": "set status as DELETED",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='DELETED' />",
- "comments": "",
- "x": 1404,
- "y": 1224,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "ead23b8b.faf658",
- "type": "execute",
- "name": "execute replace extra comma",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',}' />\n <parameter name='replacement' value='}' />",
- "comments": "",
- "outputs": 1,
- "x": 1435,
- "y": 2155,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "47f1f7bb.12786",
- "type": "for",
- "name": "for vnf-parameters-data",
- "xml": "<for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1404.5,
- "y": 1956,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "9a68b04e.73523"
- ]
- ]
- },
- {
- "id": "9a68b04e.73523",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name=\"tmp.naming-data-payload\" value=\"`$tmp.naming-data-payload + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`\"/>",
- "comments": "",
- "x": 1675,
- "y": 1957,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "fe45dbf4.302c3",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
- "comments": "",
- "x": 1402,
- "y": 1879,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "3b628590.b42b3a",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
- "comments": "",
- "x": 1402,
- "y": 2018,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "397bc60e.b881a2",
- "type": "set",
- "name": "set close payload list",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
- "comments": "",
- "x": 1408,
- "y": 2083,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "a2dff58c.13be1",
- "type": "execute",
- "name": "execute replace extra comma",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',]' />\n <parameter name='replacement' value=']' />",
- "comments": "",
- "outputs": 1,
- "x": 1438,
- "y": 2209,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "7262b464.b9e4ec",
- "type": "execute",
- "name": "execute NameGenerationNode-assign",
- "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"nameGenResponse\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1464,
- "y": 2266,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "f84348e6.228948",
- "45baba32.3a97c4"
- ]
- ]
- },
- {
- "id": "f84348e6.228948",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1739,
- "y": 2216,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "64e193dd.dfac0c"
- ]
- ]
- },
- {
- "id": "515ae124.29a79",
- "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 from NameGenerationNode Assign\" />\n",
- "comments": "",
- "x": 2104,
- "y": 2316,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "45baba32.3a97c4",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1744,
- "y": 2315,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "64e193dd.dfac0c"
- ]
- ]
- },
- {
- "id": "64e193dd.dfac0c",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1902,
- "y": 2260,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "169a3304.a1a2e5",
- "515ae124.29a79"
- ]
- ]
- },
- {
- "id": "169a3304.a1a2e5",
- "type": "set",
- "name": "set status as FAILED",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />",
- "comments": "",
- "x": 2118,
- "y": 2207,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "228e3f19.57aaa8",
- "type": "for",
- "name": "for vnf-parameters-data",
- "xml": "<for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1650,
- "y": 2511,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "60984fa4.b1e438"
- ]
- ]
- },
- {
- "id": "7fce4ad1.85e74c",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1853,
- "y": 2729,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "cc8bc379.37b0b"
- ]
- ]
- },
- {
- "id": "cc8bc379.37b0b",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2063,
- "y": 2729,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "29b45c41.435534"
- ]
- ]
- },
- {
- "id": "29b45c41.435534",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n",
- "comments": "",
- "x": 2259.5,
- "y": 2730,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "1d9cbff6.ababf",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.response-payload\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1419,
- "y": 2414,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "7a82e27d.2c3424",
- "type": "for",
- "name": "for response elements",
- "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1412,
- "y": 2510,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "228e3f19.57aaa8"
- ]
- ]
- },
- {
- "id": "60984fa4.b1e438",
- "type": "execute",
- "name": "slistringUtils - check value for $",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
- "comments": "",
- "outputs": 1,
- "x": 1954,
- "y": 2511,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "a9536dd8.3e0148"
- ]
- ]
- },
- {
- "id": "a9536dd8.3e0148",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2194,
- "y": 2510,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "eeae6477.d0694"
- ]
- ]
- },
- {
- "id": "f9658edf.b87da8",
- "type": "execute",
- "name": "split resource-resolution-data",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\n <parameter name='original_string' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1861,
- "y": 2581,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "79a86e40.517d48",
- "type": "execute",
- "name": "split resource-resolution-split-1",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='s2' />\n <parameter name='original_string' value='`$resource-resolution-split[1]`' />\n <parameter name='regex' value='\\}' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1876,
- "y": 2664,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "eeae6477.d0694",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1645,
- "y": 2581,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "f9658edf.b87da8",
- "79a86e40.517d48",
- "7fce4ad1.85e74c"
- ]
- ]
- },
- {
- "id": "55135596.9d3dbc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1195,
- "y": 1882,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "fe45dbf4.302c3",
- "47f1f7bb.12786",
- "3b628590.b42b3a",
- "397bc60e.b881a2",
- "ead23b8b.faf658",
- "7262b464.b9e4ec",
- "1d9cbff6.ababf",
- "7ff20590.e25864",
- "7a82e27d.2c3424",
- "a2dff58c.13be1"
- ]
- ]
- },
- {
- "id": "7ff20590.e25864",
- "type": "set",
- "name": "set status as SUCCESS",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='SUCCESS' />",
- "comments": "",
- "x": 1417,
- "y": 2464,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "605bf355.cd218c",
- "type": "switchNode",
- "name": "switch external-key",
- "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name == 'external-key'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 1630,
- "y": 715,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "1ac238ba.38c8cf"
- ]
- ]
- },
- {
- "id": "1ac238ba.38c8cf",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1814,
- "y": 715,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "8477c998.03573"
- ]
- ]
- },
- {
- "id": "ede9fa35.b00548",
- "type": "execute",
- "name": "execute replace extra comma",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',}' />\n <parameter name='replacement' value='}' />",
- "comments": "",
- "outputs": 1,
- "x": 1449,
- "y": 3248,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "57b3571e.19cb88",
- "type": "for",
- "name": "for vnf-parameters-data",
- "xml": "<for index='i' start='0' end='`$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_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 758.5,
- "y": 2785,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "7d63d6cd.c98e48"
- ]
- ]
- },
- {
- "id": "7d63d6cd.c98e48",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$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[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 988.5,
- "y": 2785,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "93dde06c.d3bc28"
- ]
- ]
- },
- {
- "id": "93dde06c.d3bc28",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1173.5,
- "y": 2785,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "8d654101.f172b"
- ]
- ]
- },
- {
- "id": "7ed0b2b5.e662b4",
- "type": "for",
- "name": "for vf-module-parameters",
- "xml": "<for index='j' start='0' end='`$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[$i].resource-resolution-data.resource-key_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1418.5,
- "y": 3049,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "6b561ade.3e62fc"
- ]
- ]
- },
- {
- "id": "b15b1561.90f45",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name=\"tmp.naming-data-payload\" value=\"`$tmp.naming-data-payload + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`\"/>",
- "comments": "",
- "x": 2021,
- "y": 3047,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "8d654101.f172b",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 753,
- "y": 2857,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "818b77b7.ae2798",
- "2acf0683.7c50ba"
- ]
- ]
- },
- {
- "id": "4c1ecc65.8266dc",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
- "comments": "",
- "x": 1416,
- "y": 2972,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "3e850e38.1def12",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
- "comments": "",
- "x": 1416,
- "y": 3111,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "35f073d1.ba7aa4",
- "type": "set",
- "name": "set close payload list",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
- "comments": "",
- "x": 1422,
- "y": 3176,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "529fefee.dbc64",
- "type": "execute",
- "name": "execute replace extra comma",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',]' />\n <parameter name='replacement' value=']' />",
- "comments": "",
- "outputs": 1,
- "x": 1452,
- "y": 3302,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "6e69306.f9efc5",
- "type": "execute",
- "name": "execute NameGenerationNode-unassign",
- "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.UnAssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"nameGenResponse\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1478,
- "y": 3359,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "cd75df1e.730f",
- "ed490565.9f3ba8"
- ]
- ]
- },
- {
- "id": "cd75df1e.730f",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1753,
- "y": 3309,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "4cb7581c.cb3dc"
- ]
- ]
- },
- {
- "id": "4a53ab2d.04c074",
- "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 from NameGenerationNode Unassign\" />\n",
- "comments": "",
- "x": 2118,
- "y": 3409,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "ed490565.9f3ba8",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1758,
- "y": 3408,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "4cb7581c.cb3dc"
- ]
- ]
- },
- {
- "id": "4cb7581c.cb3dc",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1916,
- "y": 3353,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "23af7bb1.7f209c",
- "4a53ab2d.04c074"
- ]
- ]
- },
- {
- "id": "23af7bb1.7f209c",
- "type": "set",
- "name": "set status as FAILED",
- "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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='FAILED' />",
- "comments": "",
- "x": 2132,
- "y": 3300,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "818b77b7.ae2798",
- "type": "switchNode",
- "name": "switch capability action unassign",
- "xml": "<switch test=\"`$ss.capability-action == 'unassign'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 999,
- "y": 2913,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "9881c026.6d7e"
- ]
- ]
- },
- {
- "id": "9881c026.6d7e",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1207,
- "y": 2913,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "1538055c.946ffb"
- ]
- ]
- },
- {
- "id": "2acf0683.7c50ba",
- "type": "switchNode",
- "name": "switch capability action assign",
- "xml": "<switch test=\"`$ss.capability-action == 'assign'`\">",
- "comments": "",
- "outputs": 1,
- "x": 987,
- "y": 4129,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "3f383b83.fe4da4"
- ]
- ]
- },
- {
- "id": "3f383b83.fe4da4",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1216,
- "y": 4129,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "c01355fc.047ae8"
- ]
- ]
- },
- {
- "id": "55f1fd23.af2894",
- "type": "for",
- "name": "for vf-module-parameters",
- "xml": "<for index='l' start='0' end='`$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_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1664,
- "y": 3604,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "cdf4a4f1.7cbd5"
- ]
- ]
- },
- {
- "id": "5291bedf.b4c34",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1867,
- "y": 3822,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "2e4a7581.ea6382"
- ]
- ]
- },
- {
- "id": "2e4a7581.ea6382",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2077,
- "y": 3822,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "4a99e293.704f1c"
- ]
- ]
- },
- {
- "id": "4a99e293.704f1c",
- "type": "set",
- "name": "set set payload 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.vf-module-parameters.param[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n",
- "comments": "",
- "x": 2273.5,
- "y": 3823,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "d90cbda1.ab8598",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.response-payload\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1433,
- "y": 3507,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "d6564825.875ba8",
- "type": "for",
- "name": "for response elements",
- "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1426,
- "y": 3603,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "55f1fd23.af2894"
- ]
- ]
- },
- {
- "id": "cdf4a4f1.7cbd5",
- "type": "execute",
- "name": "slistringUtils - check value for $",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
- "comments": "",
- "outputs": 1,
- "x": 1968,
- "y": 3604,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "80b3324.fa11ed"
- ]
- ]
- },
- {
- "id": "80b3324.fa11ed",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2208,
- "y": 3603,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "7fc56707.0572e8"
- ]
- ]
- },
- {
- "id": "b215066e.bf6d78",
- "type": "execute",
- "name": "split resource-resolution-data",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\n <parameter name='original_string' value='`$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[$l].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1875,
- "y": 3674,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "79e3e1e0.edca3",
- "type": "execute",
- "name": "split resource-resolution-split-1",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='s2' />\n <parameter name='original_string' value='`$resource-resolution-split[1]`' />\n <parameter name='regex' value='\\}' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1890,
- "y": 3757,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "7fc56707.0572e8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1659,
- "y": 3674,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "b215066e.bf6d78",
- "79e3e1e0.edca3",
- "5291bedf.b4c34"
- ]
- ]
- },
- {
- "id": "1538055c.946ffb",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1209,
- "y": 2975,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "4c1ecc65.8266dc",
- "7ed0b2b5.e662b4",
- "3e850e38.1def12",
- "35f073d1.ba7aa4",
- "ede9fa35.b00548",
- "6e69306.f9efc5",
- "d90cbda1.ab8598",
- "1484c014.0b63d8",
- "d6564825.875ba8",
- "529fefee.dbc64"
- ]
- ]
- },
- {
- "id": "1484c014.0b63d8",
- "type": "set",
- "name": "set status as DELETED",
- "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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='DELETED' />",
- "comments": "",
- "x": 1431,
- "y": 3557,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "cc07bd7d.2ebad8",
- "type": "execute",
- "name": "execute replace extra comma",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',}' />\n <parameter name='replacement' value='}' />",
- "comments": "",
- "outputs": 1,
- "x": 1462,
- "y": 4488,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "af1739a6.c3e33",
- "type": "for",
- "name": "for vf-module-parameters",
- "xml": "<for index='j' start='0' end='`$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[$i].resource-resolution-data.resource-key_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1431.5,
- "y": 4289,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "7f75e4e.daf2d9c",
- "4f414ac6.1c4adc"
- ]
- ]
- },
- {
- "id": "7f75e4e.daf2d9c",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name=\"tmp.naming-data-payload\" value=\"`$tmp.naming-data-payload + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`\"/>",
- "comments": "",
- "x": 1702,
- "y": 4290,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "a230d379.a03f1",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
- "comments": "",
- "x": 1429,
- "y": 4212,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "c324f948.bab3c",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
- "comments": "",
- "x": 1429,
- "y": 4351,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "dd94b5e2.e4de4",
- "type": "set",
- "name": "set close payload list",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
- "comments": "",
- "x": 1435,
- "y": 4416,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "abbbbd7e.d06118",
- "type": "execute",
- "name": "execute replace extra comma",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',]' />\n <parameter name='replacement' value=']' />",
- "comments": "",
- "outputs": 1,
- "x": 1465,
- "y": 4542,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "fe683bd5.6243a8",
- "type": "execute",
- "name": "execute NameGenerationNode-assign",
- "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"nameGenResponse\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1491,
- "y": 4599,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "91c16bd6.61a5c",
- "146eff5.d60eb01"
- ]
- ]
- },
- {
- "id": "91c16bd6.61a5c",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1766,
- "y": 4549,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "d4a5b4e0.8baeb8"
- ]
- ]
- },
- {
- "id": "7ff75d57.380c84",
- "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 from NameGenerationNode Assign\" />\n",
- "comments": "",
- "x": 2131,
- "y": 4649,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "146eff5.d60eb01",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1771,
- "y": 4648,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "d4a5b4e0.8baeb8"
- ]
- ]
- },
- {
- "id": "d4a5b4e0.8baeb8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1929,
- "y": 4593,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "dc98c503.2f291",
- "7ff75d57.380c84"
- ]
- ]
- },
- {
- "id": "dc98c503.2f291",
- "type": "set",
- "name": "set status as FAILED",
- "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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='FAILED' />",
- "comments": "",
- "x": 2145,
- "y": 4540,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "37661303.714934",
- "type": "for",
- "name": "for vf-module-parameters",
- "xml": "<for index='l' start='0' end='`$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_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1677,
- "y": 4844,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "983598ab.10f78"
- ]
- ]
- },
- {
- "id": "e7f9e3fb.9e7de",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1880,
- "y": 5062,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "3c1df4f4.c8cb54"
- ]
- ]
- },
- {
- "id": "3c1df4f4.c8cb54",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2090,
- "y": 5062,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "55908959.6e6d7"
- ]
- ]
- },
- {
- "id": "55908959.6e6d7",
- "type": "set",
- "name": "set set payload 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.vf-module-parameters.param[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n",
- "comments": "",
- "x": 2286.5,
- "y": 5063,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "a7100ceb.e2c178",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.response-payload\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1446,
- "y": 4747,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "eb6d80d4.d85da8",
- "type": "for",
- "name": "for response elements",
- "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1439,
- "y": 4843,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "37661303.714934"
- ]
- ]
- },
- {
- "id": "983598ab.10f78",
- "type": "execute",
- "name": "slistringUtils - check value for $",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
- "comments": "",
- "outputs": 1,
- "x": 1981,
- "y": 4844,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "98402a17.631798"
- ]
- ]
- },
- {
- "id": "98402a17.631798",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2221,
- "y": 4843,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "320e20df.29f5d8"
- ]
- ]
- },
- {
- "id": "d43b7f49.e6a1b8",
- "type": "execute",
- "name": "split resource-resolution-data",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\n <parameter name='original_string' value='`$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[$l].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1888,
- "y": 4914,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "4d03e536.108c3c",
- "type": "execute",
- "name": "split resource-resolution-split-1",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='s2' />\n <parameter name='original_string' value='`$resource-resolution-split[1]`' />\n <parameter name='regex' value='\\}' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1903,
- "y": 4997,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- },
- {
- "id": "320e20df.29f5d8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1672,
- "y": 4914,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "d43b7f49.e6a1b8",
- "4d03e536.108c3c",
- "e7f9e3fb.9e7de"
- ]
- ]
- },
- {
- "id": "c01355fc.047ae8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1222,
- "y": 4215,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "a230d379.a03f1",
- "af1739a6.c3e33",
- "c324f948.bab3c",
- "dd94b5e2.e4de4",
- "cc07bd7d.2ebad8",
- "fe683bd5.6243a8",
- "a7100ceb.e2c178",
- "1ed9f122.3e69f7",
- "eb6d80d4.d85da8",
- "abbbbd7e.d06118"
- ]
- ]
- },
- {
- "id": "1ed9f122.3e69f7",
- "type": "set",
- "name": "set status as SUCCESS",
- "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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='SUCCESS' />",
- "comments": "",
- "x": 1444,
- "y": 4797,
- "z": "d296ce47.7642e8",
- "wires": []
- },
- {
- "id": "6b561ade.3e62fc",
- "type": "switchNode",
- "name": "switch external-key",
- "xml": "<switch test=\"`$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[$i].resource-resolution-data.resource-key[$j].name == 'external-key'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 1657,
- "y": 3048,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "ff11e5eb.0359"
- ]
- ]
- },
- {
- "id": "ff11e5eb.0359",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1841,
- "y": 3048,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "b15b1561.90f45"
- ]
- ]
- },
- {
- "id": "3b7aed1.23a8c12",
- "type": "switchNode",
- "name": "switch capability-type. vnf",
- "xml": "<switch test=\"`$ss.capability-type == 'vnf'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 401,
- "y": 347,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "833ca28a.1746b8"
- ]
- ]
- },
- {
- "id": "833ca28a.1746b8",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 573,
- "y": 392,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "a7d01c46.7ed298"
- ]
- ]
- },
- {
- "id": "60e850da.d148d8",
- "type": "switchNode",
- "name": "switch capability-type vf-module",
- "xml": "<switch test=\"`$ss.capability-type == 'vf-module'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 507,
- "y": 2647,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "eee0343f.f1beb8"
- ]
- ]
- },
- {
- "id": "eee0343f.f1beb8",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 664,
- "y": 2707,
- "z": "d296ce47.7642e8",
- "wires": [
- [
- "57b3571e.19cb88"
- ]
- ]
- },
- {
- "id": "4f414ac6.1c4adc",
- "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=\"level\" value=\"info\" /> \n<parameter name=\"field1\" value=\"`'AJJJ13' + $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[$i].resource-resolution-data.resource-key[$j].name`\" />\n<parameter name=\"field2\" value=\"`'AJJJ14' + $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[$i].resource-resolution-data.resource-key[$j].value`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1650,
- "y": 4204,
- "z": "d296ce47.7642e8",
- "wires": [
- []
- ]
- }
+[
+ {
+ "id": "a0fcff67.f90228",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 87.14288330078125,
+ "y": 81.42857360839844,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "77ff7670.28ec1"
+ ]
+ ]
+ },
+ {
+ "id": "77ff7670.28ec1",
+ "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": 352.2857360839844,
+ "y": 81.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "8198a596.8587a8"
+ ]
+ ]
+ },
+ {
+ "id": "8198a596.8587a8",
+ "type": "method",
+ "name": "self-serve-generate-name",
+ "xml": "<method rpc='self-serve-generate-name' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 657.2857360839844,
+ "y": 81.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "d1eee6c3.444198"
+ ]
+ ]
+ },
+ {
+ "id": "d1eee6c3.444198",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 156.28573608398438,
+ "y": 167.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "350eff4d.2e40a",
+ "e1ffb57d.53823",
+ "32827181.a6b956",
+ "de00c7d5.b7368"
+ ]
+ ]
+ },
+ {
+ "id": "a5d9b0a3.665e9",
+ "type": "execute",
+ "name": "execute replace extra comma",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',}' />\n <parameter name='replacement' value='}' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1722.0000915527344,
+ "y": 893.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "350eff4d.2e40a",
+ "type": "set",
+ "name": "set capability-name",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />\n",
+ "comments": "",
+ "x": 355.2857360839844,
+ "y": 168.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "e1ffb57d.53823",
+ "type": "call",
+ "name": "call capability-param-resolution",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 393.2857360839844,
+ "y": 233.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "e6cffea2.05b508",
+ "d29f4ed4.70282"
+ ]
+ ]
+ },
+ {
+ "id": "c8ae8fb3.2b106",
+ "type": "for",
+ "name": "for vnf-parameters-data",
+ "xml": "<for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1155.785888671875,
+ "y": 524.8570861816406,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "29db996f.2f77fe"
+ ]
+ ]
+ },
+ {
+ "id": "29db996f.2f77fe",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1398.6429443359375,
+ "y": 524.8570861816406,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "fa3c082e.e81b98"
+ ]
+ ]
+ },
+ {
+ "id": "fa3c082e.e81b98",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1579.3572998046875,
+ "y": 524.8570709228516,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "ecb50e0c.b6f238"
+ ]
+ ]
+ },
+ {
+ "id": "9b45dec.f68242",
+ "type": "for",
+ "name": "for vnf-parameters-data",
+ "xml": "<for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1691.5000915527344,
+ "y": 694.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "83953b14.cd3cc"
+ ]
+ ]
+ },
+ {
+ "id": "e6cffea2.05b508",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 616.2857360839844,
+ "y": 201.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "3bec3c36.db162c"
+ ]
+ ]
+ },
+ {
+ "id": "d29f4ed4.70282",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 625.2857360839844,
+ "y": 267.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "3bec3c36.db162c"
+ ]
+ ]
+ },
+ {
+ "id": "3bec3c36.db162c",
+ "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 from capability-param-resolution\" />\n",
+ "comments": "",
+ "x": 818.2857360839844,
+ "y": 201.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "d44e28a5.a5361",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name=\"tmp.naming-data-payload\" value=\"`$tmp.naming-data-payload + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`\"/>",
+ "comments": "",
+ "x": 2294.0000915527344,
+ "y": 692.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "561c14d8.97e21c",
+ "type": "set",
+ "name": "set set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
+ "comments": "",
+ "x": 1689.000244140625,
+ "y": 620.4284362792969,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "755059e1.8e09a8",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
+ "comments": "",
+ "x": 1689.0000915527344,
+ "y": 756.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "bc43a903.45bae8",
+ "type": "set",
+ "name": "set close payload list",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
+ "comments": "",
+ "x": 1695.0000915527344,
+ "y": 821.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "d6e4c46a.7a8e5",
+ "type": "execute",
+ "name": "execute replace extra comma",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',]' />\n <parameter name='replacement' value=']' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1725.0000915527344,
+ "y": 947.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "87e249a7.d2d76",
+ "type": "execute",
+ "name": "execute NameGenerationNode-unassign",
+ "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.UnAssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"nameGenResponse\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1751.0000915527344,
+ "y": 1004.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "e6a3bbe9.313368",
+ "77d6fd82.74cf9c"
+ ]
+ ]
+ },
+ {
+ "id": "e6a3bbe9.313368",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2026.0000915527344,
+ "y": 954.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1105b68e.0b87b9"
+ ]
+ ]
+ },
+ {
+ "id": "6b43378b.4fca7",
+ "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 from NameGenerationNode Unassign\" />\n",
+ "comments": "",
+ "x": 2391.0000915527344,
+ "y": 1054.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "77d6fd82.74cf9c",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2031.0000915527344,
+ "y": 1053.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1105b68e.0b87b9"
+ ]
+ ]
+ },
+ {
+ "id": "1105b68e.0b87b9",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2189.0000915527344,
+ "y": 998.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "6d474a1e.25ac34",
+ "6b43378b.4fca7"
+ ]
+ ]
+ },
+ {
+ "id": "6d474a1e.25ac34",
+ "type": "set",
+ "name": "set status as FAILED",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />",
+ "comments": "",
+ "x": 2405.0000915527344,
+ "y": 945.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "d4160d84.70bb48",
+ "type": "switchNode",
+ "name": "switch capability action assign",
+ "xml": "<switch test=\"`$ss.capability-action == 'assign'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 779.5238037109375,
+ "y": 1652.1904296875,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "bf3e09f4.dafff"
+ ]
+ ]
+ },
+ {
+ "id": "bf3e09f4.dafff",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1034.238037109375,
+ "y": 1652.1904296875,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "6b713cfb.723974"
+ ]
+ ]
+ },
+ {
+ "id": "9c664d90.9ee95",
+ "type": "for",
+ "name": "for vnf-parameters-data",
+ "xml": "<for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1937.0000915527344,
+ "y": 1249.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1476063f.6bab8a"
+ ]
+ ]
+ },
+ {
+ "id": "dbdeedbe.f41fd8",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2140.0000915527344,
+ "y": 1467.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "79a3b021.b0b288"
+ ]
+ ]
+ },
+ {
+ "id": "79a3b021.b0b288",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2350.0000915527344,
+ "y": 1467.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "be0571f0.89d93"
+ ]
+ ]
+ },
+ {
+ "id": "be0571f0.89d93",
+ "type": "set",
+ "name": "set set payload data",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n",
+ "comments": "",
+ "x": 2546.5000915527344,
+ "y": 1468.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "3456afaf.a73238",
+ "type": "execute",
+ "name": "execute jsonStringToCtx",
+ "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.response-payload\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1706.0000915527344,
+ "y": 1152.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5e598157.0c9c38",
+ "type": "for",
+ "name": "for response elements",
+ "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1699.0000915527344,
+ "y": 1248.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "9c664d90.9ee95"
+ ]
+ ]
+ },
+ {
+ "id": "1476063f.6bab8a",
+ "type": "execute",
+ "name": "slistringUtils - check value for $",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2241.0000915527344,
+ "y": 1249.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "61dff537.8d841c"
+ ]
+ ]
+ },
+ {
+ "id": "61dff537.8d841c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2481.0000915527344,
+ "y": 1248.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1266c260.0a766e"
+ ]
+ ]
+ },
+ {
+ "id": "ee43f6d5.8d77f8",
+ "type": "execute",
+ "name": "split resource-resolution-data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\n <parameter name='original_string' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2148.0000915527344,
+ "y": 1319.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aa6b38f9.769088",
+ "type": "execute",
+ "name": "split resource-resolution-split-1",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='s2' />\n <parameter name='original_string' value='`$resource-resolution-split[1]`' />\n <parameter name='regex' value='\\}' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2163.0000915527344,
+ "y": 1402.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1266c260.0a766e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1932.0000915527344,
+ "y": 1319.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "ee43f6d5.8d77f8",
+ "aa6b38f9.769088",
+ "dbdeedbe.f41fd8"
+ ]
+ ]
+ },
+ {
+ "id": "ecb50e0c.b6f238",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1482.0000915527344,
+ "y": 620.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "561c14d8.97e21c",
+ "9b45dec.f68242",
+ "755059e1.8e09a8",
+ "bc43a903.45bae8",
+ "a5d9b0a3.665e9",
+ "87e249a7.d2d76",
+ "3456afaf.a73238",
+ "8b2dbcd4.32fa2",
+ "5e598157.0c9c38",
+ "d6e4c46a.7a8e5"
+ ]
+ ]
+ },
+ {
+ "id": "8b2dbcd4.32fa2",
+ "type": "set",
+ "name": "set status as DELETED",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='DELETED' />",
+ "comments": "",
+ "x": 1704.0000915527344,
+ "y": 1202.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "27e20f71.6cc548",
+ "type": "execute",
+ "name": "execute replace extra comma",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',}' />\n <parameter name='replacement' value='}' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1620.66650390625,
+ "y": 2137.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "10be84bb.581f9b",
+ "type": "for",
+ "name": "for vnf-parameters-data",
+ "xml": "<for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1728.16650390625,
+ "y": 1953.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "8f7c2524.de50c"
+ ]
+ ]
+ },
+ {
+ "id": "8f7c2524.de50c",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name=\"tmp.naming-data-payload\" value=\"`$tmp.naming-data-payload + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`\"/>",
+ "comments": "",
+ "x": 1980.66650390625,
+ "y": 1953.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "c15c85cd.ea9f2",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
+ "comments": "",
+ "x": 1709.094970703125,
+ "y": 1891.8093872070312,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "463d12f4.b57d9c",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
+ "comments": "",
+ "x": 1710.66650390625,
+ "y": 2009.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "6a94f7b6.2e3e3",
+ "type": "set",
+ "name": "set close payload list",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
+ "comments": "",
+ "x": 1595.66650390625,
+ "y": 2094.0949096679688,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "9ffd6dac.5925a",
+ "type": "execute",
+ "name": "execute replace extra comma",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',]' />\n <parameter name='replacement' value=']' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1621.66650390625,
+ "y": 2188.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "18ddf882.11fd17",
+ "type": "execute",
+ "name": "execute NameGenerationNode-assign",
+ "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"nameGenResponse\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1654.66650390625,
+ "y": 2245.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "92a93214.de1db8",
+ "b360f358.424cc8"
+ ]
+ ]
+ },
+ {
+ "id": "92a93214.de1db8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1929.66650390625,
+ "y": 2195.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "177b20fb.1bc74f"
+ ]
+ ]
+ },
+ {
+ "id": "3a3832be.f27146",
+ "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 from NameGenerationNode Assign\" />\n",
+ "comments": "",
+ "x": 2294.66650390625,
+ "y": 2295.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "b360f358.424cc8",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1934.66650390625,
+ "y": 2294.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "177b20fb.1bc74f"
+ ]
+ ]
+ },
+ {
+ "id": "177b20fb.1bc74f",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2092.66650390625,
+ "y": 2239.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "9799610d.ba099",
+ "3a3832be.f27146"
+ ]
+ ]
+ },
+ {
+ "id": "9799610d.ba099",
+ "type": "set",
+ "name": "set status as FAILED",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='FAILED' />",
+ "comments": "",
+ "x": 2308.66650390625,
+ "y": 2186.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "37785a2.d8ea0a6",
+ "type": "for",
+ "name": "for vnf-parameters-data",
+ "xml": "<for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1841.66650390625,
+ "y": 2445.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "10461664.c280c2"
+ ]
+ ]
+ },
+ {
+ "id": "ddf9ee24.32721",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2044.66650390625,
+ "y": 2663.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "915c127.869707"
+ ]
+ ]
+ },
+ {
+ "id": "915c127.869707",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2254.66650390625,
+ "y": 2663.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "3e3270b5.18b048"
+ ]
+ ]
+ },
+ {
+ "id": "3e3270b5.18b048",
+ "type": "set",
+ "name": "set set payload data",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n",
+ "comments": "",
+ "x": 2451.16650390625,
+ "y": 2664.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "a0734951.e43bb8",
+ "type": "execute",
+ "name": "execute jsonStringToCtx",
+ "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.response-payload\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1602.66650390625,
+ "y": 2347.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9976393.8117548",
+ "type": "for",
+ "name": "for response elements",
+ "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1594.66650390625,
+ "y": 2444.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "37785a2.d8ea0a6"
+ ]
+ ]
+ },
+ {
+ "id": "10461664.c280c2",
+ "type": "execute",
+ "name": "slistringUtils - check value for $",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2145.66650390625,
+ "y": 2445.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "41922990.8a02f"
+ ]
+ ]
+ },
+ {
+ "id": "41922990.8a02f",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2385.66650390625,
+ "y": 2444.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "306d8cff.17a97c"
+ ]
+ ]
+ },
+ {
+ "id": "82f3e171.12001",
+ "type": "execute",
+ "name": "split resource-resolution-data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\n <parameter name='original_string' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2052.66650390625,
+ "y": 2515.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7a6ff351.59e66c",
+ "type": "execute",
+ "name": "split resource-resolution-split-1",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='s2' />\n <parameter name='original_string' value='`$resource-resolution-split[1]`' />\n <parameter name='regex' value='\\}' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2067.66650390625,
+ "y": 2598.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "306d8cff.17a97c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1836.66650390625,
+ "y": 2515.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "82f3e171.12001",
+ "7a6ff351.59e66c",
+ "ddf9ee24.32721"
+ ]
+ ]
+ },
+ {
+ "id": "6ed8d498.9723f4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1505.8095703125,
+ "y": 1871.380615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "c15c85cd.ea9f2",
+ "10be84bb.581f9b",
+ "463d12f4.b57d9c"
+ ]
+ ]
+ },
+ {
+ "id": "c0cd44d1.7422",
+ "type": "set",
+ "name": "set status as SUCCESS",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='SUCCESS' />",
+ "comments": "",
+ "x": 1601.66650390625,
+ "y": 2398.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "83953b14.cd3cc",
+ "type": "switchNode",
+ "name": "switch external-key",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name == 'external-key'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1930.0000915527344,
+ "y": 693.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "6b9e4dcc.d7de0c"
+ ]
+ ]
+ },
+ {
+ "id": "6b9e4dcc.d7de0c",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2114.0000915527344,
+ "y": 693.5713424682617,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "d44e28a5.a5361"
+ ]
+ ]
+ },
+ {
+ "id": "763cbc48.beee84",
+ "type": "execute",
+ "name": "execute replace extra comma",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',}' />\n <parameter name='replacement' value='}' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1841.619140625,
+ "y": 4107.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f26ae3f9.58a6a8",
+ "type": "for",
+ "name": "for vnf-parameters-data",
+ "xml": "<for index='i' start='0' end='`$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_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1130.1190185546875,
+ "y": 3719.761962890625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "19fb9704.e19821"
+ ]
+ ]
+ },
+ {
+ "id": "19fb9704.e19821",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$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[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1410.1190185546875,
+ "y": 3719.761962890625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "3b748ba2.5ca9c4"
+ ]
+ ]
+ },
+ {
+ "id": "3b748ba2.5ca9c4",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1619.119140625,
+ "y": 3719.761962890625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "fe9fb952.03865"
+ ]
+ ]
+ },
+ {
+ "id": "a3efff0f.aa4ec8",
+ "type": "for",
+ "name": "for vf-module-parameters",
+ "xml": "<for index='j' start='0' end='`$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[$i].resource-resolution-data.resource-key_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1811.119140625,
+ "y": 3908.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "411e99fd.a39438"
+ ]
+ ]
+ },
+ {
+ "id": "9abfe611.4545c8",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name=\"tmp.naming-data-payload\" value=\"`$tmp.naming-data-payload + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`\"/>",
+ "comments": "",
+ "x": 2413.619140625,
+ "y": 3906.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "ed0277b1.5970a",
+ "type": "set",
+ "name": "set set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
+ "comments": "",
+ "x": 1808.619140625,
+ "y": 3831.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "8bbcc0bf.293ef8",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
+ "comments": "",
+ "x": 1808.619140625,
+ "y": 3970.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "d5dd6ae4.c76cb8",
+ "type": "set",
+ "name": "set close payload list",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
+ "comments": "",
+ "x": 1814.619140625,
+ "y": 4035.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "a8bf6cef.175b98",
+ "type": "execute",
+ "name": "execute replace extra comma",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',]' />\n <parameter name='replacement' value=']' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1844.619140625,
+ "y": 4161.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "452bff82.4ad42",
+ "type": "execute",
+ "name": "execute NameGenerationNode-unassign",
+ "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.UnAssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"nameGenResponse\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1870.619140625,
+ "y": 4218.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "12b87141.01ce77",
+ "da1a35af.b4fb48"
+ ]
+ ]
+ },
+ {
+ "id": "12b87141.01ce77",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2145.619140625,
+ "y": 4168.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "d6576013.79b6e"
+ ]
+ ]
+ },
+ {
+ "id": "8bddd10d.aa37",
+ "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 from NameGenerationNode Unassign\" />\n",
+ "comments": "",
+ "x": 2510.619140625,
+ "y": 4268.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "da1a35af.b4fb48",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2150.619140625,
+ "y": 4267.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "d6576013.79b6e"
+ ]
+ ]
+ },
+ {
+ "id": "d6576013.79b6e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2308.619140625,
+ "y": 4212.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "d5fbd703.684a6",
+ "8bddd10d.aa37"
+ ]
+ ]
+ },
+ {
+ "id": "d5fbd703.684a6",
+ "type": "set",
+ "name": "set status as FAILED",
+ "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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='FAILED' />",
+ "comments": "",
+ "x": 2524.619140625,
+ "y": 4159.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "979f7afd.afba98",
+ "type": "for",
+ "name": "for vf-module-parameters",
+ "xml": "<for index='l' start='0' end='`$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_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2056.619140625,
+ "y": 4463.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "648836d6.70a21"
+ ]
+ ]
+ },
+ {
+ "id": "8ff2df62.ffbde",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2259.619140625,
+ "y": 4681.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "78ff017c.17864"
+ ]
+ ]
+ },
+ {
+ "id": "78ff017c.17864",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2469.619140625,
+ "y": 4681.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1462085a.8135a"
+ ]
+ ]
+ },
+ {
+ "id": "1462085a.8135a",
+ "type": "set",
+ "name": "set set payload 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.vf-module-parameters.param[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n",
+ "comments": "",
+ "x": 2666.119140625,
+ "y": 4682.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "5bd4041e.5eb064",
+ "type": "execute",
+ "name": "execute jsonStringToCtx",
+ "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.response-payload\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1825.619140625,
+ "y": 4366.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d49e444f.57b07",
+ "type": "for",
+ "name": "for response elements",
+ "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1818.619140625,
+ "y": 4462.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "979f7afd.afba98"
+ ]
+ ]
+ },
+ {
+ "id": "648836d6.70a21",
+ "type": "execute",
+ "name": "slistringUtils - check value for $",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2360.619140625,
+ "y": 4463.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "7a9d7c8a.3c0bc4"
+ ]
+ ]
+ },
+ {
+ "id": "7a9d7c8a.3c0bc4",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2600.619140625,
+ "y": 4462.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "2051ec8a.8af274"
+ ]
+ ]
+ },
+ {
+ "id": "999690dc.8426f8",
+ "type": "execute",
+ "name": "split resource-resolution-data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\n <parameter name='original_string' value='`$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[$l].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2267.619140625,
+ "y": 4533.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5bc42c8c.88381c",
+ "type": "execute",
+ "name": "split resource-resolution-split-1",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='s2' />\n <parameter name='original_string' value='`$resource-resolution-split[1]`' />\n <parameter name='regex' value='\\}' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2282.619140625,
+ "y": 4616.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2051ec8a.8af274",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2051.619140625,
+ "y": 4533.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "999690dc.8426f8",
+ "5bc42c8c.88381c",
+ "8ff2df62.ffbde"
+ ]
+ ]
+ },
+ {
+ "id": "fe9fb952.03865",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1601.619140625,
+ "y": 3834.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "ed0277b1.5970a",
+ "a3efff0f.aa4ec8",
+ "8bbcc0bf.293ef8",
+ "d5dd6ae4.c76cb8",
+ "763cbc48.beee84",
+ "452bff82.4ad42",
+ "5bd4041e.5eb064",
+ "9a62d212.fe282",
+ "d49e444f.57b07",
+ "a8bf6cef.175b98"
+ ]
+ ]
+ },
+ {
+ "id": "9a62d212.fe282",
+ "type": "set",
+ "name": "set status as DELETED",
+ "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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='DELETED' />",
+ "comments": "",
+ "x": 1823.619140625,
+ "y": 4416.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "411e99fd.a39438",
+ "type": "switchNode",
+ "name": "switch external-key",
+ "xml": "<switch test=\"`$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[$i].resource-resolution-data.resource-key[$j].name == 'external-key'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2049.619140625,
+ "y": 3907.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "73c6b2a8.a3b054"
+ ]
+ ]
+ },
+ {
+ "id": "73c6b2a8.a3b054",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2233.619140625,
+ "y": 3907.761474609375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "9abfe611.4545c8"
+ ]
+ ]
+ },
+ {
+ "id": "32827181.a6b956",
+ "type": "switchNode",
+ "name": "switch capability-type. vnf",
+ "xml": "<switch test=\"`$ss.capability-type == 'vnf'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 365.2857360839844,
+ "y": 338.4285659790039,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "524e830f.6470c4"
+ ]
+ ]
+ },
+ {
+ "id": "524e830f.6470c4",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 568.7142944335938,
+ "y": 337.71429443359375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "ef52847b.ff229"
+ ]
+ ]
+ },
+ {
+ "id": "de00c7d5.b7368",
+ "type": "switchNode",
+ "name": "switch capability-type vf-module",
+ "xml": "<switch test=\"`$ss.capability-type == 'vf-module'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 494.61907958984375,
+ "y": 3501.7619018554688,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1ded1ea.e9121e1"
+ ]
+ ]
+ },
+ {
+ "id": "1ded1ea.e9121e1",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 713.6190795898438,
+ "y": 3502.761962890625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "c14ba9b4.7c8ad8"
+ ]
+ ]
+ },
+ {
+ "id": "36603013.bbb4f8",
+ "type": "for",
+ "name": "for vnf-parameters data",
+ "xml": "<for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1606.66650390625,
+ "y": 2624.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "a6ad8f3a.9c7f8"
+ ]
+ ]
+ },
+ {
+ "id": "a6ad8f3a.9c7f8",
+ "type": "execute",
+ "name": "slistringUtils - check value for $",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1732.3331298828125,
+ "y": 2755.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "77a82966.ec0b48"
+ ]
+ ]
+ },
+ {
+ "id": "77a82966.ec0b48",
+ "type": "failure",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1994.3331298828125,
+ "y": 2811.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "f33d0266.cea3"
+ ]
+ ]
+ },
+ {
+ "id": "f33d0266.cea3",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2210.3331298828125,
+ "y": 2811.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "bd9f5006.39331",
+ "1847b82e.cbd13"
+ ]
+ ]
+ },
+ {
+ "id": "bd9f5006.39331",
+ "type": "set",
+ "name": "set capability name",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].resource-resolution-data.capability-name`' value='INPUT' />",
+ "comments": "",
+ "x": 2430.3331298828125,
+ "y": 2749.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "1847b82e.cbd13",
+ "type": "set",
+ "name": "set status SUCCESS",
+ "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].resource-resolution-data.status`' value='SUCCESS' />\n",
+ "comments": "",
+ "x": 2440.3331298828125,
+ "y": 2857.094970703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "bc970fe5.a522f8",
+ "type": "switchNode",
+ "name": "switch capability action unassign",
+ "xml": "<switch test=\"`$ss.capability-action == 'unassign'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 822.8571166992188,
+ "y": 428.5714416503906,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "e1f81f5d.07ca4"
+ ]
+ ]
+ },
+ {
+ "id": "e1f81f5d.07ca4",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1108.5714111328125,
+ "y": 427.1428527832031,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "c8ae8fb3.2b106"
+ ]
+ ]
+ },
+ {
+ "id": "ef52847b.ff229",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 572.857177734375,
+ "y": 402.857177734375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "bc970fe5.a522f8",
+ "d4160d84.70bb48"
+ ]
+ ]
+ },
+ {
+ "id": "80902f6b.f3783",
+ "type": "for",
+ "name": "for vnf-parameters-data",
+ "xml": "<for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1047.2144775390625,
+ "y": 1814.5953369140625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "504c0e8f.4cc8a"
+ ]
+ ]
+ },
+ {
+ "id": "504c0e8f.4cc8a",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1288.821533203125,
+ "y": 1814.5953369140625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "98b667d2.9e63f8"
+ ]
+ ]
+ },
+ {
+ "id": "98b667d2.9e63f8",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1469.535888671875,
+ "y": 1814.5953369140625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "6ed8d498.9723f4"
+ ]
+ ]
+ },
+ {
+ "id": "10288042.9afdc",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1202.0001220703125,
+ "y": 3631,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "f26ae3f9.58a6a8"
+ ]
+ ]
+ },
+ {
+ "id": "ae383e92.c64418",
+ "type": "switchNode",
+ "name": "switch capability action unassign",
+ "xml": "<switch test=\"`$ss.capability-action == 'unassign'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 960.9998779296875,
+ "y": 3631,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "10288042.9afdc"
+ ]
+ ]
+ },
+ {
+ "id": "c14ba9b4.7c8ad8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 718,
+ "y": 3568,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "ae383e92.c64418",
+ "b1d4f02b.074b08"
+ ]
+ ]
+ },
+ {
+ "id": "b1d4f02b.074b08",
+ "type": "switchNode",
+ "name": "switch capability action assign",
+ "xml": "<switch test=\"`$ss.capability-action == 'assign'`\">",
+ "comments": "",
+ "outputs": 1,
+ "x": 937.9525146484375,
+ "y": 5238.7626953125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "5f3175ef.b2e644"
+ ]
+ ]
+ },
+ {
+ "id": "5f3175ef.b2e644",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1166.9525146484375,
+ "y": 5238.7626953125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "7f8df3af.553754"
+ ]
+ ]
+ },
+ {
+ "id": "b52f5f26.c98fb",
+ "type": "execute",
+ "name": "execute replace extra comma",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',}' />\n <parameter name='replacement' value='}' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1715.452392578125,
+ "y": 5709.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "21cc2c07.2e17cc",
+ "type": "for",
+ "name": "for vf-module-parameters",
+ "xml": "<for index='j' start='0' end='`$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[$i].resource-resolution-data.resource-key_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2033.702392578125,
+ "y": 5516.7626953125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "d6c21c77.670988"
+ ]
+ ]
+ },
+ {
+ "id": "d6c21c77.670988",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name=\"tmp.naming-data-payload\" value=\"`$tmp.naming-data-payload + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`\"/>",
+ "comments": "",
+ "x": 2290.202392578125,
+ "y": 5516.7626953125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "b09f0c88.a8dd8",
+ "type": "set",
+ "name": "set set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
+ "comments": "",
+ "x": 2016.202392578125,
+ "y": 5462.7626953125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "16aca9a0.b085ce",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
+ "comments": "",
+ "x": 2022.202392578125,
+ "y": 5578.7626953125,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "1fd7b0ea.d78def",
+ "type": "set",
+ "name": "set close payload list",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
+ "comments": "",
+ "x": 1685.452392578125,
+ "y": 5658.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "382244f1.84c314",
+ "type": "execute",
+ "name": "execute replace extra comma",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace'>\n <parameter name='outputPath' value='tmp.naming-data-payload' />\n <parameter name='source' value='`$tmp.naming-data-payload`' />\n <parameter name='target' value=',]' />\n <parameter name='replacement' value=']' />",
+ "comments": "",
+ "outputs": 1,
+ "x": 1718.452392578125,
+ "y": 5763.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b1e358e4.0f1af8",
+ "type": "execute",
+ "name": "execute NameGenerationNode-assign",
+ "xml": "<execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>\n <parameter name='payload' value='`$tmp.naming-data-payload`' />\n <parameter name=\"prifix\" value=\"nameGenResponse\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1744.452392578125,
+ "y": 5820.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1e42490a.0702a7",
+ "1ec1c7ac.f1fe98"
+ ]
+ ]
+ },
+ {
+ "id": "1e42490a.0702a7",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2019.452392578125,
+ "y": 5770.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1dc6c6ec.4b2119"
+ ]
+ ]
+ },
+ {
+ "id": "c05d5782.207da8",
+ "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 from NameGenerationNode Assign\" />\n",
+ "comments": "",
+ "x": 2384.452392578125,
+ "y": 5870.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "1ec1c7ac.f1fe98",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2024.452392578125,
+ "y": 5869.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1dc6c6ec.4b2119"
+ ]
+ ]
+ },
+ {
+ "id": "1dc6c6ec.4b2119",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2182.452392578125,
+ "y": 5814.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "c05d5782.207da8",
+ "e913f4eb.f584"
+ ]
+ ]
+ },
+ {
+ "id": "e913f4eb.f584",
+ "type": "set",
+ "name": "set status as FAILED",
+ "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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='FAILED' />",
+ "comments": "",
+ "x": 2398.452392578125,
+ "y": 5761.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "3d332c56.43f43c",
+ "type": "for",
+ "name": "for vf-module-parameters",
+ "xml": "<for index='l' start='0' end='`$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_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1996.452392578125,
+ "y": 6353.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "5f0db49f.fd8454"
+ ]
+ ]
+ },
+ {
+ "id": "d9f8a4b0.d2e5c",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2167.452392578125,
+ "y": 6511.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "f6bd7605.4d5f48"
+ ]
+ ]
+ },
+ {
+ "id": "f6bd7605.4d5f48",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2371.452392578125,
+ "y": 6509.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "74b43ff2.601cb"
+ ]
+ ]
+ },
+ {
+ "id": "74b43ff2.601cb",
+ "type": "set",
+ "name": "set set payload 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.vf-module-parameters.param[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n",
+ "comments": "",
+ "x": 2565.952392578125,
+ "y": 6442.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "8f868b5c.16e278",
+ "type": "execute",
+ "name": "execute jsonStringToCtx",
+ "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.response-payload\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1699.452392578125,
+ "y": 5876.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "20e95425.2ec68c",
+ "type": "for",
+ "name": "for response elements",
+ "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1728.452392578125,
+ "y": 6354.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "3d332c56.43f43c"
+ ]
+ ]
+ },
+ {
+ "id": "5f0db49f.fd8454",
+ "type": "execute",
+ "name": "slistringUtils - check value for $",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2280.452392578125,
+ "y": 6357.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "e81d08ce.9ec57"
+ ]
+ ]
+ },
+ {
+ "id": "e81d08ce.9ec57",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2508.452392578125,
+ "y": 6354.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "4dc60b03.30474c"
+ ]
+ ]
+ },
+ {
+ "id": "d9a4aa95.7b85",
+ "type": "execute",
+ "name": "split resource-resolution-data",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='resource-resolution-split' />\n <parameter name='original_string' value='`$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[$l].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2175.452392578125,
+ "y": 6407.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7ebcca07.69da94",
+ "type": "execute",
+ "name": "split resource-resolution-split-1",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='s2' />\n <parameter name='original_string' value='`$resource-resolution-split[1]`' />\n <parameter name='regex' value='\\}' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2188.452392578125,
+ "y": 6466.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4dc60b03.30474c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1935.452392578125,
+ "y": 6433.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "d9f8a4b0.d2e5c",
+ "d9a4aa95.7b85",
+ "7ebcca07.69da94"
+ ]
+ ]
+ },
+ {
+ "id": "d4e4d3cb.8e365",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1809.202392578125,
+ "y": 5465.7626953125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "21cc2c07.2e17cc",
+ "b09f0c88.a8dd8",
+ "16aca9a0.b085ce"
+ ]
+ ]
+ },
+ {
+ "id": "c761a7c.6b8ed58",
+ "type": "set",
+ "name": "set status as SUCCESS",
+ "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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='SUCCESS' />",
+ "comments": "",
+ "x": 1701.452392578125,
+ "y": 5928.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "64f6b871.04fb28",
+ "type": "for",
+ "name": "for vnf parameters data",
+ "xml": "<for index='l' start='0' end='`$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_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1723.452392578125,
+ "y": 6576.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "74477622.de12d"
+ ]
+ ]
+ },
+ {
+ "id": "74477622.de12d",
+ "type": "execute",
+ "name": "slistringUtils - check value for $",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$l].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2029.452392578125,
+ "y": 6574.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "59f6f125.780478"
+ ]
+ ]
+ },
+ {
+ "id": "59f6f125.780478",
+ "type": "failure",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2267.452392578125,
+ "y": 6574.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "f3d21584.7ce7b8"
+ ]
+ ]
+ },
+ {
+ "id": "f3d21584.7ce7b8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2429.452392578125,
+ "y": 6568.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "2c8c0702.854ee8",
+ "fa294e63.602d08"
+ ]
+ ]
+ },
+ {
+ "id": "2c8c0702.854ee8",
+ "type": "set",
+ "name": "set capability name",
+ "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.vf-module-parameters.param[$l].resource-resolution-data.capability-name`' value='INPUT' />\n",
+ "comments": "",
+ "x": 2653.452392578125,
+ "y": 6534.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "fa294e63.602d08",
+ "type": "set",
+ "name": "set status SUCCESS",
+ "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.vf-module-parameters.param[$l].resource-resolution-data.status`' value='SUCCESS' />\n\t",
+ "comments": "",
+ "x": 2641.452392578125,
+ "y": 6634.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "4bd004e3.7dd99c",
+ "type": "for",
+ "name": "for vnf-parameters data",
+ "xml": "<for index='cn' start='0' end='`$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_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1711.452392578125,
+ "y": 6034.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "85c7441c.53c08"
+ ]
+ ]
+ },
+ {
+ "id": "85c7441c.53c08",
+ "type": "switchNode",
+ "name": "switch param[] name",
+ "xml": "<switch test=\"`$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[$cn].name == 'vnfc-name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1964.952392578125,
+ "y": 6035.013427734375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "b4e69f12.2126f8"
+ ]
+ ]
+ },
+ {
+ "id": "b4e69f12.2126f8",
+ "type": "success",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2157.952392578125,
+ "y": 6035.5133056640625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1fdd7e1e.c75b82"
+ ]
+ ]
+ },
+ {
+ "id": "1fdd7e1e.c75b82",
+ "type": "for",
+ "name": "for j in resource key",
+ "xml": "<for index='j' start='0' end='`$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[$cn].resource-resolution-data.resource-key_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1799.452392578125,
+ "y": 6150.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "e34d6504.04ef68"
+ ]
+ ]
+ },
+ {
+ "id": "e34d6504.04ef68",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2071.452392578125,
+ "y": 6146.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "8427815.e49c28",
+ "7720c796.cf51d",
+ "14b77c36.339774",
+ "db75ea42.1350d",
+ "6061ffc.9494f",
+ "15f23c59.7c19e4",
+ "e7c83d46.a2ef48"
+ ]
+ ]
+ },
+ {
+ "id": "7720c796.cf51d",
+ "type": "switchNode",
+ "name": "switch model-invariant-uuid",
+ "xml": "<switch test=\"`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-invariant-uuid'`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2509.452392578125,
+ "y": 6022.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "6857d48.2b9c62c"
+ ]
+ ]
+ },
+ {
+ "id": "14b77c36.339774",
+ "type": "switchNode",
+ "name": "switch model-customization-uuid",
+ "xml": "<switch test=\"`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-customization-uuid'`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2477.452392578125,
+ "y": 6080.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "36c572f8.11887e"
+ ]
+ ]
+ },
+ {
+ "id": "db75ea42.1350d",
+ "type": "switchNode",
+ "name": "switch model-uuid",
+ "xml": "<switch test=\"`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-uuid'`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2475.452392578125,
+ "y": 6142.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "992d2ec6.0f6bf8"
+ ]
+ ]
+ },
+ {
+ "id": "6061ffc.9494f",
+ "type": "switchNode",
+ "name": "switch model-version",
+ "xml": "<switch test=\"`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-version'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2483.452392578125,
+ "y": 6204.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "ddbe5eba.fbf8d8"
+ ]
+ ]
+ },
+ {
+ "id": "8427815.e49c28",
+ "type": "switchNode",
+ "name": "switch vm-type",
+ "xml": "<switch test=\"`$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[$cn].resource-resolution-data.resource-key[$j].name == 'vm-type'`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2499.452392578125,
+ "y": 5950.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "481f3b2.962dd44"
+ ]
+ ]
+ },
+ {
+ "id": "481f3b2.962dd44",
+ "type": "success",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2703.452392578125,
+ "y": 5946.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "9d2fa840.0363b"
+ ]
+ ]
+ },
+ {
+ "id": "6857d48.2b9c62c",
+ "type": "success",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2703.452392578125,
+ "y": 6020.2630615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1fb07fdb.0d632"
+ ]
+ ]
+ },
+ {
+ "id": "36c572f8.11887e",
+ "type": "success",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2709.452392578125,
+ "y": 6076.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "a0d68506.3f9068"
+ ]
+ ]
+ },
+ {
+ "id": "992d2ec6.0f6bf8",
+ "type": "success",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2713.452392578125,
+ "y": 6134.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "5459f399.0fb614"
+ ]
+ ]
+ },
+ {
+ "id": "ddbe5eba.fbf8d8",
+ "type": "success",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2719.452392578125,
+ "y": 6200.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "29fd0e8b.8c7952"
+ ]
+ ]
+ },
+ {
+ "id": "9d2fa840.0363b",
+ "type": "set",
+ "name": "set vm-type",
+ "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.vf-module-assignments.vms.vm[0].vm-type`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />\n",
+ "comments": "",
+ "x": 2867.452392578125,
+ "y": 5948.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "1fb07fdb.0d632",
+ "type": "set",
+ "name": "set model-invariant-uuid",
+ "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.vf-module-assignments.vms.vm[0].onap-model-information.model-invariant-uuid`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />\n",
+ "comments": "",
+ "x": 2913.452392578125,
+ "y": 6014.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "a0d68506.3f9068",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "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.vf-module-assignments.vms.vm[0].onap-model-information.model-customization-uuid`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />\n",
+ "comments": "",
+ "x": 2957.452392578125,
+ "y": 6078.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "5459f399.0fb614",
+ "type": "set",
+ "name": "set model-uuid",
+ "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.vf-module-assignments.vms.vm[0].onap-model-information.model-uuid`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />\n",
+ "comments": "",
+ "x": 2933.452392578125,
+ "y": 6132.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "29fd0e8b.8c7952",
+ "type": "set",
+ "name": "set model-version",
+ "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.vf-module-assignments.vms.vm[0].onap-model-information.model-version`' value='`$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[$cn].resource-resolution-data.resource-key[j].value`' />\n",
+ "comments": "",
+ "x": 2879.452392578125,
+ "y": 6198.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "68fa786b.6c6688",
+ "type": "set",
+ "name": "set model-name",
+ "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.vf-module-assignments.vms.vm[0].onap-model-information.model-name`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />\n",
+ "comments": "",
+ "x": 2885.452392578125,
+ "y": 6254.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "caf48f2a.9458a",
+ "type": "set",
+ "name": "set vnfc-name",
+ "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.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-name`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />\n",
+ "comments": "",
+ "x": 2903.452392578125,
+ "y": 6310.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "15f23c59.7c19e4",
+ "type": "switchNode",
+ "name": "switch model-name",
+ "xml": "<switch test=\"`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2483.452392578125,
+ "y": 6256.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "8525cf9e.edea6"
+ ]
+ ]
+ },
+ {
+ "id": "e7c83d46.a2ef48",
+ "type": "switchNode",
+ "name": "switch vnfc-name",
+ "xml": "<switch test=\"`$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[$cn].resource-resolution-data.resource-key[$j].name == 'vnfc-name'`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2481.452392578125,
+ "y": 6310.0130615234375,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "ef06dde5.e03b88"
+ ]
+ ]
+ },
+ {
+ "id": "8525cf9e.edea6",
+ "type": "success",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2717.452392578125,
+ "y": 6254.013061523437,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "68fa786b.6c6688"
+ ]
+ ]
+ },
+ {
+ "id": "ef06dde5.e03b88",
+ "type": "success",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2711.452392578125,
+ "y": 6308.013061523437,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "caf48f2a.9458a"
+ ]
+ ]
+ },
+ {
+ "id": "48f13d71.542c54",
+ "type": "for",
+ "name": "for vnf-parameters-data",
+ "xml": "<for index='i' start='0' end='`$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_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1252,
+ "y": 5412.000244140625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "5e336da6.0d601c"
+ ]
+ ]
+ },
+ {
+ "id": "5e336da6.0d601c",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$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[$i].resource-resolution-data.capability-name == $ss.capability-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1532,
+ "y": 5412.000244140625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "9ea4a345.b9cf7"
+ ]
+ ]
+ },
+ {
+ "id": "9ea4a345.b9cf7",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1741.0001220703125,
+ "y": 5412.000244140625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "d4e4d3cb.8e365"
+ ]
+ ]
+ },
+ {
+ "id": "6b713cfb.723974",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 826.25,
+ "y": 1755,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "80902f6b.f3783",
+ "84fcdd32.ae8a78",
+ "a887b563.1d77e"
+ ]
+ ]
+ },
+ {
+ "id": "84fcdd32.ae8a78",
+ "type": "set",
+ "name": "set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value='' />",
+ "comments": "",
+ "x": 1034,
+ "y": 1756,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "a887b563.1d77e",
+ "type": "switchNode",
+ "name": "switch tmp.naming-data-payload is null",
+ "xml": "<switch test=\"`$tmp.naming-data-payload == ''`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1082,
+ "y": 2035,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "a826576f.08cdb8"
+ ]
+ ]
+ },
+ {
+ "id": "a826576f.08cdb8",
+ "type": "not-found",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1319,
+ "y": 2036,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "af5562cb.12735"
+ ]
+ ]
+ },
+ {
+ "id": "af5562cb.12735",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1357,
+ "y": 2094,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "6a94f7b6.2e3e3",
+ "27e20f71.6cc548",
+ "9ffd6dac.5925a",
+ "18ddf882.11fd17",
+ "a0734951.e43bb8",
+ "c0cd44d1.7422",
+ "9976393.8117548",
+ "36603013.bbb4f8"
+ ]
+ ]
+ },
+ {
+ "id": "7f8df3af.553754",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1003,
+ "y": 5345,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "9bc5841e.944e18",
+ "48f13d71.542c54",
+ "4e9878a6.bcb88"
+ ]
+ ]
+ },
+ {
+ "id": "9bc5841e.944e18",
+ "type": "set",
+ "name": "set set payload data",
+ "xml": "<set>\n<parameter name='tmp.naming-data-payload' value='' />",
+ "comments": "",
+ "x": 1240,
+ "y": 5344,
+ "z": "719b1fb6.3a5b9",
+ "wires": []
+ },
+ {
+ "id": "4e9878a6.bcb88",
+ "type": "switchNode",
+ "name": "switch tmp.naming-data-payload is null",
+ "xml": "<switch test=\"`$tmp.naming-data-payload == ''`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1282.2500305175781,
+ "y": 5534.5001220703125,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "c1f0c66b.befbd"
+ ]
+ ]
+ },
+ {
+ "id": "c1f0c66b.befbd",
+ "type": "not-found",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1516.0000610351562,
+ "y": 5534.2498779296875,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "c6b57b94.c8c07"
+ ]
+ ]
+ },
+ {
+ "id": "c6b57b94.c8c07",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1503.7500610351562,
+ "y": 5611.500244140625,
+ "z": "719b1fb6.3a5b9",
+ "wires": [
+ [
+ "1fd7b0ea.d78def",
+ "b52f5f26.c98fb",
+ "382244f1.84c314",
+ "b1e358e4.0f1af8",
+ "8f868b5c.16e278",
+ "c761a7c.6b8ed58",
+ "4bd004e3.7dd99c",
+ "20e95425.2ec68c",
+ "64f6b871.04fb28"
+ ]
+ ]
+ }
] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.json
new file mode 100644
index 00000000..e8c62c80
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.json
@@ -0,0 +1 @@
+[{"id":"7bf4d1a4.19d72","type":"dgstart","name":"DGSTART","outputs":1,"x":120,"y":36,"z":"49f11553.28c29c","wires":[["4d0677c6.367138"]]},{"id":"4d0677c6.367138","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":378.9403991699219,"y":36.32145690917969,"z":"49f11553.28c29c","wires":[["41de3cd3.931d34"]]},{"id":"ce021d20.bb75e","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":120,"y":91,"z":"49f11553.28c29c","wires":[["3a55a76e.5fcb98","ea86d577.27bfa8","c740ee24.70b1c","8de816b3.3b10d8","4cffbb79.37f154","937a5b68.3f7018","1517a6d1.e2b0c9"]]},{"id":"b97b03f1.6a8c","type":"comment","name":"Validate inputs","info":"ss.capability-action should be \"ASSIGN\" or \"\"UNASSIGN\"","comments":"","x":249,"y":130,"z":"49f11553.28c29c","wires":[]},{"id":"1517a6d1.e2b0c9","type":"switchNode","name":"switch ss.capability-action (assign| unassign)","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":321,"y":3096,"z":"49f11553.28c29c","wires":[["97880e7a.706b9","6e59c5de.77ff3c"]]},{"id":"97880e7a.706b9","type":"outcome","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":284.25006103515625,"y":3164.75,"z":"49f11553.28c29c","wires":[["6466676a.e4e518"]]},{"id":"6e59c5de.77ff3c","type":"outcome","name":"unassign","xml":"<outcome value='unassign'>","comments":"","outputs":1,"x":324,"y":3778,"z":"49f11553.28c29c","wires":[["9890fe8e.13a7a"]]},{"id":"c66abc48.0cf27","type":"comment","name":"Call self-service-capability-param-resolution DG to resolve all resource-keys","info":"","comments":"","x":432,"y":493,"z":"49f11553.28c29c","wires":[]},{"id":"3a55a76e.5fcb98","type":"switchNode","name":"switch ss.capability-name","xml":"<switch test=\"`$ss.capability-name`\">\n","comments":"","outputs":1,"x":286,"y":173,"z":"49f11553.28c29c","wires":[["88e6e51d.69fea8","3285fa47.677276","51c348b8.5400f8","98462d6a.386e1"]]},{"id":"88e6e51d.69fea8","type":"not-found","name":"not-found","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":560,"y":146,"z":"49f11553.28c29c","wires":[["f8ba93eb.3b672"]]},{"id":"3285fa47.677276","type":"outcome","name":"null","xml":"<outcome value='null'>\n","comments":"","outputs":1,"x":550,"y":186,"z":"49f11553.28c29c","wires":[["f8ba93eb.3b672"]]},{"id":"51c348b8.5400f8","type":"other","name":"mS-mac-address-assign ","xml":"<outcome value='mS-mac-address-assign'>\n","comments":"","outputs":1,"x":603,"y":227,"z":"49f11553.28c29c","wires":[["cbe46562.045fc8"]]},{"id":"6164f080.f1d8d","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='401' />\n<parameter name='error-message' value='ss.capability-name is not set' />\n","comments":"","x":862,"y":182,"z":"49f11553.28c29c","wires":[]},{"id":"98462d6a.386e1","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":553,"y":106,"z":"49f11553.28c29c","wires":[["f8ba93eb.3b672"]]},{"id":"cbe46562.045fc8","type":"record","name":"record","xml":"<record plugin=\"com.att.sdnctl.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"self-serve-mS-mac-address-assign: ss.capability-name is mS-mac-address-assign\"/>","comments":"","outputs":1,"x":845,"y":227,"z":"49f11553.28c29c","wires":[[]]},{"id":"ea86d577.27bfa8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":244,"y":539,"z":"49f11553.28c29c","wires":[["a108bc30.a26be","a1865f04.1684b","e6533a36.caa458"]]},{"id":"a1865f04.1684b","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=\"self-serve-mS-mac-address-assign: call self-service-capability-param-resolution DG\"/>","comments":"","outputs":1,"x":271,"y":597,"z":"49f11553.28c29c","wires":[[]]},{"id":"a108bc30.a26be","type":"set","name":"set variables for calling capability-param-resolution","xml":"<set>\n<!--<parameter name='name' value='value' />-->","comments":"","x":407.6904296875,"y":642.3095703125,"z":"49f11553.28c29c","wires":[]},{"id":"e6533a36.caa458","type":"call","name":"call GR-API:self-serve-capability-param-resolution","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >\n","comments":"","outputs":1,"x":404.023681640625,"y":688.976318359375,"z":"49f11553.28c29c","wires":[["b5b8fd64.0f6ed","1d8c4d61.457f73"]]},{"id":"b5b8fd64.0f6ed","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":718.7379760742188,"y":665.83349609375,"z":"49f11553.28c29c","wires":[["3284ee31.dbd392"]]},{"id":"1d8c4d61.457f73","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":722.0713259379067,"y":717.5001392364502,"z":"49f11553.28c29c","wires":[[]]},{"id":"adf382f0.6b643","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='402' />\n<parameter name='error-message' value='Failure calling self-service-capability-param-resolution' />\n","comments":"","x":1005,"y":688,"z":"49f11553.28c29c","wires":[]},{"id":"81f4dee7.0c2ed","type":"comment","name":"Loop thru vf-module-params for ALL matches with ss.capability-name","info":"","comments":"","x":411,"y":758,"z":"49f11553.28c29c","wires":[]},{"id":"557b99b5.739db8","type":"for","name":"for each vf-module-parameters","xml":"<for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >\n","comments":"","outputs":1,"x":373,"y":942,"z":"49f11553.28c29c","wires":[["d0ca161f.60d4d8","18493294.3b694d"]]},{"id":"18493294.3b694d","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=\"self-serve-mS-mac-address-assign: vf-module-param-index\"/>\n<parameter name=\"field3\" value='`$vf-module-param-index`'/>","comments":"","outputs":1,"x":586,"y":942,"z":"49f11553.28c29c","wires":[[]]},{"id":"d0ca161f.60d4d8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":355,"y":991,"z":"49f11553.28c29c","wires":[["15a20296.9654bd","ff0ba945.2b7078"]]},{"id":"c740ee24.70b1c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":244,"y":804,"z":"49f11553.28c29c","wires":[["35627889.198308","557b99b5.739db8","f76a923e.1777d"]]},{"id":"35627889.198308","type":"set","name":"set vf-module-parameters-length","xml":"<set>\n<parameter name='tmp.vf-module-parameters-length' value='`$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_length`' />\n","comments":"","x":380,"y":898,"z":"49f11553.28c29c","wires":[]},{"id":"15a20296.9654bd","type":"set","name":"set vfModuleParamsCapabilityName and intiailize tmp.* mS input params","xml":"<set>\n<parameter name='vfModuleParamsCapabilityName' value='`$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[$vf-module-param-index].resource-resolution-data.capability-name`' />\n<parameter name='tmp.vnfHostName' value='' />\n<parameter name='tmp.policyInstanceName' value='' />\n<parameter name='tmp.cloudParamName' value='' />\n<parameter name='tmp.swName' value='' />\n<parameter name='tmp.resourceValue' value='' />","comments":"","x":579,"y":1080,"z":"49f11553.28c29c","wires":[]},{"id":"ff0ba945.2b7078","type":"switchNode","name":"switch compare vfModuleParamsCapabilityName and ss.capability-name","xml":"<switch test=\"`$ss.capability-name == $vfModuleParamsCapabilityName`\">","comments":"","outputs":1,"x":578,"y":1125,"z":"49f11553.28c29c","wires":[["64a2b02f.091b6","5b2a978e.33ad68"]]},{"id":"8de816b3.3b10d8","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/self-serve-mS-mac-address-assign.log' />\n","comments":"","outputs":1,"x":214,"y":4795,"z":"49f11553.28c29c","wires":[[]]},{"id":"4cffbb79.37f154","type":"returnSuccess","name":"return success","xml":"<return status='success'>\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[$vf-module-parameters-index].resource-resolution-data.status`\" value='SUCCESS' />","comments":"","x":221,"y":4850,"z":"49f11553.28c29c","wires":[]},{"id":"64a2b02f.091b6","type":"outcome","name":"outcome:ss.capability-name match","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":477,"y":1173,"z":"49f11553.28c29c","wires":[["a5d9689a.f6d4b8"]]},{"id":"5b2a978e.33ad68","type":"other","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":387,"y":1214,"z":"49f11553.28c29c","wires":[[]]},{"id":"b765058d.012728","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=\"self-serve-mS-mac-address-assign: Found ss.capability-name MATCH\"/>","comments":"","outputs":1,"x":823,"y":1173,"z":"49f11553.28c29c","wires":[[]]},{"id":"a5d9689a.f6d4b8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":691,"y":1173,"z":"49f11553.28c29c","wires":[["b765058d.012728","f8298f45.6dd8f","e795d2b2.de9ea"]]},{"id":"b833668a.32a2e8","type":"set","name":"set resource-resolution-data","xml":"<set>\n<parameter name='tmp.resource-resolution-data.' value='`$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[$vf-module-param-index].resource-resolution-data.`' />\n","comments":"","x":814,"y":1483,"z":"49f11553.28c29c","wires":[]},{"id":"f8298f45.6dd8f","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":729,"y":1708,"z":"49f11553.28c29c","wires":[["d8a79021.ada8a","efb6904c.0b132","32ffaea4.ebf822","3f4780f3.5b1af","fc695bea.55efa8","7ee831e2.82547","98494924.3c42c8","b1f621f4.2d574","dcd2ceec.8e369","7c75bd8a.d2b754"]]},{"id":"f192106f.aba0a","type":"comment","name":"Resolve hostname, policy-instance-name, cloud-param-name and sw-name from resource-resolution-data","info":"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters[$vf-module-params-index].param.resource-resolution-data.resource-key[$key-index].value \nwhere its corresponding resource-key[$key-index].name=vnf-name","comments":"","x":997,"y":1662,"z":"49f11553.28c29c","wires":[]},{"id":"d8a79021.ada8a","type":"set","name":"set resource-key-length","xml":"<set>\n<parameter name='tmp.resource-key-length' value='`$tmp.resource-resolution-data.resource-key_length`' />\n","comments":"","x":803,"y":1768,"z":"49f11553.28c29c","wires":[]},{"id":"efb6904c.0b132","type":"for","name":"for each resource-resolution-data.resource-key","xml":"<for index='key-index' start='0' end='`$tmp.resource-resolution-data.resource-key_length`' >\n","comments":"","outputs":1,"x":878,"y":1813,"z":"49f11553.28c29c","wires":[["45cc14c2.4d9acc","529acf7f.f236"]]},{"id":"529acf7f.f236","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=\"self-serve-mS-mac-address-assign: key-index\"/>\n<parameter name=\"field3\" value='`$key-index`'/>","comments":"","outputs":1,"x":1145,"y":1813,"z":"49f11553.28c29c","wires":[[]]},{"id":"45cc14c2.4d9acc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":808,"y":1862,"z":"49f11553.28c29c","wires":[["a9f4ffa9.145ae"]]},{"id":"a9f4ffa9.145ae","type":"switchNode","name":"switch compare resource-key.name","xml":"<switch test=\"`$tmp.resource-resolution-data.resource-key[$key-index].name`\">","comments":"","outputs":1,"x":904,"y":1909,"z":"49f11553.28c29c","wires":[["e48f84f.8010178","3365afc0.b8aeb","77756d7a.b7d954"]]},{"id":"e48f84f.8010178","type":"outcome","name":"key resource key","xml":"<outcome value='key'>\n","comments":"","outputs":1,"x":910,"y":1995,"z":"49f11553.28c29c","wires":[["74c1a54.475825c"]]},{"id":"74c1a54.475825c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1180,"y":1995,"z":"49f11553.28c29c","wires":[["16486832.4d3a98","5950731f.f665bc","956ecb72.c0aa28"]]},{"id":"16486832.4d3a98","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=\"self-serve-mS-mac-address-assign: Found resource-resolution-data.name = vnf-name\"/>","comments":"","outputs":1,"x":1312,"y":1994,"z":"49f11553.28c29c","wires":[[]]},{"id":"5950731f.f665bc","type":"set","name":"set vnfHostName","xml":"<set>\n<parameter name='tmp.vnfHostName' value='`$tmp.resource-resolution-data.resource-key[$key-index].value`' />\n","comments":"","x":1215,"y":2043,"z":"49f11553.28c29c","wires":[]},{"id":"32ffaea4.ebf822","type":"switchNode","name":"switch validate resolved vnfHostNamne","xml":"<switch test=\"`$tmp.vnfHostName`\">\n","comments":"","outputs":1,"x":863,"y":2290,"z":"49f11553.28c29c","wires":[["1e03d899.4d5c37","b455d9e7.cd4de8"]]},{"id":"1e03d899.4d5c37","type":"outcome","name":"null","xml":"<outcome value='null'>\n","comments":"","outputs":1,"x":1153,"y":2264,"z":"49f11553.28c29c","wires":[["13ad3ae1.dd3895"]]},{"id":"b455d9e7.cd4de8","type":"other","name":"blank","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1152,"y":2310,"z":"49f11553.28c29c","wires":[["13ad3ae1.dd3895"]]},{"id":"31e2f8be.f33c18","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='403' />\n<parameter name='error-message' value='vnfHostName is not set' />\n","comments":"","x":1446,"y":2330,"z":"49f11553.28c29c","wires":[]},{"id":"df14baa.538b448","type":"set","name":"set resource-resolution-data.status to SUCCESS","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status`\" value='SUCCESS' />\n","comments":"","x":738,"y":3618,"z":"49f11553.28c29c","wires":[]},{"id":"83429548.44e578","type":"for","name":"for each vf-module-parameters","xml":"<for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >\n","comments":"","outputs":1,"x":620,"y":3473,"z":"49f11553.28c29c","wires":[["5dc9240c.a731ac","e32c2884.0da7f8"]]},{"id":"e32c2884.0da7f8","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=\"self-serve-mS-mac-address-assign: vf-module-param-index\"/>\n<parameter name=\"field3\" value='`$vf-module-param-index`'/>","comments":"","outputs":1,"x":832,"y":3473,"z":"49f11553.28c29c","wires":[[]]},{"id":"5dc9240c.a731ac","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":604,"y":3522,"z":"49f11553.28c29c","wires":[["e0e1ff6c.f9e59","df14baa.538b448"]]},{"id":"d7a94ac5.4ee0d8","type":"set","name":"set mac-address-assign test 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.vf-module-parameters.param_length' value='4' />\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[0].name' value='vmxvpfe_sriov41_0_port_mac' />\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[0].value' value='${vmxvpfe_sriov41_0_port_mac}' />\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[0].resource-resolution-data.status' value='PENDING' />\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[0].resource-resolution-data.capability-name' value='mS-mac-address-assign' />\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[0].resource-resolution-data.resource-key_length' value='3' />\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[0].resource-resolution-data.resource-key[0].name' value='key' />\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[0].resource-resolution-data.resource-key[0].value' value='host-laina1' />\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[0].resource-resolution-data.resource-key[1].name' value='policy-instance-name' />\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[0].resource-resolution-data.resource-key[1].value' value='JQIN1810SRIOV.Config_MS_macAddressAssignmentPolicy.*' />\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[0].resource-resolution-data.resource-key[2].name' value='sw-name' />\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[0].resource-resolution-data.resource-key[2].value' value='JUNOS' />\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[1].name' value='vmxvpfe_sriov42_0_port_mac' />\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[1].value' value='somevalue-already-assigned' />\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[1].resource-resolution-data.status' value='PENDING' />\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[1].resource-resolution-data.capability-name' value='mS-mac-address-assign' />\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[1].resource-resolution-data.resource-key_length' value='3' />\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[1].resource-resolution-data.resource-key[0].name' value='key' />\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[1].resource-resolution-data.resource-key[0].value' value='host-laina1' />\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[1].resource-resolution-data.resource-key[1].name' value='policy-instance-name' />\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[1].resource-resolution-data.resource-key[1].value' value='JQIN1810SRIOV.Config_MS_macAddressAssignmentPolicy.*' />\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[1].resource-resolution-data.resource-key[2].name' value='sw-name' />\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[1].resource-resolution-data.resource-key[2].value' value='JUNOS' />\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[2].name' value='vmxvpfe_sriov43_0_port_mac' />\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[2].value' value='${vmxvpfe_sriov43_0_port_mac}' />\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[2].resource-resolution-data.status' value='PENDING' />\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[2].resource-resolution-data.capability-name' value='mS-mac-address-assign' />\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[2].resource-resolution-data.resource-key_length' value='3' />\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[2].resource-resolution-data.resource-key[0].name' value='key' />\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[2].resource-resolution-data.resource-key[0].value' value='host-laina1' />\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[2].resource-resolution-data.resource-key[1].name' value='policy-instance-name' />\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[2].resource-resolution-data.resource-key[1].value' value='JQIN1810SRIOV.Config_MS_macAddressAssignmentPolicy.*' />\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[2].resource-resolution-data.resource-key[2].name' value='sw-name' />\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[2].resource-resolution-data.resource-key[2].value' value='JUNOS' />\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[3].name' value='vmxvpfe_sriov44_0_port_mac' />\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[3].value' value='${vmxvpfe_sriov44_0_port_mac}' />\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[3].resource-resolution-data.status' value='PENDING' />\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[3].resource-resolution-data.capability-name' value='mS-mac-address-assign' />\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[3].resource-resolution-data.resource-key_length' value='3' />\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[3].resource-resolution-data.resource-key[0].name' value='key' />\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[3].resource-resolution-data.resource-key[0].value' value='host-laina1' />\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[3].resource-resolution-data.resource-key[1].name' value='policy-instance-name' />\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[3].resource-resolution-data.resource-key[1].value' value='JQIN1810SRIOV.Config_MS_macAddressAssignmentPolicy.*' />\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[3].resource-resolution-data.resource-key[2].name' value='sw-name' />\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[3].resource-resolution-data.resource-key[2].value' value='JUNOS' />","comments":"","x":1113,"y":533,"z":"49f11553.28c29c","wires":[]},{"id":"83d65996.c3dca8","type":"comment","name":"Set temporary test data * TEST-ONLY *","info":"","comments":"","x":552,"y":528,"z":"49f11553.28c29c","wires":[]},{"id":"956ecb72.c0aa28","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=\"self-serve-mS-mac-address-assign: resolved vnfHostName: \"/>\n<parameter name=\"field3\" value='`$tmp.vnfHostName`'/>","comments":"","outputs":1,"x":1184,"y":2089,"z":"49f11553.28c29c","wires":[[]]},{"id":"937a5b68.3f7018","type":"switchNode","name":"switch ss.capability-action","xml":"<switch test=\"`$ss.capability-action`\">\n","comments":"","outputs":1,"x":283,"y":292,"z":"49f11553.28c29c","wires":[["4762a00.1cbdf6","d346113b.662b8","ae2cd0b9.c0e3f","2a86c91f.d1ce56","48302673.00a098"]]},{"id":"4762a00.1cbdf6","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":549,"y":275,"z":"49f11553.28c29c","wires":[[]]},{"id":"d346113b.662b8","type":"not-found","name":"not-found","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":556,"y":315,"z":"49f11553.28c29c","wires":[["c6c42ae2.eff988"]]},{"id":"ae2cd0b9.c0e3f","type":"outcome","name":"null","xml":"<outcome value='null'>\n","comments":"","outputs":1,"x":546,"y":355,"z":"49f11553.28c29c","wires":[[]]},{"id":"2a86c91f.d1ce56","type":"other","name":"assign","xml":"<outcome value='assign'>\n","comments":"","outputs":1,"x":547,"y":396,"z":"49f11553.28c29c","wires":[["a6ed29e1.6f6f38"]]},{"id":"2a58f163.5019be","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='401' />\n<parameter name='error-message' value='ss.capability-action is not set' />\n","comments":"","x":865,"y":351,"z":"49f11553.28c29c","wires":[]},{"id":"48302673.00a098","type":"other","name":"unassign","xml":"<outcome value='unassign'>\n","comments":"","outputs":1,"x":556,"y":439,"z":"49f11553.28c29c","wires":[["bd0f2ac4.457a68"]]},{"id":"a6ed29e1.6f6f38","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=\"self-serve-mS-mac-address-assign: ss.capability-action is assign\"/>","comments":"","outputs":1,"x":706,"y":396,"z":"49f11553.28c29c","wires":[[]]},{"id":"bd0f2ac4.457a68","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=\"self-serve-mS-mac-address-assign: ss.capability-action is unassign\"/>","comments":"","outputs":1,"x":707,"y":439,"z":"49f11553.28c29c","wires":[[]]},{"id":"e0e1ff6c.f9e59","type":"switchNode","name":"switch vf-module-parameters.param.name == mac-address-list[].name","xml":"<switch test=\"`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].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[$vf-module-param-index].name`\">\n","comments":"","outputs":1,"x":802,"y":3571,"z":"49f11553.28c29c","wires":[["1fd668f7.cdc337"]]},{"id":"d7bf35d6.132f58","type":"set","name":"set vf-module-parameters.param.value to assigned mac address","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.vf-module-parameters.param[$vf-module-param-index].value`\" value=\"`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].value`\" />\n","comments":"","x":2013,"y":3735,"z":"49f11553.28c29c","wires":[]},{"id":"9890fe8e.13a7a","type":"block","name":"block:atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":360,"y":3827,"z":"49f11553.28c29c","wires":[["d6b2bdc8.28f4b","e3815c89.19818","c0e224f4.f2ee48"]]},{"id":"dabad6df.ca2188","type":"comment","name":"Call Unassign MAC address microService","info":"","comments":"","x":605.5,"y":3782,"z":"49f11553.28c29c","wires":[]},{"id":"3635e0e6.833f8","type":"set","name":"set vf-module-parameters.param.value to assigned mac address","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status`\" value=\"DELETED\" />\n","comments":"","x":1777,"y":4081,"z":"49f11553.28c29c","wires":[]},{"id":"395c40c2.33595","type":"comment","name":"Check that resource-resolution-data.status is PENDING","info":"","comments":"","x":902,"y":1536,"z":"49f11553.28c29c","wires":[]},{"id":"f8ba93eb.3b672","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":705,"y":145,"z":"49f11553.28c29c","wires":[["5bbceeb9.b1833","6164f080.f1d8d"]]},{"id":"5bbceeb9.b1833","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=\"self-serve-mS-mac-address-assign: ss.capability-name is not mS-mac-address-assign or it is not set\"/>","comments":"","outputs":1,"x":845,"y":104,"z":"49f11553.28c29c","wires":[[]]},{"id":"cd1dd0a6.2ac37","type":"set","name":"set status to FAILED","xml":"<set>\n<parameter name='resource-resolution-data.status' value='FAILED' />","comments":"","x":886,"y":142,"z":"49f11553.28c29c","wires":[]},{"id":"9880892.85f7378","type":"comment","name":"resrouce-resolution-data is not yet set","info":"","comments":"","x":1144,"y":140,"z":"49f11553.28c29c","wires":[]},{"id":"c6c42ae2.eff988","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":705,"y":315,"z":"49f11553.28c29c","wires":[["ad4fd223.b06a1","2a58f163.5019be"]]},{"id":"ad4fd223.b06a1","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=\"self-serve-mS-mac-address-assign: ss.capability-action is not set\"/>","comments":"","outputs":1,"x":849,"y":273,"z":"49f11553.28c29c","wires":[[]]},{"id":"ca0033cc.33011","type":"set","name":"set status to FAILED","xml":"<set>\n<parameter name='resource-resolution-data.status' value='FAILURE' />","comments":"","x":891,"y":311,"z":"49f11553.28c29c","wires":[]},{"id":"3284ee31.dbd392","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":845,"y":666,"z":"49f11553.28c29c","wires":[["adbb65ad.0b7198","adf382f0.6b643"]]},{"id":"adbb65ad.0b7198","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=\"self-serve-mS-mac-address-assign: Failure calling self-service-capability-param-resolution\"/>","comments":"","outputs":1,"x":988,"y":645,"z":"49f11553.28c29c","wires":[[]]},{"id":"d9e6bdbc.90de5","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=\"self-serve-mS-mac-address-assign: vnfHostName is not set\"/>","comments":"","outputs":1,"x":1410,"y":2242,"z":"49f11553.28c29c","wires":[[]]},{"id":"5e8ee822.4540e8","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1469,"y":2287,"z":"49f11553.28c29c","wires":[]},{"id":"13ad3ae1.dd3895","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1288,"y":2287,"z":"49f11553.28c29c","wires":[["d9e6bdbc.90de5","5e8ee822.4540e8","31e2f8be.f33c18"]]},{"id":"d04355c3.417358","type":"switchNode","name":"switch tmp.resource-resolution-data = PENDING","xml":"<switch test=\"`$tmp.resource-resolution-data.status == 'PENDING'`\">","comments":"","outputs":1,"x":884,"y":1587,"z":"49f11553.28c29c","wires":[["be95e99c.b7bd58"]]},{"id":"d82a8b0.25d6a78","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1352,"y":1587,"z":"49f11553.28c29c","wires":[["67a991be.14e2b","e51475f0.abd628","5a02f00e.359d7"]]},{"id":"67a991be.14e2b","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=\"self-serve-mS-mac-address-assign: reseouce-resolution-data.status is not PENDING\"/>","comments":"","outputs":1,"x":1492,"y":1547,"z":"49f11553.28c29c","wires":[[]]},{"id":"5a02f00e.359d7","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1533,"y":1586,"z":"49f11553.28c29c","wires":[]},{"id":"e51475f0.abd628","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='401' />\n<parameter name='error-message' value='reseouce-resolution-data.status is not PENDING' />\n","comments":"","x":1504,"y":1627,"z":"49f11553.28c29c","wires":[]},{"id":"be95e99c.b7bd58","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1188,"y":1587,"z":"49f11553.28c29c","wires":[["d82a8b0.25d6a78"]]},{"id":"b747603e.9f9c","type":"comment","name":"Call Assign MAC address microService","info":"","comments":"","x":562,"y":3166,"z":"49f11553.28c29c","wires":[]},{"id":"fc695bea.55efa8","type":"switchNode","name":"switch validate resolved policyInstanceName","xml":"<switch test=\"`$tmp.policyInstanceName`\">\n","comments":"","outputs":1,"x":884,"y":2561,"z":"49f11553.28c29c","wires":[["1d99c3b4.89ca5c","28aa41f0.c83cce"]]},{"id":"1d99c3b4.89ca5c","type":"outcome","name":"null","xml":"<outcome value='null'>\n","comments":"","outputs":1,"x":1149,"y":2541,"z":"49f11553.28c29c","wires":[["1612f486.989c8b"]]},{"id":"28aa41f0.c83cce","type":"other","name":"blank","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1151,"y":2581,"z":"49f11553.28c29c","wires":[["1612f486.989c8b"]]},{"id":"af7d3f12.8fe2f","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='403' />\n<parameter name='error-message' value='policyInstanceName is not set and action is assign' />\n","comments":"","x":1883,"y":2603,"z":"49f11553.28c29c","wires":[]},{"id":"9c72660f.c666b8","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=\"self-serve-mS-mac-address-assign: policyInstanceName is not set and action is assign\"/>","comments":"","outputs":1,"x":1864,"y":2521,"z":"49f11553.28c29c","wires":[[]]},{"id":"479b53da.22197c","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1906,"y":2560,"z":"49f11553.28c29c","wires":[]},{"id":"9cfb0a8c.350bb8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1728,"y":2560,"z":"49f11553.28c29c","wires":[["9c72660f.c666b8","479b53da.22197c","af7d3f12.8fe2f"]]},{"id":"3365afc0.b8aeb","type":"outcome","name":"policy-instance-name resource key","xml":"<outcome value='policy-instance-name'>\n","comments":"","outputs":1,"x":1553,"y":1997,"z":"49f11553.28c29c","wires":[["529fe780.466c98"]]},{"id":"529fe780.466c98","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1776,"y":1997,"z":"49f11553.28c29c","wires":[["88aa0755.dfbfb8","5f9db5b0.14c1dc","913d0484.6580f8"]]},{"id":"88aa0755.dfbfb8","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=\"self-serve-mS-mac-address-assign: Found resource-resolution-data.name = policy-instance-name-name\"/>","comments":"","outputs":1,"x":1908,"y":1997,"z":"49f11553.28c29c","wires":[[]]},{"id":"5f9db5b0.14c1dc","type":"set","name":"set policyInstanceName","xml":"<set>\n<parameter name='tmp.policyInstanceName' value='`$tmp.resource-resolution-data.resource-key[$key-index].value`' />\n","comments":"","x":1828,"y":2045,"z":"49f11553.28c29c","wires":[]},{"id":"913d0484.6580f8","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=\"self-serve-mS-mac-address-assign: resolved policyInstanceName: \"/>\n<parameter name=\"field3\" value='`$tmp.policyInstanceName`'/>","comments":"","outputs":1,"x":1780,"y":2091,"z":"49f11553.28c29c","wires":[[]]},{"id":"77756d7a.b7d954","type":"outcome","name":"sw-name resource key","xml":"<outcome value='sw-name'>\n","comments":"","outputs":1,"x":1527,"y":2143,"z":"49f11553.28c29c","wires":[["dee6e77e.a38548"]]},{"id":"dee6e77e.a38548","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1778,"y":2143,"z":"49f11553.28c29c","wires":[["4c52afb7.937f1","b41afc4d.35241","62817552.215acc"]]},{"id":"4c52afb7.937f1","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=\"self-serve-mS-mac-address-assign: Found resource-resolution-data.name = sw-name\"/>","comments":"","outputs":1,"x":1910,"y":2143,"z":"49f11553.28c29c","wires":[[]]},{"id":"b41afc4d.35241","type":"set","name":"set swName","xml":"<set>\n<parameter name='tmp.swName' value='`$tmp.resource-resolution-data.resource-key[$key-index].value`' />\n","comments":"","x":1799,"y":2191,"z":"49f11553.28c29c","wires":[]},{"id":"62817552.215acc","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=\"self-serve-mS-mac-address-assign: resolved swName: \"/>\n<parameter name=\"field3\" value='`$tmp.swName`'/>","comments":"","outputs":1,"x":1784,"y":2235,"z":"49f11553.28c29c","wires":[[]]},{"id":"7ee831e2.82547","type":"switchNode","name":"switch validate resolved cloudParamName","xml":"<switch test=\"`$tmp.cloudParamName`\">\n","comments":"","outputs":1,"x":880,"y":2424,"z":"49f11553.28c29c","wires":[["c91692b6.65ce8","32988ed5.054c82"]]},{"id":"c91692b6.65ce8","type":"outcome","name":"null","xml":"<outcome value='null'>\n","comments":"","outputs":1,"x":1156,"y":2404,"z":"49f11553.28c29c","wires":[["1039fc6f.eb7844"]]},{"id":"32988ed5.054c82","type":"other","name":"blank","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1158,"y":2444,"z":"49f11553.28c29c","wires":[["1039fc6f.eb7844"]]},{"id":"ed9695ad.3bae68","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='403' />\n<parameter name='error-message' value='cloudParamName is not set' />\n","comments":"","x":1443,"y":2464,"z":"49f11553.28c29c","wires":[]},{"id":"67575869.37b978","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=\"self-serve-mS-mac-address-assign: cloudParamName is not set\"/>","comments":"","outputs":1,"x":1424,"y":2382,"z":"49f11553.28c29c","wires":[[]]},{"id":"5523be2f.8450e","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1466,"y":2421,"z":"49f11553.28c29c","wires":[]},{"id":"1039fc6f.eb7844","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1288,"y":2421,"z":"49f11553.28c29c","wires":[["67575869.37b978","5523be2f.8450e","ed9695ad.3bae68"]]},{"id":"3f4780f3.5b1af","type":"switchNode","name":"switch validate resolved swName","xml":"<switch test=\"`$tmp.swName`\">\n","comments":"","outputs":1,"x":854,"y":2689,"z":"49f11553.28c29c","wires":[["28d80c07.9c9e04","e6ec0202.21c26"]]},{"id":"28d80c07.9c9e04","type":"outcome","name":"null","xml":"<outcome value='null'>\n","comments":"","outputs":1,"x":1151,"y":2669,"z":"49f11553.28c29c","wires":[["52391bf3.425114"]]},{"id":"e6ec0202.21c26","type":"other","name":"blank","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1153,"y":2709,"z":"49f11553.28c29c","wires":[["52391bf3.425114"]]},{"id":"36d970ba.f973a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='403' />\n<parameter name='error-message' value='swName is not set and action is assign' />\n","comments":"","x":1887,"y":2734,"z":"49f11553.28c29c","wires":[]},{"id":"ec8f9748.d8d1b8","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=\"self-serve-mS-mac-address-assign: swName is not set and action is assign\"/>","comments":"","outputs":1,"x":1868,"y":2652,"z":"49f11553.28c29c","wires":[[]]},{"id":"9b41bab.5d2c148","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1910,"y":2691,"z":"49f11553.28c29c","wires":[]},{"id":"a293551e.0dbae8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1735,"y":2689,"z":"49f11553.28c29c","wires":[["ec8f9748.d8d1b8","9b41bab.5d2c148","36d970ba.f973a"]]},{"id":"a3d2b1ea.3e7ad","type":"comment","name":"set vnfHostName","info":"","comments":"","x":903,"y":1953,"z":"49f11553.28c29c","wires":[]},{"id":"7180d3e5.b6623c","type":"comment","name":"set policyInstanceName","info":"","comments":"","x":1518,"y":1953,"z":"49f11553.28c29c","wires":[]},{"id":"4be5943a.af143c","type":"comment","name":"set swName","info":"","comments":"","x":1492,"y":2104,"z":"49f11553.28c29c","wires":[]},{"id":"1b6f227f.8f62fe","type":"execute","name":"execute RestapiCallNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/mac-address-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.mac-address-microserivice.url + '/macaddress/service/assign'`\" />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' /> \n <parameter name='customHttpHeaders'\n value=\"Authorization=Basic YWRtaW46YWRtaW4=\" />\n\t<parameter name=\"responsePrefix\" value=\"tmp.mac-address-resp.prefix\" />","comments":"","outputs":1,"x":525,"y":3291,"z":"49f11553.28c29c","wires":[["fb57b9db.6a1d88","2210de9c.a974e2"]]},{"id":"d2857a0f.9c83f8","type":"set","name":"set","xml":"<set>\n<parameter name='prop.restapi.templateDir' value=\"/opt/lsc/restapi/templates\" />\n<parameter name='prop.mac-address-microserivice.url' value=\"http://mtanjv9sdlg51-eth1-0.aic.cip.att.com:8989\" />","comments":"","x":470,"y":3210,"z":"49f11553.28c29c","wires":[]},{"id":"6466676a.e4e518","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":320,"y":3209,"z":"49f11553.28c29c","wires":[["d2857a0f.9c83f8","1b6f227f.8f62fe","c0119016.c8f5b","75b77747.853018"]]},{"id":"c0119016.c8f5b","type":"record","name":"record","xml":"<record plugin=\"com.att.sdnctl.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"self-serve-mS-mac-address-assign: restapi-call-node Call MAC Address microService assign\"/>","comments":"","outputs":1,"x":470,"y":3252,"z":"49f11553.28c29c","wires":[[]]},{"id":"fb57b9db.6a1d88","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":720,"y":3281,"z":"49f11553.28c29c","wires":[["5e381348.a46f6c"]]},{"id":"cd970bc5.886488","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=\"self-serve-mS-mac-address-assign: Error calling MAC Address Micro Service assign\"/>\n","comments":"","outputs":1,"x":1062,"y":3204,"z":"49f11553.28c29c","wires":[[]]},{"id":"2210de9c.a974e2","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":722,"y":3323,"z":"49f11553.28c29c","wires":[["6c9579c4.cc79e8"]]},{"id":"5cbbae13.9307d","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=\"self-serve-mS-mac-address-assign: assign SUCCESS\"/>","comments":"","outputs":1,"x":1061,"y":3324,"z":"49f11553.28c29c","wires":[[]]},{"id":"7e55e2a5.9fbb1c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='502' />\n<parameter name='error-message' value='self-serve-mS-mac-address-assign: Error calling MAC Address Micro Service assign' />\n","comments":"","x":1076,"y":3282,"z":"49f11553.28c29c","wires":[]},{"id":"5e381348.a46f6c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":847,"y":3280,"z":"49f11553.28c29c","wires":[["cd970bc5.886488","7e55e2a5.9fbb1c","b6a624d5.1cf8e8"]]},{"id":"6c9579c4.cc79e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":848,"y":3324,"z":"49f11553.28c29c","wires":[["5cbbae13.9307d"]]},{"id":"e5f3a8f2.389b18","type":"switchNode","name":"switch response-code","xml":"<switch test='`$tmp.pm-response.response-code`'>\n","comments":"","outputs":1,"x":1113,"y":3409,"z":"49f11553.28c29c","wires":[["dcfaaabe.0296b8"]]},{"id":"dcfaaabe.0296b8","type":"outcome","name":"500","xml":"<outcome value='500'>\n","comments":"","outputs":1,"x":1289,"y":3409,"z":"49f11553.28c29c","wires":[["df67c991.658888"]]},{"id":"df67c991.658888","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1295,"y":3451,"z":"49f11553.28c29c","wires":[["30b9131e.63a09c","67447020.0f752","bb43975e.4e1618"]]},{"id":"30b9131e.63a09c","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=\"self-serve-mS-mac-address-assign: Error calling Policy Manager getPolicy\"/>\n","comments":"","outputs":1,"x":1440,"y":3408,"z":"49f11553.28c29c","wires":[[]]},{"id":"67447020.0f752","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='502' />\n<parameter name='error-message' value='self-serve-mS-mac-address-assign: getPolicy call to Policy Manger failed' />\n","comments":"","x":1459,"y":3493,"z":"49f11553.28c29c","wires":[]},{"id":"41de3cd3.931d34","type":"method","name":"method self-serve-mS-mac-address-assign","xml":"<method rpc='self-serve-mS-mac-address-assign' mode='sync'>\n","comments":"","outputs":1,"x":767,"y":36,"z":"49f11553.28c29c","wires":[["ce021d20.bb75e"]]},{"id":"e1fda82f.16b798","type":"set","name":"set","xml":"<set>\n<parameter name='tmp.mac-address-list.' value=\"`$tmp.mac-address-resp.prefix.mac-address-list.`\" />\n","comments":"","x":1062,"y":3362,"z":"49f11553.28c29c","wires":[]},{"id":"75b77747.853018","type":"for","name":"for each address in mac-address-list","xml":"<for index='mac-address-list-index' start='0' end='`$tmp.mac-address-resp.prefix.mac-address-list_length`' >\n","comments":"","outputs":1,"x":562,"y":3384,"z":"49f11553.28c29c","wires":[["2545934f.e62d9c"]]},{"id":"a15833b7.c0517","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=\"self-serve-mS-mac-address-assign: mac-address-list-index|name|value \"/>\n<parameter name=\"field3\" value='`$mac-address-list-index`'/>\n<parameter name=\"field4\" value='`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].name`'/>\n<parameter name=\"field5\" value='`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].value`'/>","comments":"","outputs":1,"x":671,"y":3424,"z":"49f11553.28c29c","wires":[[]]},{"id":"2545934f.e62d9c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":544,"y":3424,"z":"49f11553.28c29c","wires":[["a15833b7.c0517","83429548.44e578"]]},{"id":"4c58c71c.b3c6c8","type":"comment","name":"vnf-name and could-param-name required for assign and unassign","info":"","comments":"","x":937,"y":2226,"z":"49f11553.28c29c","wires":[]},{"id":"d5fbb2b6.accb2","type":"comment","name":"policy-instance-name and sw-name required for assign","info":"","comments":"","x":911,"y":2504,"z":"49f11553.28c29c","wires":[]},{"id":"1612f486.989c8b","type":"switchNode","name":"switch ss.capability-action == assign","xml":"<switch test=\"`$ss.capability-action` == 'assign'\">","comments":"","outputs":1,"x":1377,"y":2560,"z":"49f11553.28c29c","wires":[["6b7c9a0b.7497b4"]]},{"id":"6b7c9a0b.7497b4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1597,"y":2560,"z":"49f11553.28c29c","wires":[["9cfb0a8c.350bb8"]]},{"id":"52391bf3.425114","type":"switchNode","name":"switch ss.capability-action == assign","xml":"<switch test=\"`$ss.capability-action` == 'assign'\">","comments":"","outputs":1,"x":1376,"y":2689,"z":"49f11553.28c29c","wires":[["e220d9fd.f96838"]]},{"id":"e220d9fd.f96838","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1601,"y":2689,"z":"49f11553.28c29c","wires":[["a293551e.0dbae8"]]},{"id":"c0e224f4.f2ee48","type":"execute","name":"execute RestapiCallNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/mac-address-unassign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.mac-address-microserivice.url + '/macaddress/service/unassign'`\" />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' /> \n <parameter name='customHttpHeaders'\n value=\"Authorization=Basic YWRtaW46YWRtaW4=\" />\n\t<parameter name=\"responsePrefix\" value=\"tmp.mac-address-resp.prefix\" />","comments":"","outputs":1,"x":559,"y":3909,"z":"49f11553.28c29c","wires":[["90394e75.7983e","7f04a5b9.03d47c"]]},{"id":"d6b2bdc8.28f4b","type":"set","name":"set","xml":"<set>\n<parameter name='prop.restapi.templateDir' value=\"/opt/lsc/restapi/templates\" />\n<parameter name='prop.mac-address-microserivice.url' value=\"http://mtanjv9sdlg51-eth1-0.aic.cip.att.com:8989\" />","comments":"","x":504,"y":3828,"z":"49f11553.28c29c","wires":[]},{"id":"e3815c89.19818","type":"record","name":"record","xml":"<record plugin=\"com.att.sdnctl.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"self-serve-mS-mac-address-assign: restapi-call-node Call MAC Address microService unassign\"/>","comments":"","outputs":1,"x":504,"y":3870,"z":"49f11553.28c29c","wires":[[]]},{"id":"90394e75.7983e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":754,"y":3899,"z":"49f11553.28c29c","wires":[["7d22364a.00ccd8"]]},{"id":"e985ac86.2be1c","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=\"self-serve-mS-mac-address-assign: Error calling MAC Address Micro Service unassign\"/>\n","comments":"","outputs":1,"x":1047,"y":3817,"z":"49f11553.28c29c","wires":[[]]},{"id":"7f04a5b9.03d47c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":756,"y":3941,"z":"49f11553.28c29c","wires":[["c8fd6afc.857bc8"]]},{"id":"a29f47d1.1990b8","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=\"self-serve-mS-mac-address-assign: unassign SUCCESS: response: \"/>\n<parameter name='field3' value='`$tmp.mac-address-resp.prefix.status`' />","comments":"","outputs":1,"x":1050,"y":3942,"z":"49f11553.28c29c","wires":[[]]},{"id":"35449a42.cd0cb6","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='502' />\n<parameter name='error-message' value='self-serve-mS-mac-address-assign: Error calling MAC Address Micro Service unassign' />\n","comments":"","x":1066,"y":3898,"z":"49f11553.28c29c","wires":[]},{"id":"7d22364a.00ccd8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":881,"y":3898,"z":"49f11553.28c29c","wires":[["e985ac86.2be1c","35449a42.cd0cb6","b3df94aa.38dd88"]]},{"id":"c8fd6afc.857bc8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":882,"y":3942,"z":"49f11553.28c29c","wires":[["a29f47d1.1990b8","32eb5385.0caa4c"]]},{"id":"b6a624d5.1cf8e8","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1100,"y":3244,"z":"49f11553.28c29c","wires":[]},{"id":"bb43975e.4e1618","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1482,"y":3451,"z":"49f11553.28c29c","wires":[]},{"id":"b3df94aa.38dd88","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1089,"y":3858,"z":"49f11553.28c29c","wires":[]},{"id":"32eb5385.0caa4c","type":"switchNode","name":"switch status","xml":"<switch test=\"`$tmp.mac-address-resp.prefix.status == 'deleted successfully'`\">","comments":"","outputs":1,"x":1104,"y":3990,"z":"49f11553.28c29c","wires":[["c57baf20.c1ffd","533327bb.094ae8"]]},{"id":"533327bb.094ae8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1292,"y":4034,"z":"49f11553.28c29c","wires":[["d2de149f.a9ef08"]]},{"id":"c57baf20.c1ffd","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1290,"y":3990,"z":"49f11553.28c29c","wires":[["7f0fc0f0.fd344"]]},{"id":"c64ba45b.712a88","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=\"self-serve-mS-mac-address-assign: Address Micro Service unassign did not return: deleted successfully\"/>\n","comments":"","outputs":1,"x":1553,"y":3907,"z":"49f11553.28c29c","wires":[[]]},{"id":"452a2683.28b6c8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='502' />\n<parameter name='error-message' value='self-serve-mS-mac-address-assign: Address Micro Service unassign did not return: deleted successfully' />\n","comments":"","x":1571,"y":3990,"z":"49f11553.28c29c","wires":[]},{"id":"83050dff.db737","type":"set","name":"set status to FAILED","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />","comments":"","x":1594,"y":3948,"z":"49f11553.28c29c","wires":[]},{"id":"d2de149f.a9ef08","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1409,"y":4034,"z":"49f11553.28c29c","wires":[["a75ab013.74fb6"]]},{"id":"7f0fc0f0.fd344","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1409,"y":3990,"z":"49f11553.28c29c","wires":[["c64ba45b.712a88","83050dff.db737","452a2683.28b6c8"]]},{"id":"a75ab013.74fb6","type":"for","name":"for each vf-module-parameters","xml":"<for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >\n","comments":"","outputs":1,"x":1626,"y":4034,"z":"49f11553.28c29c","wires":[["3635e0e6.833f8"]]},{"id":"4fd6d670.f4dc08","type":"comment","name":"If capability-name matches, add resource data to miroservice request element","info":"","comments":"","x":585,"y":1039,"z":"49f11553.28c29c","wires":[]},{"id":"d771e1cd.ffe8b","type":"set","name":"set cloudParamName ","xml":"<set>\n<parameter name='tmp.cloudParamName' value='`$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[$vf-module-param-index].name`' />","comments":"","x":798,"y":1389,"z":"49f11553.28c29c","wires":[]},{"id":"292c2783.39cc08","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=\"self-serve-mS-mac-address-assign: resolved cloudParamName: | resourceValue: \"/>\n<parameter name=\"field3\" value='`$tmp.cloudParamName`'/>\n<parameter name=\"field4\" value='`$tmp.resourceValue`'/>","comments":"","outputs":1,"x":750,"y":1432,"z":"49f11553.28c29c","wires":[[]]},{"id":"f76a923e.1777d","type":"set","name":"initialize microService request elements length","xml":"<set>\n<parameter name='ma.elements.element_length' value='0' />","comments":"","x":422,"y":853,"z":"49f11553.28c29c","wires":[]},{"id":"321881ae.e1707e","type":"comment","name":"If resource-value is NOT already resolved, add this vf-module-parameters.param to the microService assign request","info":"","comments":"","x":1094,"y":2820,"z":"49f11553.28c29c","wires":[]},{"id":"fb516b25.0acb58","type":"comment","name":"Check for $ in vf-module-parameters.param[].value","info":"","comments":"","x":817,"y":1239,"z":"49f11553.28c29c","wires":[]},{"id":"8e89e7e1.f69898","type":"execute","name":"slistringUtils - check param.value for $","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$vf-module-param-index].value`\" />\n <parameter name=\"target\" value=\"$\"/>","comments":"","outputs":1,"x":852,"y":1332,"z":"49f11553.28c29c","wires":[["f7ddc41d.042728"]]},{"id":"f7ddc41d.042728","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1084,"y":1332,"z":"49f11553.28c29c","wires":[["f25744a9.dc9668"]]},{"id":"dea1481d.7ad108","type":"set","name":"set resourceValue to param.value","xml":"<set>\n<parameter name='tmp.resourceValue' value='`$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[$vf-module-param-index].value`' />","comments":"","x":1428,"y":1332,"z":"49f11553.28c29c","wires":[]},{"id":"f25744a9.dc9668","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1212,"y":1332,"z":"49f11553.28c29c","wires":[["dea1481d.7ad108"]]},{"id":"1fd668f7.cdc337","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1128,"y":3571,"z":"49f11553.28c29c","wires":[["69646180.d517c"]]},{"id":"69646180.d517c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1244,"y":3650,"z":"49f11553.28c29c","wires":[["f65630a2.13cba","4cc2a6a2.1745e8"]]},{"id":"f65630a2.13cba","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=\"self-serve-mS-mac-address-assign: mac-address-list MATCH with param.value: \"/>\n<parameter name=\"field3\" value=\"`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].name`\"/>","comments":"","outputs":1,"x":1396,"y":3650,"z":"49f11553.28c29c","wires":[[]]},{"id":"e795d2b2.de9ea","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":720,"y":1281,"z":"49f11553.28c29c","wires":[["8e89e7e1.f69898","d771e1cd.ffe8b","b833668a.32a2e8","d04355c3.417358"]]},{"id":"aabbd0a7.8406b","type":"comment","name":"Unassign request will never execute this logic because capbility-name will be INPUT","info":"","comments":"","x":995,"y":2776,"z":"49f11553.28c29c","wires":[]},{"id":"ba23f780.7e0bf8","type":"comment","name":"Additional check for if resourceValue already resolved set capability-name to INPUT","info":"","comments":"","x":1481,"y":3532,"z":"49f11553.28c29c","wires":[]},{"id":"298e3073.ab37a","type":"comment","name":"If param.value does have $ (not already resolved) set param.value mS output","info":"","comments":"","x":1461,"y":3572,"z":"49f11553.28c29c","wires":[]},{"id":"f20a56f9.f4d278","type":"comment","name":"If param.value does NOT have $ (already resolved) don't set param.value but set capanility-name to INPUT","info":"","comments":"","x":1556,"y":3612,"z":"49f11553.28c29c","wires":[]},{"id":"1ae02e9e.613b31","type":"set","name":"set mac-address-unassign test 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.vf-module-parameters.param_length' value='4' />\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[0].name' value='vmxvpfe_sriov41_0_port_mac' />\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[0].value' value='${vmxvpfe_sriov41_0_port_mac}' />\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[0].resource-resolution-data.status' value='PENDING' />\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[0].resource-resolution-data.capability-name' value='mS-mac-address-assign' />\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[0].resource-resolution-data.resource-key_length' value='3' />\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[0].resource-resolution-data.resource-key[0].name' value='key' />\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[0].resource-resolution-data.resource-key[0].value' value='host-laina1' />\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[0].resource-resolution-data.resource-key[1].name' value='policy-instance-name' />\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[0].resource-resolution-data.resource-key[1].value' value='JQIN1810SRIOV.Config_MS_macAddressAssignmentPolicy.*' />\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[0].resource-resolution-data.resource-key[2].name' value='sw-name' />\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[0].resource-resolution-data.resource-key[2].value' value='JUNOS' />\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[1].name' value='vmxvpfe_sriov42_0_port_mac' />\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[1].value' value='somevalue-already-assigned' />\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[1].resource-resolution-data.status' value='PENDING' />\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[1].resource-resolution-data.capability-name' value='INPUT' />\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[1].resource-resolution-data.resource-key_length' value='3' />\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[1].resource-resolution-data.resource-key[0].name' value='key' />\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[1].resource-resolution-data.resource-key[0].value' value='host-laina1' />\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[1].resource-resolution-data.resource-key[1].name' value='policy-instance-name' />\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[1].resource-resolution-data.resource-key[1].value' value='JQIN1810SRIOV.Config_MS_macAddressAssignmentPolicy.*' />\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[1].resource-resolution-data.resource-key[2].name' value='sw-name' />\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[1].resource-resolution-data.resource-key[2].value' value='JUNOS' />\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[2].name' value='vmxvpfe_sriov43_0_port_mac' />\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[2].value' value='${vmxvpfe_sriov43_0_port_mac}' />\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[2].resource-resolution-data.status' value='PENDING' />\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[2].resource-resolution-data.capability-name' value='mS-mac-address-assign' />\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[2].resource-resolution-data.resource-key_length' value='3' />\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[2].resource-resolution-data.resource-key[0].name' value='key' />\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[2].resource-resolution-data.resource-key[0].value' value='host-laina1' />\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[2].resource-resolution-data.resource-key[1].name' value='policy-instance-name' />\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[2].resource-resolution-data.resource-key[1].value' value='JQIN1810SRIOV.Config_MS_macAddressAssignmentPolicy.*' />\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[2].resource-resolution-data.resource-key[2].name' value='sw-name' />\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[2].resource-resolution-data.resource-key[2].value' value='JUNOS' />\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[3].name' value='vmxvpfe_sriov44_0_port_mac' />\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[3].value' value='${vmxvpfe_sriov44_0_port_mac}' />\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[3].resource-resolution-data.status' value='PENDING' />\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[3].resource-resolution-data.capability-name' value='mS-mac-address-assign' />\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[3].resource-resolution-data.resource-key_length' value='3' />\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[3].resource-resolution-data.resource-key[0].name' value='key' />\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[3].resource-resolution-data.resource-key[0].value' value='host-laina1' />\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[3].resource-resolution-data.resource-key[1].name' value='policy-instance-name' />\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[3].resource-resolution-data.resource-key[1].value' value='JQIN1810SRIOV.Config_MS_macAddressAssignmentPolicy.*' />\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[3].resource-resolution-data.resource-key[2].name' value='sw-name' />\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[3].resource-resolution-data.resource-key[2].value' value='JUNOS' />","comments":"","x":1122,"y":574,"z":"49f11553.28c29c","wires":[]},{"id":"31e3420e.c637ee","type":"comment","name":"Set temporary test ASSIGN data * TEST-ONLY *","info":"","comments":"","x":1441,"y":534,"z":"49f11553.28c29c","wires":[]},{"id":"69c27aa5.4c6a54","type":"comment","name":"Set temporary test UNASSIGN data * TEST-ONLY *","info":"","comments":"","x":1455,"y":572,"z":"49f11553.28c29c","wires":[]},{"id":"98494924.3c42c8","type":"set","name":"set ma.elements.element to this vf-module-parameters.param","xml":"<set>\n<parameter name='ma.elements.element[$ma.elements.element_length].policy-instance-name' value='`$tmp.policyInstanceName`' />\n<parameter name='ma.elements.element[$ma.elements.element_length].vnf-host-name' value='`$tmp.vnfHostName`' />\n<parameter name='ma.elements.element[$ma.elements.element_length].cloud-param-name' value='`$tmp.cloudParamName`' />\n<parameter name='ma.elements.element[$ma.elements.element_length].sw-name' value='`$tmp.swName`' />","comments":"","x":933,"y":2870,"z":"49f11553.28c29c","wires":[]},{"id":"dcd2ceec.8e369","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=\"self-serve-mS-mac-address-assign: Adding this vf-module-parameters.param to ma.elements \"/>\n<parameter name=\"field3\" value='`$ma.elements.element_length`'/>\n<parameter name=\"field4\" value='`$ma.elements.element[$ma.elements.element_length].policy-instance-name`'/>\n<parameter name=\"field5\" value='`$ma.elements.element[$ma.elements.element_length].vnf-host-name`'/>\n<parameter name=\"field6\" value='`$ma.elements.element[$ma.elements.element_length].cloud-param-name`'/>\n<parameter name=\"field7\" value='`$ma.elements.element[$ma.elements.element_length].sw-name`'/>\n<parameter name=\"field8\" value='`$ma.elements.element[$ma.elements.element_length].resource-value`'/>","comments":"","outputs":1,"x":762,"y":2991,"z":"49f11553.28c29c","wires":[[]]},{"id":"7c75bd8a.d2b754","type":"set","name":"increment ma.elements.element_length","xml":"<set>\n<parameter name='ma.elements.element_length' value='`$ma.elements.element_length + 1`' />","comments":"","x":863,"y":3036,"z":"49f11553.28c29c","wires":[]},{"id":"b1f621f4.2d574","type":"switchNode","name":"check if resourceValue is set","xml":"<switch test=\"`$tmp.resourceValue`\">\n","comments":"","outputs":1,"x":833,"y":2918,"z":"49f11553.28c29c","wires":[["f25a8484.98ce68","8213e478.c84b68","42938aae.ae5904"]]},{"id":"f25a8484.98ce68","type":"outcome","name":"null","xml":"<outcome value='null'>\n","comments":"","outputs":1,"x":1019,"y":2951,"z":"49f11553.28c29c","wires":[[]]},{"id":"8213e478.c84b68","type":"other","name":"blank","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1019,"y":2992,"z":"49f11553.28c29c","wires":[[]]},{"id":"42938aae.ae5904","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1018,"y":2911,"z":"49f11553.28c29c","wires":[["2d01ba1c.f838c6"]]},{"id":"2d01ba1c.f838c6","type":"set","name":"set ma.elements.element.resource-value to this vf-module-parameters.param","xml":"<set>\n<parameter name='ma.elements.element[$ma.elements.element_length].resource-value' value='`$tmp.resourceValue`' />","comments":"","x":1375,"y":2911,"z":"49f11553.28c29c","wires":[]},{"id":"4cc2a6a2.1745e8","type":"execute","name":"slistringUtils - check param.value for $","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$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[$vf-module-param-index].value`\" />\n <parameter name=\"target\" value=\"$\"/>","comments":"","outputs":1,"x":1343,"y":3695,"z":"49f11553.28c29c","wires":[["9d5a40fc.aed04","9f1e7092.0ada8"]]},{"id":"9d5a40fc.aed04","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1575,"y":3695,"z":"49f11553.28c29c","wires":[["82426b14.9463e8"]]},{"id":"8ec62283.b9675","type":"set","name":"set param[].resource-resolution-data.capability-name to INPUT","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.vf-module-parameters.param[$vf-module-param-index].resource-resolution-data.capability-name' value='INPUT' />","comments":"","x":2005,"y":3695,"z":"49f11553.28c29c","wires":[]},{"id":"82426b14.9463e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1703,"y":3695,"z":"49f11553.28c29c","wires":[["8ec62283.b9675"]]},{"id":"9f1e7092.0ada8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1577,"y":3735,"z":"49f11553.28c29c","wires":[["4a3bf9a3.c32a58"]]},{"id":"4a3bf9a3.c32a58","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1704,"y":3735,"z":"49f11553.28c29c","wires":[["d7bf35d6.132f58"]]},{"id":"d637c667.949db8","type":"switchNode","name":"switch ss.capability-action (assign| unassign)","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":575,"y":562,"z":"49f11553.28c29c","wires":[["cb233a84.84f258","5caf02ea.cb608c"]]},{"id":"cb233a84.84f258","type":"outcome","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":856,"y":533,"z":"49f11553.28c29c","wires":[["d7a94ac5.4ee0d8"]]},{"id":"5caf02ea.cb608c","type":"outcome","name":"unassign","xml":"<outcome value='unassign'>","comments":"","outputs":1,"x":862,"y":573,"z":"49f11553.28c29c","wires":[["1ae02e9e.613b31"]]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.json
new file mode 100644
index 00000000..01807af8
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.json
@@ -0,0 +1 @@
+[{"id":"aabae161.84a8e","type":"dgstart","name":"DGSTART","outputs":1,"x":145,"y":48.33333206176758,"z":"3cca8f3d.41f19","wires":[["32c2d09d.405f4"]]},{"id":"151dec40.5eba64","type":"method","name":"method self-serve-mS-vlan-tag-assign","xml":"<method rpc='self-serve-mS-vlan-tag-assign' mode='sync'>\n","comments":"","outputs":1,"x":280.7857208251953,"y":105.46032047271729,"z":"3cca8f3d.41f19","wires":[["79fa9224.7eaebc"]]},{"id":"79fa9224.7eaebc","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":174.32144165039062,"y":191.7619390487671,"z":"3cca8f3d.41f19","wires":[["7b1b0b7c.9d9814","22e565ef.e1f81a","bbb55e6a.b9e6e"]]},{"id":"32c2d09d.405f4","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":417.8571472167969,"y":47.7618989944458,"z":"3cca8f3d.41f19","wires":[["151dec40.5eba64"]]},{"id":"7b1b0b7c.9d9814","type":"switchNode","name":"switch: ss.capability-name","xml":"<switch test='`$ss.capability-name`'>\n","comments":"","outputs":1,"x":408.75000762939453,"y":193.08333683013916,"z":"3cca8f3d.41f19","wires":[["faf4bc95.6a7be"]]},{"id":"faf4bc95.6a7be","type":"outcome","name":"NULL","xml":"<outcome value=''>","outputs":1,"x":633.7500305175781,"y":193.58333539962769,"z":"3cca8f3d.41f19","wires":[["da90a749.6a7ba8"]]},{"id":"da90a749.6a7ba8","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=\"ss.capability-name is null\" />\n","comments":"","x":793.6667022705078,"y":193.6944341659546,"z":"3cca8f3d.41f19","wires":[]},{"id":"22e565ef.e1f81a","type":"switchNode","name":"switch: ss.capability-action","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":410.00002670288086,"y":243.08333730697632,"z":"3cca8f3d.41f19","wires":[["b5b6ed5e.c8cbf","bfcc5f0.da3c7a","b9349903.725cc8"]]},{"id":"b5b6ed5e.c8cbf","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":633.5000228881836,"y":243.33333730697632,"z":"3cca8f3d.41f19","wires":[["cab6e06b.f69b7"]]},{"id":"cab6e06b.f69b7","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=\"ss.capability-action is null\" />\n","comments":"","x":793.4166946411133,"y":243.44443607330322,"z":"3cca8f3d.41f19","wires":[]},{"id":"bfcc5f0.da3c7a","type":"outcome","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":632.2500190734863,"y":298.3333406448364,"z":"3cca8f3d.41f19","wires":[["ba86f084.eca07"]]},{"id":"606fe3c0.ac6fac","type":"call","name":"call self-serve-capability-param-resolution","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >\n","comments":"","outputs":1,"x":1104.6666870117188,"y":298.5833444595337,"z":"3cca8f3d.41f19","wires":[["dd0ffcea.1cc94"]]},{"id":"dd0ffcea.1cc94","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1360.6666679382324,"y":298.5833406448364,"z":"3cca8f3d.41f19","wires":[["7134bba5.423dd4"]]},{"id":"7134bba5.423dd4","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=\"`'Not all assignments are resolved' + $error-message`\" />\n","comments":"","x":1519.416648864746,"y":298.58333683013916,"z":"3cca8f3d.41f19","wires":[]},{"id":"a907b119.1e325","type":"set","name":"set tmp.ss.param.capability-name","xml":"<set>\n<parameter name='tmp.ss.param.capability-name' \n\tvalue='`$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[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1364.420669555664,"y":402.93651008605957,"z":"3cca8f3d.41f19","wires":[]},{"id":"7398d485.cf2bec","type":"for","name":"for pidx in param_length","xml":"<for silentFailure='true' index=\"pidx\" start=\"0\" end=\"`$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_length`\">","comments":"","outputs":1,"x":1052.634895324707,"y":403.0079803466797,"z":"3cca8f3d.41f19","wires":[["61eb3b37.c7ab84","a907b119.1e325"]]},{"id":"61eb3b37.c7ab84","type":"switchNode","name":"switch: capability-name - ss vs param","xml":"<switch test='`$tmp.ss.param.capability-name == $ss.capability-name`'>\n","comments":"","outputs":1,"x":1377.3491973876953,"y":449.3651523590088,"z":"3cca8f3d.41f19","wires":[["4bf9facc.70eae4"]]},{"id":"4bf9facc.70eae4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1618.9563598632812,"y":448.68658351898193,"z":"3cca8f3d.41f19","wires":[["da66bad8.94a7e8"]]},{"id":"43644a4b.6cb834","type":"switchNode","name":"switch: resource-key[].name","xml":"<switch test='`$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[$pidx].resource-resolution-data.resource-key[$kidx].name`'>\n","comments":"","outputs":1,"x":1729.639102935791,"y":659.8850131034851,"z":"3cca8f3d.41f19","wires":[["346ea27e.f40cfe","f7d608d.00106f8","9ba5ac0d.d405e","abe9c250.69bc3","a623b20c.279dd","9778b233.58cee"]]},{"id":"346ea27e.f40cfe","type":"outcome","name":"resource-name","xml":"<outcome value='resource-name'>\n","comments":"","outputs":1,"x":1997.9447441101074,"y":699.6350016593933,"z":"3cca8f3d.41f19","wires":[["dd60be1a.49e63"]]},{"id":"dd60be1a.49e63","type":"set","name":"set vt.request[].resource-name","xml":"<set>\n<parameter name='vt.request[$qidx].resource-name' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2313.4446983337402,"y":699.384997844696,"z":"3cca8f3d.41f19","wires":[]},{"id":"9ba5ac0d.d405e","type":"outcome","name":"resource-value","xml":"<outcome value='resource-value'>\n","comments":"","outputs":1,"x":2000.028018951416,"y":865.3572721481323,"z":"3cca8f3d.41f19","wires":[["3c82d4f6.ddc8dc"]]},{"id":"e8bd8caa.325cc","type":"set","name":"set vt.request[].resource-value","xml":"<set>\n<parameter name='vt.request[$qidx].resource-value' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2702.0280265808105,"y":864.1072702407837,"z":"3cca8f3d.41f19","wires":[]},{"id":"f7d608d.00106f8","type":"outcome","name":"vlan-tag-key","xml":"<outcome value='vlan-tag-key'>\n","comments":"","outputs":1,"x":1989.5400428771973,"y":782.746075630188,"z":"3cca8f3d.41f19","wires":[["8e713c3.5b04dc"]]},{"id":"8e713c3.5b04dc","type":"set","name":"set vt.request[].vlan-tag-key","xml":"<set>\n<parameter name='vt.request[$qidx].vlan-tag-key' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2308.5400428771973,"y":781.496075630188,"z":"3cca8f3d.41f19","wires":[]},{"id":"ba86f084.eca07","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":805.0000305175781,"y":298.58334159851074,"z":"3cca8f3d.41f19","wires":[["7398d485.cf2bec","8d9e4f4c.f1df7","606fe3c0.ac6fac","7e60fec1.f1cce","c69a5e55.34d79"]]},{"id":"85c75f29.a5a0d","type":"for","name":"for kidx in resource-key_length","xml":"<for silentFailure='true' index=\"kidx\" start=\"0\" end=\"`$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[$pidx].resource-resolution-data.resource-key_length`\">","comments":"","outputs":1,"x":1450.5001792907715,"y":659.746123790741,"z":"3cca8f3d.41f19","wires":[["43644a4b.6cb834"]]},{"id":"bbb55e6a.b9e6e","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss.ms-vlan-tag.log' />\n","comments":"","outputs":1,"x":366.25000762939453,"y":408.3333387374878,"z":"3cca8f3d.41f19","wires":[[]]},{"id":"9778b233.58cee","type":"outcome","name":"policy-instance-name","xml":"<outcome value='policy-instance-name'>\n","comments":"","outputs":1,"x":2016.8333625793457,"y":659.384925365448,"z":"3cca8f3d.41f19","wires":[["6d38aa59.86bf14"]]},{"id":"6d38aa59.86bf14","type":"set","name":"set vt.request[].policy-instance-name","xml":"<set>\n<parameter name='vt.request[$qidx].policy-instance-name' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2331.1943168640137,"y":659.4960370063782,"z":"3cca8f3d.41f19","wires":[]},{"id":"abe9c250.69bc3","type":"outcome","name":"scope-id","xml":"<outcome value='scope-id'>\n","comments":"","outputs":1,"x":1978.817569732666,"y":740.3571481704712,"z":"3cca8f3d.41f19","wires":[["e345f179.2c6f2"]]},{"id":"e345f179.2c6f2","type":"set","name":"set vt.request[].scope-id","xml":"<set>\n<parameter name='vt.request[$qidx].scope-id' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2297.0675086975098,"y":740.3571157455444,"z":"3cca8f3d.41f19","wires":[]},{"id":"da66bad8.94a7e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1211.3808059692383,"y":612.285758972168,"z":"3cca8f3d.41f19","wires":[["85c75f29.a5a0d","ea9e33c.6c578d","a0326ee.541d89","59a76995.60e778","b0e6bf2c.9e877"]]},{"id":"8d9e4f4c.f1df7","type":"set","name":"set qidx = 0, ss.vt. = null","xml":"<set>\n<parameter name='qidx' value='0' />\n<parameter name='ss.vt.' value='' />\n","comments":"","x":1053.2857284545898,"y":352.190465927124,"z":"3cca8f3d.41f19","wires":[]},{"id":"ea9e33c.6c578d","type":"set","name":"qidx++","xml":"<set>\n<parameter name='qidx' value='`$qidx + 1`' />\n","comments":"","x":1373.9880905151367,"y":880.8929171562195,"z":"3cca8f3d.41f19","wires":[]},{"id":"a0326ee.541d89","type":"set","name":"set vt.request_length = qidx","xml":"<set>\n<parameter name='vt.request_length' value='`$qidx`' />\n","comments":"","x":1438.988021850586,"y":927.8929634690285,"z":"3cca8f3d.41f19","wires":[]},{"id":"f4fc65ee.932678","type":"set","name":"set Test Inputs","xml":"<set>\n<parameter name='vnf-index' value='0' />\n<parameter name='vf-module-index' value='0' />\n<parameter name='ss.capability-name' value='mS-vlan-tag-assign' />\n<parameter name='ss.capability-action' value='assign' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vnf-topology.sdnc-generated-cloud-resources' value='true' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-topology.sdnc-generated-cloud-resources' value = 'true' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param_length' value = '11' />\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.param[0].name' value = 'vmxvpfe_name_0' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[0].value' value = 'bogus-vnfc-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].name' value = 'vnfc-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[1].value' value = '${vmxvpfe_name_0}' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[2].name' value = 'vm_name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[2].value' value = 'bogus-vnfc-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[3].name' value = 'vm-type' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[3].value' value = 'oam' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[4].name' value = 'nfc-function' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[4].value' value = 'data' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[5].name' value = 'nfc-naming-code' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[5].value' value = 'dummy-naming-code' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[6].name' value = 'vnfc-model-customization-uuid' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[6].value' value = 'bbbb-99999' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[7].name' value = 'vnfc-model-invariant-uuid' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[7].value' value = 'aaaaa-10000' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[8].name' value = 'vnfc-model-version' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[8].value' value = 'model1' />\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.param[9].name' value = 'vlan-tag-1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].value' value = '${vlan-tag-1v}' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[0].name' value = 'policy-instance-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[0].value' value = 'JQIN1810SRIOV.Config_MS_SRIOV_VlanTag_1810_ADIOD_VPE.*' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[1].name' value = 'resource-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[1].value' value = 'vlan-tag-1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[2].name' value = 'resource-value' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[2].value' value = '' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[3].name' value = 'scope-id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[3].value' value = 'MTCLL2238F' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[4].name' value = 'vlan-tag-key' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[4].value' value = 'dvncom4003' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[5].name' value = 'vlan-type' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[5].value' value = 'vlan-id-outer' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[6].name' value = 'vnfc-network-role' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key[6].value' value = 'network-role-1' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.resource-key_length' value = '7' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.status' value = 'PENDING' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[9].resource-resolution-data.capability-name' value = 'mS-vlan-tag-assign' />\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.param[10].name' value = 'vlan-tag-2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].value' value = '[3503, 4001, 4002]' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[0].name' value = 'policy-instance-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[0].value' value = 'JQIN1810SRIOV.Config_MS_SRIOV_VlanTag_1810_ADIOD_VPE.*' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[1].name' value = 'resource-name' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[1].value' value = 'vlan-tag-2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[2].name' value = 'resource-value' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[2].value' value = '[3503, 4001, 4002]' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[3].name' value = 'scope-id' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[3].value' value = 'MTCLL2238F' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[4].name' value = 'vlan-tag-key' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[4].value' value = 'dvncom4003' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[5].name' value = 'vlan-type' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[5].value' value = 'vlan-id-filter' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[6].name' value = 'vnfc-network-role' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key[6].value' value = 'network-role-2' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.resource-key_length' value = '7' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.status' value = 'PENDING' />\n<parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.param[10].resource-resolution-data.capability-name' value = 'mS-vlan-tag-assign' />","comments":"","x":874.7619247436523,"y":57.38095474243164,"z":"3cca8f3d.41f19","wires":[]},{"id":"11c20fb6.dc4ff","type":"execute","name":"execute PropertiesNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":905.1429138183594,"y":97.14286613464355,"z":"3cca8f3d.41f19","wires":[[]]},{"id":"b0e6bf2c.9e877","type":"set","name":"set ss.vt.param[].index","xml":"<set>\n<parameter name='ss.vt.param[$qidx].index' value='`$pidx`' />\n","comments":"","x":1424.2380599975586,"y":612.5714797973633,"z":"3cca8f3d.41f19","wires":[]},{"id":"59a76995.60e778","type":"set","name":"set ss.vt.param_length = qidx","xml":"<set>\n<parameter name='ss.vt.param_length' value='`$qidx`' />\n","comments":"","x":1443.7022857666016,"y":975.1786098480225,"z":"3cca8f3d.41f19","wires":[]},{"id":"381ea15d.7347ee","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"Failed to get vlan-tag assisgnment from mS\" />\n","comments":"","x":1696.5115661621094,"y":1157.0356283187866,"z":"3cca8f3d.41f19","wires":[]},{"id":"7e60fec1.f1cce","type":"execute","name":"execute RestApiCallNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.mS.vlan.tag.assign.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.vt.mS.url + $tmp.ss-vlan-tag-url`' />\n <parameter name='restapiUser' value='`$prop.vt.mS.user`' />\n <parameter name='restapiPassword' value='`$prop.vt.mS.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name=\"responsePrefix\" value=\"vtResp\" />","comments":"","outputs":1,"x":1069.7499237060547,"y":1151.4212789535522,"z":"3cca8f3d.41f19","wires":[["65633dba.ea8bd4","724e2a.384911d8","eb7ff11.88fdd1"]]},{"id":"65633dba.ea8bd4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1302.772060394287,"y":1151.9908952713013,"z":"3cca8f3d.41f19","wires":[["984d604.28266a"]]},{"id":"724e2a.384911d8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1293.7721481323242,"y":1064.7766456604004,"z":"3cca8f3d.41f19","wires":[["984d604.28266a"]]},{"id":"eb7ff11.88fdd1","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1298.950798034668,"y":1252.5622129440308,"z":"3cca8f3d.41f19","wires":[["900674b6.f68a78"]]},{"id":"984d604.28266a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1493.4759216308594,"y":1064.420844078064,"z":"3cca8f3d.41f19","wires":[["381ea15d.7347ee","9f711f39.cff08"]]},{"id":"ce532e9e.7c3fa","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$vt-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":2086.3334732055664,"y":1108.3213939666748,"z":"3cca8f3d.41f19","wires":[]},{"id":"9f711f39.cff08","type":"for","name":"for i in ss.vt.param_length","xml":"<for index=\"i\" start=\"0\" end=\"`$ss.vt.param_length`\">","comments":"","outputs":1,"x":1748.4048233032227,"y":1064.0715913772583,"z":"3cca8f3d.41f19","wires":[["ce532e9e.7c3fa","54219a27.2042a4"]]},{"id":"cf0ff9fa.558898","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1881.4286270141602,"y":1253.3334379196167,"z":"3cca8f3d.41f19","wires":[["1939556b.3f92cb","ce532e9e.7c3fa"]]},{"id":"900674b6.f68a78","type":"switchNode","name":"switch: vtResp.error-code","xml":"<switch test='`$vtResp.error-code`'>\n","comments":"","outputs":1,"x":1508.630874633789,"y":1252.726092338562,"z":"3cca8f3d.41f19","wires":[["e7672b67.291f68","d2b7f4ef.c24168"]]},{"id":"e7672b67.291f68","type":"outcomeTrue","name":"500","xml":"<outcome value='500'>\n","comments":"","outputs":1,"x":1720.8808708190918,"y":1252.476092338562,"z":"3cca8f3d.41f19","wires":[["cf0ff9fa.558898"]]},{"id":"d2b7f4ef.c24168","type":"outcomeTrue","name":"200","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":1722.380874633789,"y":1295.226092338562,"z":"3cca8f3d.41f19","wires":[["1d87da33.c632d6"]]},{"id":"1939556b.3f92cb","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500'/>\n<parameter name='error-message' value=\"`'Encountered error from mS-vlan-tag-assign with error-code = ' + $vtResp.error-code + ' and error-message = ' + $vtResp.error-message`\" />\n","comments":"","x":2067.7975540161133,"y":1252.8927879333496,"z":"3cca8f3d.41f19","wires":[]},{"id":"54219a27.2042a4","type":"set","name":"set vt-index","xml":"<set>\n<parameter name='vt-index' value='`$ss.vt.param[$i].index`' />\n","comments":"","x":1981.7975845336914,"y":1063.1428031921387,"z":"3cca8f3d.41f19","wires":[]},{"id":"c4ea190b.27e1a8","type":"for","name":"for vtidx in ss.vt.param_length","xml":"<for silentFailure='true' index=\"vtidx\" start=\"0\" end=\"`$ss.vt.param_length`\">","comments":"","outputs":1,"x":1299.2620162963867,"y":2024.0597066879272,"z":"3cca8f3d.41f19","wires":[["da35a908.13a648","3c31f169.b0bc4e"]]},{"id":"eb808af3.f6a468","type":"call","name":"call generate-cp-instance-id","xml":"<call module=\"GENERIC-RESOURCE-API\" rpc=\"generate-cp-instance-id\" mode=\"sync\" >\n","comments":"","outputs":1,"x":2875.0122871398926,"y":2477.773941040039,"z":"3cca8f3d.41f19","wires":[["efccf561.d93728"]]},{"id":"efccf561.d93728","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3083.583680834089,"y":2477.916902814593,"z":"3cca8f3d.41f19","wires":[["283a2627.efa83a"]]},{"id":"283a2627.efa83a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='error-code' value='500'/>\n\t<parameter name='error-message' value=\"`'Error in generating cp-instance-id in SDNC; ' + $error-message.generate-cp-instance-id`\" />\n","comments":"","x":3242.762315750122,"y":2477.000503540039,"z":"3cca8f3d.41f19","wires":[]},{"id":"5f966206.c08fdc","type":"execute","name":"param[$vt-index].value contains $","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name='source' value='`$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[$vt-index].value`' />\n <parameter name='target' value='$' />\n","comments":"","outputs":1,"x":1278.0833740234375,"y":2266.4886627197266,"z":"3cca8f3d.41f19","wires":[["75733513.f2579c","2d274bfa.9b8564"]]},{"id":"4cfe7bdb.dbd4d4","type":"set","name":"set capability-name = INPUT","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.vf-module-parameters.param[$vt-index].resource-resolution-data.capability-name' \n\tvalue='INPUT' />\n","comments":"","x":1942.9887237548828,"y":2609.4884395599365,"z":"3cca8f3d.41f19","wires":[]},{"id":"75733513.f2579c","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1525.131446838379,"y":2608.6313705444336,"z":"3cca8f3d.41f19","wires":[["878265b8.156d88"]]},{"id":"2d274bfa.9b8564","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1531.7976608276367,"y":2265.7743244171143,"z":"3cca8f3d.41f19","wires":[["9a1642da.dbde8"]]},{"id":"f8cbd677.de19f8","type":"set","name":"set param[].value","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.vf-module-parameters.param[$vt-index].value' \n\tvalue='`$vtResp.output[$oidx].resource-value`' />\n","comments":"","x":2122.154571533203,"y":2268.131181716919,"z":"3cca8f3d.41f19","wires":[]},{"id":"5cb2291e.c80628","type":"for","name":"for oidx in vtResp.output_length","xml":"<for silentFailure='true' index=\"oidx\" start=\"0\" end=\"`$vtResp.output_length`\">","comments":"","outputs":1,"x":1009.7975444793701,"y":2024.2738239765167,"z":"3cca8f3d.41f19","wires":[["c4ea190b.27e1a8"]]},{"id":"da35a908.13a648","type":"switchNode","name":"switch: resource-name = param[].name","xml":"<switch test='`$vtResp.output[$oidx].resource-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[$vt-index].name`'>\n","comments":"","outputs":1,"x":1613.7975463867188,"y":2076.773820877075,"z":"3cca8f3d.41f19","wires":[["2f53bf99.faddf"]]},{"id":"2f53bf99.faddf","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1860.5475463867188,"y":2076.773820877075,"z":"3cca8f3d.41f19","wires":[["5f966206.c08fdc"]]},{"id":"3c31f169.b0bc4e","type":"set","name":"set vt-index","xml":"<set>\n<parameter name='vt-index' value='`$ss.vt.param[$vtidx].index`' />\n","comments":"","x":1530.0475463867188,"y":2024.2738208770752,"z":"3cca8f3d.41f19","wires":[]},{"id":"9a1642da.dbde8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1901.9045333862305,"y":2268.131155014038,"z":"3cca8f3d.41f19","wires":[["f8cbd677.de19f8","2ea9694c.8c1736","dba4fe6b.4dfba"]]},{"id":"6e652163.87f5f","type":"for","name":"for sidx in stored-elements_length","xml":"<for silentFailure='true' index=\"sidx\" start=\"0\" end=\"`$vtResp.output[$oidx].stored-elements_length`\">","comments":"","outputs":1,"x":2894.440628051758,"y":2528.773941040039,"z":"3cca8f3d.41f19","wires":[["96ca685.1a0ce98"]]},{"id":"f11d85d3.a71a68","type":"set","name":"set vnfc-network-data[$idx].vnfc-network-role","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.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].vnfc-network-role' \n\tvalue='`$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[$vt-index].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2926.440757751465,"y":2432.7739400863647,"z":"3cca8f3d.41f19","wires":[]},{"id":"c7485f84.06a53","type":"switchNode","name":"switch: resource-key[].name","xml":"<switch test='`$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[$vt-index].resource-resolution-data.resource-key[$kidx].name`'>\n","comments":"","outputs":1,"x":2447.226249694824,"y":2362.9880876541138,"z":"3cca8f3d.41f19","wires":[["717fac4d.9e7d24"]]},{"id":"2ea9694c.8c1736","type":"for","name":"for kidx in resource-key_length","xml":"<for silentFailure='true' index=\"kidx\" start=\"0\" end=\"`$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[$vt-index].resource-resolution-data.resource-key_length`\">","comments":"","outputs":1,"x":2168.0873260498047,"y":2362.8491983413696,"z":"3cca8f3d.41f19","wires":[["c7485f84.06a53"]]},{"id":"717fac4d.9e7d24","type":"outcome","name":"vnfc-network-role","xml":"<outcome value='vnfc-network-role'>\n","comments":"","outputs":1,"x":2694.420509338379,"y":2362.4879999160767,"z":"3cca8f3d.41f19","wires":[["d39a866.b9bf078"]]},{"id":"96ca685.1a0ce98","type":"set","name":"set vlan-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.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.connection-point-id' \n\tvalue='`$tmp.return.generate-cp-instance-id.id`' />\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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-uuid' \n\tvalue='`$vtResp.output[$oidx].stored-elements[$sidx].vlan-uuid`' />\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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-tag-id' \n\tvalue='`$vtResp.output[$oidx].stored-elements[$sidx].vlantag-value`' />\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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-tag-description' \n\tvalue='`$vtResp.output[$oidx].stored-elements[$sidx].vlantag-name`' />\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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-role' \n\tvalue='`$vtResp.output[$oidx].stored-elements[$sidx].element-vlan-role`' />\n","comments":"","x":3153.1907234191895,"y":2528.7741556167603,"z":"3cca8f3d.41f19","wires":[]},{"id":"a623b20c.279dd","type":"outcome","name":"vlan-type","xml":"<outcome value='vlan-type'>\n","comments":"","outputs":1,"x":1982.952368736267,"y":823.3571267127991,"z":"3cca8f3d.41f19","wires":[["74b3c0ca.c5b9b"]]},{"id":"74b3c0ca.c5b9b","type":"set","name":"set vt.request[].vlan-type","xml":"<set>\n<parameter name='vt.request[$qidx].vlan-type' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2300.952368736267,"y":823.1071267127991,"z":"3cca8f3d.41f19","wires":[]},{"id":"3c82d4f6.ddc8dc","type":"execute","name":"resource-key[$sidx].value contains $","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name='source' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n <parameter name='target' value='$' />\n","comments":"","outputs":1,"x":2259.702335357666,"y":864.8571519851685,"z":"3cca8f3d.41f19","wires":[["cf45dc17.c98b5","5b6b80b5.8c302"]]},{"id":"cf45dc17.c98b5","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2495.0595474243164,"y":864.1428117752075,"z":"3cca8f3d.41f19","wires":[["e8bd8caa.325cc"]]},{"id":"5b6b80b5.8c302","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2495.952304840088,"y":905.8571367263794,"z":"3cca8f3d.41f19","wires":[["5c83c7df.a8de88"]]},{"id":"5c83c7df.a8de88","type":"set","name":"set vt.request[].resource-value = NULL","xml":"<set>\n<parameter name='vt.request[$qidx].resource-value' value='' />\n","comments":"","x":2730.452304840088,"y":906.1071367263794,"z":"3cca8f3d.41f19","wires":[]},{"id":"933ef04d.e5d8a","type":"comment","name":"Manually ASSIGNED","info":"","comments":"","x":2695.952304840088,"y":827.1071367263794,"z":"3cca8f3d.41f19","wires":[]},{"id":"b9349903.725cc8","type":"outcome","name":"unassign","xml":"<outcome value='unassign'>","comments":"","outputs":1,"x":645.2380714416504,"y":2713.9997758865356,"z":"3cca8f3d.41f19","wires":[["b209597b.41bed8"]]},{"id":"244b9202.7c946e","type":"set","name":"set tmp.ss.param.capability-name","xml":"<set>\n<parameter name='tmp.ss.param.capability-name' \n\tvalue='`$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[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1347.075340270996,"y":2765.9364380836487,"z":"3cca8f3d.41f19","wires":[]},{"id":"755aa361.5b330c","type":"for","name":"for pidx in param_length","xml":"<for silentFailure='true' index=\"pidx\" start=\"0\" end=\"`$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_length`\">","comments":"","outputs":1,"x":1057.289566040039,"y":2766.007908344269,"z":"3cca8f3d.41f19","wires":[["f78c50c4.de9e6","244b9202.7c946e"]]},{"id":"f78c50c4.de9e6","type":"switchNode","name":"switch: capability-name - ss vs param","xml":"<switch test='`$tmp.ss.param.capability-name == $ss.capability-name`'>\n","comments":"","outputs":1,"x":1359.039566040039,"y":2809.507912158966,"z":"3cca8f3d.41f19","wires":[["7896a9fa.d06348"]]},{"id":"7896a9fa.d06348","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1600.646728515625,"y":2808.829343318939,"z":"3cca8f3d.41f19","wires":[["73d467dd.17ca58"]]},{"id":"b209597b.41bed8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":817.6547050476074,"y":2714.2499475479126,"z":"3cca8f3d.41f19","wires":[["755aa361.5b330c","115bf92f.2a52b7","b0c23727.1ab458","7d8a26af.c6a8e8"]]},{"id":"115bf92f.2a52b7","type":"set","name":"set qidx = 0, ss.vt. = null","xml":"<set>\n<parameter name='qidx' value='0' />\n<parameter name='ss.vt.' value='' />\n","comments":"","x":1057.9403991699219,"y":2715.190393924713,"z":"3cca8f3d.41f19","wires":[]},{"id":"956adbfc.43f988","type":"switchNode","name":"switch: resource-key[].name","xml":"<switch test='`$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[$pidx].resource-resolution-data.resource-key[$kidx].name`'>\n","comments":"","outputs":1,"x":1758.5713386535645,"y":2983.0000314712524,"z":"3cca8f3d.41f19","wires":[["16b8efd1.e1fe3","cc6ecf40.7d3f3","f77fd9c1.af42e8"]]},{"id":"16b8efd1.e1fe3","type":"outcome","name":"vlan-tag-key","xml":"<outcome value='vlan-tag-key'>\n","comments":"","outputs":1,"x":2019.4722061157227,"y":3063.861227989197,"z":"3cca8f3d.41f19","wires":[["58620ca6.2f98e4"]]},{"id":"58620ca6.2f98e4","type":"set","name":"set vt.request[].vlan-tag-key","xml":"<set>\n<parameter name='vt.request[$qidx].vlan-tag-key' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2311.4722061157227,"y":3063.611227989197,"z":"3cca8f3d.41f19","wires":[]},{"id":"6efc25dc.e4209c","type":"for","name":"for kidx in resource-key_length","xml":"<for silentFailure='true' index=\"kidx\" start=\"0\" end=\"`$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[$pidx].resource-resolution-data.resource-key_length`\">","comments":"","outputs":1,"x":1479.432415008545,"y":2982.8611421585083,"z":"3cca8f3d.41f19","wires":[["956adbfc.43f988"]]},{"id":"f77fd9c1.af42e8","type":"outcome","name":"policy-instance-name","xml":"<outcome value='policy-instance-name'>\n","comments":"","outputs":1,"x":2045.7655982971191,"y":2982.4999437332153,"z":"3cca8f3d.41f19","wires":[["58ea5262.7de7ac"]]},{"id":"58ea5262.7de7ac","type":"set","name":"set vt.request[].policy-instance-name","xml":"<set>\n<parameter name='vt.request[$qidx].policy-instance-name' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2338.126552581787,"y":2982.6110553741455,"z":"3cca8f3d.41f19","wires":[]},{"id":"73d467dd.17ca58","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1241.3130416870117,"y":2939.4007773399353,"z":"3cca8f3d.41f19","wires":[["6efc25dc.e4209c","3462af45.d67fb","4306c301.35954c","c475d44f.1100f8","da9dd771.969ff8"]]},{"id":"3462af45.d67fb","type":"set","name":"qidx++","xml":"<set>\n<parameter name='qidx' value='`$qidx + 1`' />\n","comments":"","x":1402.9203834533691,"y":3142.3412942886353,"z":"3cca8f3d.41f19","wires":[]},{"id":"4306c301.35954c","type":"set","name":"set vt.request_length = qidx","xml":"<set>\n<parameter name='vt.request_length' value='`$qidx`' />\n","comments":"","x":1467.9203147888184,"y":3189.3413406014442,"z":"3cca8f3d.41f19","wires":[]},{"id":"da9dd771.969ff8","type":"set","name":"set ss.vt.param[].index","xml":"<set>\n<parameter name='ss.vt.param[$qidx].index' value='`$pidx`' />\n","comments":"","x":1454.170295715332,"y":2939.6864981651306,"z":"3cca8f3d.41f19","wires":[]},{"id":"c475d44f.1100f8","type":"set","name":"set ss.vt.param_length = qidx","xml":"<set>\n<parameter name='ss.vt.param_length' value='`$qidx`' />\n","comments":"","x":1475.967945098877,"y":3233.2937421798706,"z":"3cca8f3d.41f19","wires":[]},{"id":"cc6ecf40.7d3f3","type":"outcome","name":"vlan-type","xml":"<outcome value='vlan-type'>\n","comments":"","outputs":1,"x":2007.8845596313477,"y":3023.1388998031616,"z":"3cca8f3d.41f19","wires":[["613ddc2f.1a2004"]]},{"id":"613ddc2f.1a2004","type":"set","name":"set vt.request[].vlan-type","xml":"<set>\n<parameter name='vt.request[$qidx].vlan-type' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />\n","comments":"","x":2301.8845596313477,"y":3022.8888998031616,"z":"3cca8f3d.41f19","wires":[]},{"id":"62b24577.e67eec","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"Failed to get vlan-tag assisgnment from mS\" />\n","comments":"","x":1709.8092079162598,"y":3422.9998149871826,"z":"3cca8f3d.41f19","wires":[]},{"id":"b0c23727.1ab458","type":"execute","name":"execute RestApiCallNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.mS.vlan.tag.unassign.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $prop.restapi.ss-mS-vlan-tag-assign`' />\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='POST' />\n <parameter name=\"responsePrefix\" value=\"vtResp\" />\n\n","comments":"","outputs":1,"x":1068.0476264953613,"y":3417.9568424224854,"z":"3cca8f3d.41f19","wires":[["7b2f7f67.d6351","cd9e6801.2881d8","ca9ba81.75c9e58"]]},{"id":"7b2f7f67.d6351","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1316.0697021484375,"y":3417.9550819396973,"z":"3cca8f3d.41f19","wires":[["f0a44760.6f5588"]]},{"id":"cd9e6801.2881d8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1307.0697898864746,"y":3330.7408323287964,"z":"3cca8f3d.41f19","wires":[["f0a44760.6f5588"]]},{"id":"ca9ba81.75c9e58","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1312.2484397888184,"y":3518.5263996124268,"z":"3cca8f3d.41f19","wires":[["93bc2ffa.321b4"]]},{"id":"f0a44760.6f5588","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1506.7735633850098,"y":3330.38503074646,"z":"3cca8f3d.41f19","wires":[["62b24577.e67eec","79999354.b04e0c"]]},{"id":"e84ab7f1.440bc8","type":"set","name":"set resource-resolution-data.status = FAILED","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.vf-module-parameters.param[$vt-index].resource-resolution-data.status' \n\tvalue='FAILED' />\n","comments":"","x":2171.631114959717,"y":3374.285580635071,"z":"3cca8f3d.41f19","wires":[]},{"id":"79999354.b04e0c","type":"for","name":"for i in ss.vt.param_length","xml":"<for index=\"i\" start=\"0\" end=\"`$ss.vt.param_length`\">","comments":"","outputs":1,"x":1798.702465057373,"y":3330.0357780456543,"z":"3cca8f3d.41f19","wires":[["e84ab7f1.440bc8","b77e6050.cd677"]]},{"id":"93bc2ffa.321b4","type":"switchNode","name":"switch: vtResp.error-code","xml":"<switch test='`$vtResp.error-code`'>\n","comments":"","outputs":1,"x":1516.9286079406738,"y":3518.0234899520874,"z":"3cca8f3d.41f19","wires":[["a54712d9.a018a","1c981621.d6aefa"]]},{"id":"a54712d9.a018a","type":"outcomeTrue","name":"500","xml":"<outcome value='500'>\n","comments":"","outputs":1,"x":1729.1786041259766,"y":3517.7734899520874,"z":"3cca8f3d.41f19","wires":[["fe879328.58844"]]},{"id":"1c981621.d6aefa","type":"outcomeTrue","name":"200","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":1730.6786079406738,"y":3560.5234899520874,"z":"3cca8f3d.41f19","wires":[["26e20209.e7af6e"]]},{"id":"fac64af9.e74a98","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500'/>\n<parameter name='error-message' value=\"`'Encountered error from mS-vlan-tag-assign with error-code = ' + $vtResp.error-code + ' and error-message = ' + $vtResp.error-message`\" />\n","comments":"","x":2066.0951957702637,"y":3517.1901569366455,"z":"3cca8f3d.41f19","wires":[]},{"id":"b77e6050.cd677","type":"set","name":"set vt-index","xml":"<set>\n<parameter name='vt-index' value='`$ss.vt.param[$i].index`' />\n","comments":"","x":2067.095226287842,"y":3329.1069898605347,"z":"3cca8f3d.41f19","wires":[]},{"id":"dd8f5ebd.e4b98","type":"for","name":"for i in ss.vt.param_length","xml":"<for silentFailure='true' index=\"i\" start=\"0\" end=\"`$ss.vt.param_length`\">","comments":"","outputs":1,"x":2170.3692684173584,"y":3560.4522845745087,"z":"3cca8f3d.41f19","wires":[["32874e30.4df202","b84185e6.55bd98"]]},{"id":"26e20209.e7af6e","type":"for","name":"for oidx in output_length","xml":"<for silentFailure='true' index=\"oidx\" start=\"0\" end=\"`$vtResp.output_length`\">","comments":"","outputs":1,"x":1919.9047966003418,"y":3560.666401863098,"z":"3cca8f3d.41f19","wires":[["dd8f5ebd.e4b98"]]},{"id":"32874e30.4df202","type":"set","name":"set vt-index","xml":"<set>\n<parameter name='vt-index' value='`$ss.vt.param[$i]-index`' />\n","comments":"","x":2401.1547985076904,"y":3560.6663987636566,"z":"3cca8f3d.41f19","wires":[]},{"id":"b84185e6.55bd98","type":"set","name":"set resource-resolution-data.status = DELETED","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.vf-module-parameters.param[$vt-index].resource-resolution-data.status' \n\tvalue='DELETED' />\n","comments":"","x":2506.5714073181152,"y":3615.332921028137,"z":"3cca8f3d.41f19","wires":[]},{"id":"fe879328.58844","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1888.5712776184082,"y":3517.6665086746216,"z":"3cca8f3d.41f19","wires":[["fac64af9.e74a98","e84ab7f1.440bc8"]]},{"id":"c0bfc703.dda858","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":705.2380828857422,"y":96.33333778381348,"z":"3cca8f3d.41f19","wires":[["f4fc65ee.932678","11c20fb6.dc4ff"]]},{"id":"d39a866.b9bf078","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2625.773971557617,"y":2433.6071605682373,"z":"3cca8f3d.41f19","wires":[["f11d85d3.a71a68","6e652163.87f5f","eb808af3.f6a468"]]},{"id":"29b6ac39.646914","type":"set","name":"set Test vtResp","xml":"<set>\n<parameter name='vtResp.output_length' value='2' />\n<parameter name='vtResp.output[0].resource-name' value='vlan-tag-1' />\n<parameter name='vtResp.output[0].resource-value' value='[3553]' />\n<parameter name='vtResp.output[0].resource-vlan-role' value='outer-tag' />\n<parameter name='vtResp.output[0].stored-elements_length' value='1' />\n<parameter name='vtResp.output[0].stored-elements[0].vlan-uuid' value='vlan-uuid-0' />\n<parameter name='vtResp.output[0].stored-elements[0].vlantag-name' value='VPE-Cust' />\n<parameter name='vtResp.output[0].stored-elements[0].vlantag-value' value='3553' />\n<parameter name='vtResp.output[0].stored-elements[0].element-vlan-role' value='' />\n\n<parameter name='vtResp.output[1].resource-name' value='vlan-tag-2' />\n<parameter name='vtResp.output[1].resource-value' value='[ 3503, 4001, 4002 ]' />\n<parameter name='vtResp.output[1].resource-vlan-role' value='' />\n<parameter name='vtResp.output[1].stored-elements_length' value='3' />\n<parameter name='vtResp.output[1].stored-elements[0].vlan-uuid' value='vlan-uuid-1' />\n<parameter name='vtResp.output[1].stored-elements[0].vlantag-name' value='VPE-Cust-Outer' />\n<parameter name='vtResp.output[1].stored-elements[0].vlantag-value' value='3503' />\n<parameter name='vtResp.output[1].stored-elements[0].element-vlan-role' value='outer-tag' />\n<parameter name='vtResp.output[1].stored-elements[1].vlan-uuid' value='vlan-uuid-2' />\n<parameter name='vtResp.output[1].stored-elements[1].vlantag-name' value='VPE-Core1' />\n<parameter name='vtResp.output[1].stored-elements[1].vlantag-value' value='4001' />\n<parameter name='vtResp.output[1].stored-elements[1].element-vlan-role' value='outer-tag' />\n<parameter name='vtResp.output[1].stored-elements[2].vlan-uuid' value='vlan-uuid-3' />\n<parameter name='vtResp.output[1].stored-elements[2].vlantag-name' value='VPE-Core2' />\n<parameter name='vtResp.output[1].stored-elements[2].vlantag-value' value='4002' />\n<parameter name='vtResp.output[1].stored-elements[2].element-vlan-role' value='outer-tag' />\n<parameter name='vtResp.error-code' value='200' />\n<parameter name='vtResp.error-message' value='Success' />","comments":"","x":1043.571403503418,"y":157.99998092651367,"z":"3cca8f3d.41f19","wires":[]},{"id":"dba4fe6b.4dfba","type":"set","name":"set status = SUCCESS","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.vf-module-parameters.param[$vt-index].resource-resolution-data.status' \n\tvalue='SUCCESS' />\n","comments":"","x":2141.666793823242,"y":2312.2864093780518,"z":"3cca8f3d.41f19","wires":[]},{"id":"878265b8.156d88","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1690.7144165039062,"y":2609.4288244247437,"z":"3cca8f3d.41f19","wires":[["4cfe7bdb.dbd4d4","9a1642da.dbde8"]]},{"id":"a17c09f0.020608","type":"set","name":"set vf-module-assignments.vms.vm[0]","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.vf-module-assignments.vms.vm[0].vm-type' value = '`$ss.param.vm-type`' />\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-assignments.vms.vm[0].onap-model-information.model-invariant-uuid' value = '`$ss.param.vnfc-model-invariant-uuid`' />\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-assignments.vms.vm[0].onap-model-information.model-customization-uuid' value = '`$ss.param.vnfc-model-customization-uuid`' />\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-assignments.vms.vm[0].onap-model-information.model-version' value = '`$ss.param.vnfc-model-version`' />\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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-name' value = '`$ss.param.vnfc-name`' />\n","comments":"","x":1027.6195373535156,"y":1911.8091087341309,"z":"3cca8f3d.41f19","wires":[]},{"id":"c14f7e0.59d938","type":"switchNode","name":"switch: param[].name","xml":"<switch test='`$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[$pidx].name`'>\n","comments":"","outputs":1,"x":1217.61918258667,"y":1433.3805990219116,"z":"3cca8f3d.41f19","wires":[["2c57dbb0.1969c4","c82009e9.e31958","e97d1e24.43f64","f84d2f12.dc61c","649ce71a.606638","bf031968.f55938","6093f573.d041fc"]]},{"id":"2c57dbb0.1969c4","type":"outcome","name":"nfc-function","xml":"<outcome value='nfc-function'>\n","comments":"","outputs":1,"x":1453.36918258667,"y":1433.6305990219116,"z":"3cca8f3d.41f19","wires":[["4e103f0.32c0bc"]]},{"id":"4e103f0.32c0bc","type":"set","name":"set ss.param.nfc-function, index","xml":"<set>\n<parameter name='ss.param.nfc-function' value='`$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[$pidx].value`' />\n<parameter name='ss.param.nfc-function-index' value='`$pidx`' />\n","comments":"","x":1695.6191902160645,"y":1433.8805675506592,"z":"3cca8f3d.41f19","wires":[]},{"id":"c82009e9.e31958","type":"outcome","name":"nfc-naming-code","xml":"<outcome value='nfc-naming-code'>\n","comments":"","outputs":1,"x":1470.86918258667,"y":1476.3805980682373,"z":"3cca8f3d.41f19","wires":[["c4a3e401.d72448"]]},{"id":"c4a3e401.d72448","type":"set","name":"set ss.param.nfc-naming-code, index","xml":"<set>\n<parameter name='ss.param.nfc-naming-code' value='`$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[$pidx].value`' />\n<parameter name='ss.param.nfc-naming-code-index' value='`$pidx`' />\n","comments":"","x":1758.1191215515137,"y":1476.3805656433105,"z":"3cca8f3d.41f19","wires":[]},{"id":"e97d1e24.43f64","type":"outcome","name":"vnfc-model-customization-uuid","xml":"<outcome value='vnfc-model-customization-uuid'>\n","comments":"","outputs":1,"x":1514.6191902160645,"y":1516.3805990219116,"z":"3cca8f3d.41f19","wires":[["573f9da5.c8c0a4"]]},{"id":"573f9da5.c8c0a4","type":"set","name":"set ss.param.vnfc-model-customization-uuid, index","xml":"<set>\n<parameter name='ss.param.vnfc-model-customization-uuid' value='`$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[$pidx].value`' />\n<parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$pidx`' />\n","comments":"","x":1868.8691291809082,"y":1516.3805665969849,"z":"3cca8f3d.41f19","wires":[]},{"id":"f84d2f12.dc61c","type":"outcome","name":"vnfc-model-invariant-uuid","xml":"<outcome value='vnfc-model-invariant-uuid'>\n","comments":"","outputs":1,"x":1499.61918258667,"y":1557.630599975586,"z":"3cca8f3d.41f19","wires":[["ea85ad8d.4f956"]]},{"id":"ea85ad8d.4f956","type":"set","name":"set ss.param.vnfc-model-invariant-uuid, index","xml":"<set>\n<parameter name='ss.param.vnfc-model-invariant-uuid' value='`$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[$pidx].value`' />\n<parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$pidx`' />\n","comments":"","x":1817.8691215515137,"y":1557.6305675506592,"z":"3cca8f3d.41f19","wires":[]},{"id":"649ce71a.606638","type":"outcome","name":"vnfc-model-version","xml":"<outcome value='vnfc-model-version'>\n","comments":"","outputs":1,"x":1482.11918258667,"y":1600.1306009292603,"z":"3cca8f3d.41f19","wires":[["2d523d96.3d1742"]]},{"id":"2d523d96.3d1742","type":"set","name":"set ss.param.vnfc-model-version, index","xml":"<set>\n<parameter name='ss.param.vnfc-model-version' value='`$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[$pidx].value`' />\n<parameter name='ss.param.vnfc-model-version-index' value='`$pidx`' />\n","comments":"","x":1800.3691215515137,"y":1600.1305685043335,"z":"3cca8f3d.41f19","wires":[]},{"id":"bf031968.f55938","type":"outcome","name":"vm-type","xml":"<outcome value='vm-type'>\n","comments":"","outputs":1,"x":1450.86918258667,"y":1642.6306009292603,"z":"3cca8f3d.41f19","wires":[["bb00ccb4.e2dce"]]},{"id":"bb00ccb4.e2dce","type":"set","name":"set ss.param.vm-type, index","xml":"<set>\n<parameter name='ss.param.vm-type' value='`$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[$pidx].value`' />\n<parameter name='ss.param.vm-type-index' value='`$pidx`' />\n","comments":"","x":1693.1191902160645,"y":1642.8805694580078,"z":"3cca8f3d.41f19","wires":[]},{"id":"2e2ca2b6.3d965e","type":"for","name":"for pidx in param_length","xml":"<for silentFailure='true' index=\"pidx\" start=\"0\" end=\"`$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_length`\">","comments":"","outputs":1,"x":988.8968849182129,"y":1433.6624612808228,"z":"3cca8f3d.41f19","wires":[["c14f7e0.59d938"]]},{"id":"6093f573.d041fc","type":"outcome","name":"vnfc-name","xml":"<outcome value='vnfc-name'>\n","comments":"","outputs":1,"x":1457.6193237304688,"y":1687.5232906341553,"z":"3cca8f3d.41f19","wires":[["cc3ecb8d.be2a68"]]},{"id":"1d87da33.c632d6","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":748.7142028808594,"y":1433.4761066436768,"z":"3cca8f3d.41f19","wires":[["2e2ca2b6.3d965e","a17c09f0.020608","5cb2291e.c80628","c2a5f508.b43b18","81aa7b87.404648","a872dfda.0ea85"]]},{"id":"25a753d9.b3df8c","type":"switchNode","name":"switch: param[].name == ss.param.vnfc-name-unresolved-value","xml":"<switch test='`$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[$x].name == $ss.param.vnfc-name-unresolved-value`'>\n","comments":"","outputs":1,"x":2402.142906188965,"y":1871.6189851760864,"z":"3cca8f3d.41f19","wires":[["a69aada8.40b1b"]]},{"id":"4b315d8a.330e84","type":"for","name":"for x in param_length","xml":"<for silentFailure='true' index=\"x\" start=\"0\" end=\"`$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_length`\">","comments":"","outputs":1,"x":2043.4206085205078,"y":1871.9008474349976,"z":"3cca8f3d.41f19","wires":[["25a753d9.b3df8c"]]},{"id":"cc3ecb8d.be2a68","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1650.142837524414,"y":1687.4762706756592,"z":"3cca8f3d.41f19","wires":[["ee58dbad.de9848","396ac594.8ae03a","2422c03f.9036","5e83afb4.5b469","8eec9a52.119328","7d2d3721.eaf018"]]},{"id":"ee58dbad.de9848","type":"execute","name":"replace ${ with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$ss.param.vnfc-name-unresolved-value`\" />\n\t<parameter name=\"target\" value=\"${\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"ss.param.vnfc-name-unresolved-value\"/>\n","comments":"","outputs":1,"x":1867.857192993164,"y":1732.4762058258057,"z":"3cca8f3d.41f19","wires":[[]]},{"id":"396ac594.8ae03a","type":"set","name":"set ss.param.vnfc-name-unresolved-value","xml":"<set>\n<parameter name='ss.param.vnfc-name-unresolved-value' value='`$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[$pidx].value`' />\n","comments":"","x":1943.5715026855469,"y":1687.1904230117798,"z":"3cca8f3d.41f19","wires":[]},{"id":"2422c03f.9036","type":"execute","name":"replace } with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$ss.param.vnfc-name-unresolved-value`\" />\n\t<parameter name=\"target\" value=\"}\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"ss.param.vnfc-name-unresolved-value\"/>\n","comments":"","outputs":1,"x":1866.4286575317383,"y":1777.7620067596436,"z":"3cca8f3d.41f19","wires":[[]]},{"id":"a69aada8.40b1b","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2713.571319580078,"y":1871.7618932724,"z":"3cca8f3d.41f19","wires":[["6ebadf0a.00e51"]]},{"id":"5e83afb4.5b469","type":"record","name":"record ss.param.vnfc-name-unresolved-value","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=\"`'ss.param.vnfc-name-unresolved-value = ' + $ss.param.vnfc-name-unresolved-value`\"/>","comments":"","outputs":1,"x":1960.7142944335938,"y":1826.3333988189697,"z":"3cca8f3d.41f19","wires":[[]]},{"id":"8eec9a52.119328","type":"switchNode","name":"switch: ss.param.vnfc-name","xml":"<switch test='`$ss.param.vnfc-name`'>\n","comments":"","outputs":1,"x":1907.8570251464844,"y":1979.190378189087,"z":"3cca8f3d.41f19","wires":[["ddc5f4c2.375de8"]]},{"id":"ddc5f4c2.375de8","type":"outcomeFalse","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2117.857078552246,"y":1979.618947982788,"z":"3cca8f3d.41f19","wires":[["6eeb709b.bf7f6"]]},{"id":"6eeb709b.bf7f6","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value='Unable to resolve vnf-name' />\n","comments":"","x":2288.8570087977814,"y":1979.3332162584575,"z":"3cca8f3d.41f19","wires":[]},{"id":"592e74ab.f1fd6c","type":"set","name":"set ss.param.vnfc-name, index","xml":"<set>\n<parameter name='ss.param.vnfc-name' value='`$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[$x].value`' />\n<parameter name='ss.param.vnfc-name-index' value='`$x`' />\n","comments":"","x":3121.2856979370117,"y":1871.2379312515259,"z":"3cca8f3d.41f19","wires":[]},{"id":"6ebadf0a.00e51","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2861.6071548461914,"y":1871.3694486618042,"z":"3cca8f3d.41f19","wires":[["592e74ab.f1fd6c","9a337dcd.70e43"]]},{"id":"c69a5e55.34d79","type":"execute","name":"generate vlan-tag url, replace action","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-mS-vlan-tag-assign`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vlan-tag-url\"/>\n <parameter name=\"target\" value=\"{action}\"/>\n <parameter name=\"replacement\" value=\"`$ss.capability-action`\"/>\n","comments":"","outputs":1,"x":1100.4762115478516,"y":1006.3333053588867,"z":"3cca8f3d.41f19","wires":[[]]},{"id":"7d8a26af.c6a8e8","type":"execute","name":"generate vlan-tag url, replace action","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-mS-vlan-tag-assign`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vlan-tag-url\"/>\n <parameter name=\"target\" value=\"{action}\"/>\n <parameter name=\"replacement\" value=\"`$ss.capability-action`\"/>\n","comments":"","outputs":1,"x":1098.5714263916016,"y":3267.9998302459717,"z":"3cca8f3d.41f19","wires":[[]]},{"id":"7d2d3721.eaf018","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1842.857162475586,"y":1871.8572330474854,"z":"3cca8f3d.41f19","wires":[["4b315d8a.330e84","3426891c.a5a986"]]},{"id":"3426891c.a5a986","type":"returnSuccess","name":"CATCH BREAK","xml":"<return status='success'>\n","comments":"","x":2000.0000534057617,"y":1918.5714302062988,"z":"3cca8f3d.41f19","wires":[]},{"id":"9a337dcd.70e43","type":"returnFailure","name":"BREAK","xml":"<return status='failure'>","comments":"","x":3048.9999465942383,"y":1912.8570919036865,"z":"3cca8f3d.41f19","wires":[]},{"id":"c2a5f508.b43b18","type":"set","name":"set vm_length, vnfc-names_length = 1","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.vf-module-assignments.vms.vm_length' value = '1' />\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-assignments.vms.vm[0].vm-names.vnfc-names_length' value = '1' />\n","comments":"","x":1029.1429138183594,"y":1958.5714988708496,"z":"3cca8f3d.41f19","wires":[]},{"id":"81aa7b87.404648","type":"set","name":"set vnfc-network-data_length","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.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length' \n\tvalue='`$ss.vt.param_length`' />\n","comments":"","x":998.5715446472168,"y":2382.857276916504,"z":"3cca8f3d.41f19","wires":[]},{"id":"a872dfda.0ea85","type":"set","name":"set vlan-data_length","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.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data_length' \n\tvalue='`$vtResp.output[$oidx].stored-elements_length`' />\n","comments":"","x":972.4285202026367,"y":2431.4286317825317,"z":"3cca8f3d.41f19","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-assign.json
index e86889a7..768f9c39 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-assign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-assign.json
@@ -1,2070 +1 @@
-[
- {
- "id": "3560e515.54c98a",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 92.5,
- "y": 37.5,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "70c13e37.da2a2"
- ]
- ]
- },
- {
- "id": "403234e5.5ff69c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 128.69049072265625,
- "y": 152.34921646118164,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "6175d91c.80a228",
- "22313775.627058",
- "4ac1cccf.0fbdf4",
- "5f632565.5703cc",
- "48c02c45.2af764",
- "1debefb9.6eb29",
- "1b7280ea.37dc5f",
- "b1c04da3.0bbee",
- "61714731.eb3998"
- ]
- ]
- },
- {
- "id": "b6f03bb7.965918",
- "type": "method",
- "name": "method self-serve-vf-module-assign",
- "xml": "<method rpc='self-serve-vf-module-assign' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 209.26190948486328,
- "y": 92.20635509490967,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "403234e5.5ff69c"
- ]
- ]
- },
- {
- "id": "70c13e37.da2a2",
- "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": 367.73819732666016,
- "y": 37.69049263000488,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "b6f03bb7.965918"
- ]
- ]
- },
- {
- "id": "22313775.627058",
- "type": "switchNode",
- "name": "switch vf-module-parameters.param_length",
- "xml": "<switch test='`$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_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 443.7500305175781,
- "y": 1354.8691635131836,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "f52f2d81.7f35b"
- ]
- ]
- },
- {
- "id": "f52f2d81.7f35b",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 703.7500610351562,
- "y": 1354.8691635131836,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "9eaaad06.c49f4"
- ]
- ]
- },
- {
- "id": "a2c86795.41e7b8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:self-serve-vfmodule-ra-assignment",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vfmodule-ra-assignment' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1245.4643096923828,
- "y": 1402.1549139022827,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "23b5a1bc.c2aeae"
- ]
- ]
- },
- {
- "id": "a1932a98.076d38",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to get RA assignments: ' + $error-message`\" />\n",
- "comments": "",
- "x": 1726.1785507202148,
- "y": 1401.7263174057007,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "7932bb94.260364",
- "type": "for",
- "name": "foreach vf-module-parameters.param[]",
- "xml": "<for index='pidx' start='0' end='`$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_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 717.6073913574219,
- "y": 1780.7620267868042,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "c92ff5c8.4909a8",
- "8cf53757.b98dc8"
- ]
- ]
- },
- {
- "id": "6175d91c.80a228",
- "type": "set",
- "name": "set ss.capability.execution-order[]",
- "xml": "<set>\n<parameter name='ss.capability.execution-order[0]' value='generate-name' />\n<parameter name='ss.capability.execution-order[1]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[2]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[4]' value='eipam-ip-assign' />\n<parameter name='ss.capability.execution-order[5]' value='netbox-ip-assign' />\n<parameter name='ss.capability.execution-order[6]' value='eipam-create-pool\"' />\n<parameter name='ss.capability.execution-order[7]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[8]' value='create-vpe-pool' />\n<parameter name='ss.capability.execution-order[9]' value='unresolved-composite-data' />\n<parameter name='ss.capability.execution-order_length' value='10' />\n",
- "comments": "",
- "x": 415.91666412353516,
- "y": 1216.9286432266235,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "4ac1cccf.0fbdf4",
- "type": "for",
- "name": "foreach capability-order[]",
- "xml": "<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 384.6786193847656,
- "y": 1520.8690433502197,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "c84bbb7a.0d8378",
- "b065b955.288328",
- "761ccae1.c8c314",
- "7932bb94.260364"
- ]
- ]
- },
- {
- "id": "c92ff5c8.4909a8",
- "type": "switchNode",
- "name": "switch capability-name param vs. execution",
- "xml": "<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1084.0002136230469,
- "y": 1826.4048194885254,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "95873838.1ada78"
- ]
- ]
- },
- {
- "id": "95873838.1ada78",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1347.5002136230469,
- "y": 1826.6548194885254,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "125e2acd.452975"
- ]
- ]
- },
- {
- "id": "23b5a1bc.c2aeae",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1572.0356559753418,
- "y": 1401.5835075378418,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "a1932a98.076d38"
- ]
- ]
- },
- {
- "id": "c84bbb7a.0d8378",
- "type": "set",
- "name": "set ss.capability-name",
- "xml": "<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n\n<!--\nss.capability.execution-order\n-->",
- "comments": "",
- "x": 676.0356750488281,
- "y": 1520.8214950561523,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "8cf53757.b98dc8",
- "type": "set",
- "name": "tmp.param.capability-name",
- "xml": "<set>\n<parameter name='tmp.param.capability-name' value='`$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[$pidx].resource-resolution-data.capability-name`' />\n",
- "comments": "",
- "x": 1033.3572387695312,
- "y": 1781.0120296478271,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "761ccae1.c8c314",
- "type": "set",
- "name": "set ss.capability.action = assign",
- "xml": "<set>\n<parameter name='ss.capability-action' value='assign' />\n",
- "comments": "",
- "x": 706.7498168945312,
- "y": 1567.738079071045,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "7a2cad24.827b84",
- "type": "set",
- "name": "set capability-dg with 'self-serve-' + capability-name",
- "xml": "<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n",
- "comments": "",
- "x": 1210.5118865966797,
- "y": 1714.9643115997314,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "b065b955.288328",
- "type": "switchNode",
- "name": "switch ss.capability-name",
- "xml": "<switch test='`$ss.capability-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 690.0118865966797,
- "y": 1616.714319229126,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "d589a10f.56259",
- "d6f310d8.7ba42",
- "b20bfee0.7f91"
- ]
- ]
- },
- {
- "id": "d589a10f.56259",
- "type": "other",
- "name": "alts-entitlement-assign",
- "xml": "<outcome value='alts-entitlement-assign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 972.7620086669922,
- "y": 1617.2143115997314,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "f3917c17.f9b9d"
- ]
- ]
- },
- {
- "id": "d6f310d8.7ba42",
- "type": "other",
- "name": "alts-license-assign",
- "xml": "<outcome value='alts-license-assign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 962.0120086669922,
- "y": 1664.9643115997314,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "f3917c17.f9b9d"
- ]
- ]
- },
- {
- "id": "b20bfee0.7f91",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 926.0119705200195,
- "y": 1715.2143020629883,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "7a2cad24.827b84"
- ]
- ]
- },
- {
- "id": "f3917c17.f9b9d",
- "type": "set",
- "name": "set capability-dg to self-serve-alts-assignment",
- "xml": "<set>\n<parameter name='ss.capability-dg' value='self-serve-alts-assignment' />\n",
- "comments": "",
- "x": 1311.5118865966797,
- "y": 1616.7143115997314,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "208a43c2.0e1adc",
- "type": "set",
- "name": "set sdnc-generated-cloud-resources = true",
- "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.sdnc-generated-cloud-resources' \n\tvalue='true' />\n",
- "comments": "",
- "x": 1037.452392578125,
- "y": 1103.3573188781738,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "125e2acd.452975",
- "type": "switchNode",
- "name": "switch resource-resolution-data.status",
- "xml": "<switch test='`$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[$pidx].resource-resolution-data.status`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 475.0121765136719,
- "y": 2239.4723148345947,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "5afbede0.2e5544",
- "30979fb2.cc18a",
- "bb92d52.d88da28"
- ]
- ]
- },
- {
- "id": "5afbede0.2e5544",
- "type": "other",
- "name": "PENDING",
- "xml": "<outcome value='PENDING'>\n",
- "comments": "",
- "outputs": 1,
- "x": 744.3693923950195,
- "y": 2239.472270965576,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "dcf4c9cf.035d78"
- ]
- ]
- },
- {
- "id": "30979fb2.cc18a",
- "type": "other",
- "name": "SUCCESS",
- "xml": "<outcome value='SUCCESS'>\n",
- "comments": "",
- "outputs": 1,
- "x": 747.7978820800781,
- "y": 2190.9365549087524,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "12260e8d.8fd3c1"
- ]
- ]
- },
- {
- "id": "bb92d52.d88da28",
- "type": "other",
- "name": "FAILED",
- "xml": "<outcome value='FAILED'>\n",
- "comments": "",
- "outputs": 1,
- "x": 737.9052085876465,
- "y": 2290.436601638794,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "dcf4c9cf.035d78"
- ]
- ]
- },
- {
- "id": "dcf4c9cf.035d78",
- "type": "call",
- "name": "call ss.capability-dg",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 953.0239410400391,
- "y": 2291.198452949524,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "129c459b.19b80a",
- "a5a5795e.0fdfd8"
- ]
- ]
- },
- {
- "id": "3da967a9.06f7a8",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error from capability: '+ $ss.capability-dg + ', with error: '+ $error-message`\" />\n",
- "comments": "",
- "x": 1530.5715065002441,
- "y": 2699.1750926971436,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "129c459b.19b80a",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1148.9165229797363,
- "y": 2345.198519706726,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "165a93a8.65436c"
- ]
- ]
- },
- {
- "id": "165a93a8.65436c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1312.1906394958496,
- "y": 2344.5080604553223,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "3da967a9.06f7a8",
- "2753423d.a3875e",
- "43819fdb.e95ef",
- "b2d88241.cc91f",
- "310af886.0bf138",
- "86f5aff8.0a00c"
- ]
- ]
- },
- {
- "id": "2753423d.a3875e",
- "type": "execute",
- "name": "execute RestApiCallNode - PUT vf-module",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vfmodule.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vfmodule-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-ss-vfmodule\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1627.738079071045,
- "y": 2600.882019996643,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "abef3b2b.025c98",
- "6985b2c8.f2f7bc",
- "65c63d4e.d39434"
- ]
- ]
- },
- {
- "id": "abef3b2b.025c98",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1902.331745147705,
- "y": 2654.8801736831665,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "a54a9d48.c66c8"
- ]
- ]
- },
- {
- "id": "6985b2c8.f2f7bc",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1894.7603797912598,
- "y": 2601.380193710327,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "a54a9d48.c66c8"
- ]
- ]
- },
- {
- "id": "65c63d4e.d39434",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1898.5103721618652,
- "y": 2547.7372913360596,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "6fb122d8.ceb48c"
- ]
- ]
- },
- {
- "id": "6fb122d8.ceb48c",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2074.880603790283,
- "y": 2547.6437726020813,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- },
- {
- "id": "a54a9d48.c66c8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2096.8927040100098,
- "y": 2601.0244483947754,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "4b2a8851.25ac88"
- ]
- ]
- },
- {
- "id": "4b2a8851.25ac88",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Failed to persist self-serve vf-module assignments during assign in MD-SAL\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2315.1784706115723,
- "y": 2601.167311668396,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- },
- {
- "id": "1b7280ea.37dc5f",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vf-assign.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 341.54361724853516,
- "y": 4025.90918636322,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- },
- {
- "id": "5f632565.5703cc",
- "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": 381.7022895812988,
- "y": 271.7619981765747,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "b758ef1f.14be1",
- "5ba4ce6.5287c3",
- "f1296022.df39e"
- ]
- ]
- },
- {
- "id": "b758ef1f.14be1",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 594.3332595825195,
- "y": 201.15478897094727,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "15568bd1.4655e4"
- ]
- ]
- },
- {
- "id": "4f3bc7f9.cc1898",
- "type": "set",
- "name": "set vf-module-index=0",
- "xml": "<set>\n<parameter name='vf-module-index' value='0' />\n",
- "comments": "",
- "x": 933.4522895812988,
- "y": 212.0715742111206,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "5ba4ce6.5287c3",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 593.5118522644043,
- "y": 339.9406490325928,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "286a7c53.0dbc64"
- ]
- ]
- },
- {
- "id": "dfd62a4a.a5a6a8",
- "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": 949.7379302978516,
- "y": 494.1816177368164,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "d95df464.79fc48",
- "type": "set",
- "name": "set vf-module-parameters",
- "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.vf-module-parameters.'\n value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />\n",
- "comments": "",
- "x": 1114.4285278320312,
- "y": 1354.0244059562683,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "ec68163d.860598",
- "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": 1010.0121002197266,
- "y": 1056.0448169708252,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "43819fdb.e95ef",
- "type": "set",
- "name": "set vf data for restapi-call-node",
- "xml": "<set>\n<parameter name='vf.vf-module-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\n<parameter name='vf.vf-module-data.sdnc-request-header.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.`' />\n<parameter name='vf.vf-module-data.request-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.`' />\n<parameter name='vf.vf-module-data.service-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.`' />\n<parameter name='vf.vf-module-data.vnf-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.`' />\n<parameter name='vf.vf-module-data.vf-module-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.`' />\n<parameter name='vf.vf-module-data.vf-module-topology.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.`' />\n<parameter name='vf.vf-module-data.vf-module-level-oper-status.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.vf-module-input-parameters.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-input-parameters.`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.request-version'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.request-version`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.vf-module-name'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-name`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.tenant'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.tenant`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.aic-cloud-region'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-cloud-region`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.aic-clli'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-clli`' />",
- "comments": "",
- "x": 1589.2501029968262,
- "y": 2345.0000371932983,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "b2d88241.cc91f",
- "type": "execute",
- "name": "generate ss-vfmodule url replace service-instance-id",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-vfmodule-assignments`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.service-instance-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1655.5000495910645,
- "y": 2393.000082015991,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- },
- {
- "id": "310af886.0bf138",
- "type": "execute",
- "name": "generate ss-vfmodule url - replace vnf-id",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vfmodule-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.vnf-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1619.7857475280762,
- "y": 2441.0589990615845,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- },
- {
- "id": "86f5aff8.0a00c",
- "type": "execute",
- "name": "generate ss-vfmodule url - replace vf-module-id",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vfmodule-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{vf-module-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1641.7264213562012,
- "y": 2490.975499153137,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- },
- {
- "id": "802f4199.221d9",
- "type": "for",
- "name": "for i in vf-module-parameters.param[]",
- "xml": "<for index='i' start='0' end='`$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_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1144.8215103149414,
- "y": 3482.250153541565,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "63bbdf3.ba3e92"
- ]
- ]
- },
- {
- "id": "63bbdf3.ba3e92",
- "type": "switchNode",
- "name": "switch param[$i].name",
- "xml": "<switch test='`$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[$i].name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1423.5715103149414,
- "y": 3482.7501249313354,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "f2c0e742.0e6348"
- ]
- ]
- },
- {
- "id": "3d984290.7ab9be",
- "type": "save",
- "name": "save VNFC object",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\t\tkey=\"vnfc.vnfc-name = $tmp.ss.vnfc-name\" >\n\t<parameter name=\"nfc-function\" value=\"`$tmp.ss.nfc-function`\" />\n\t<parameter name=\"nfc-naming-code\" value=\"`$tmp.ss.nfc-naming-code`\" />\n\t<parameter name=\"orchestration-status\" value=\"pending-create\" />",
- "comments": "",
- "outputs": 1,
- "x": 2346.6788787841797,
- "y": 3712.2860794067383,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "854ac898.930b48"
- ]
- ]
- },
- {
- "id": "f6d62d80.b5987",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 861.6786270141602,
- "y": 3399.071201324463,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "802f4199.221d9",
- "24c71d4a.b584e2",
- "6c9147d0.5fe2f8"
- ]
- ]
- },
- {
- "id": "854ac898.930b48",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2523.4288635253906,
- "y": 3711.78604888916,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "69c887d6.9b5348"
- ]
- ]
- },
- {
- "id": "f2c0e742.0e6348",
- "type": "other",
- "name": "vnfc-name",
- "xml": "<outcome value='vnfc-name'>\n<!--\n<outcome value='vmxvre_name_0'>\n-->\n",
- "comments": "",
- "outputs": 1,
- "x": 1628.1072387695312,
- "y": 3483.2501068115234,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "262e2f9.8717ed"
- ]
- ]
- },
- {
- "id": "c5bffeb9.14b6f",
- "type": "switchNode",
- "name": "switch: resource-key[].name",
- "xml": "<switch test='`$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[$i].resource-resolution-data.resource-key[$kidx].name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2094.357452392578,
- "y": 3585.3220615386963,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "812edad6.13e978",
- "74178c18.aed7c4"
- ]
- ]
- },
- {
- "id": "812edad6.13e978",
- "type": "outcome",
- "name": "nfc-function",
- "xml": "<outcome value='nfc-function'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2324.663101196289,
- "y": 3633.8219709396362,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "c973f219.41108"
- ]
- ]
- },
- {
- "id": "c973f219.41108",
- "type": "set",
- "name": "set tmp.ss.nfc-function",
- "xml": "<set>\n<parameter name='tmp.ss.nfc-function' value='`$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[$i].resource-resolution-data.resource-key[$kidx].value`' />\n",
- "comments": "",
- "x": 2535.163101196289,
- "y": 3633.5719709396362,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "4c5fac31.d6e484",
- "type": "for",
- "name": "for kidx in resource-key_length",
- "xml": "<for index=\"kidx\" start=\"0\" end=\"`$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[$i].resource-resolution-data.resource-key_length`\">",
- "comments": "",
- "outputs": 1,
- "x": 1809.2185516357422,
- "y": 3585.182762145996,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "c5bffeb9.14b6f"
- ]
- ]
- },
- {
- "id": "74178c18.aed7c4",
- "type": "outcome",
- "name": "nfc-naming-code",
- "xml": "<outcome value='nfc-naming-code'>\n<!--\n<outcome value='NFC_NAMING_CODE'>\n-->\n",
- "comments": "",
- "outputs": 1,
- "x": 2340.80171585083,
- "y": 3584.8220434188843,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "b4ec70ef.8ec99"
- ]
- ]
- },
- {
- "id": "b4ec70ef.8ec99",
- "type": "set",
- "name": "set tmp.ss.nfc-naming-code",
- "xml": "<set>\n<parameter name='tmp.ss.nfc-naming-code' value='`$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[$i].resource-resolution-data.resource-key[$kidx].value`' />\n",
- "comments": "",
- "x": 2579.912666320801,
- "y": 3584.9330854415894,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "24c71d4a.b584e2",
- "type": "set",
- "name": "set tmp.ss.nfc-naming-code, nfc-function, vnf-name = null",
- "xml": "<set>\n<parameter name='tmp.ss.nfc-naming-code' value='' />\n<parameter name='tmp.ss.nfc-function' value='' />\n<parameter name='tmp.ss.vnfc-name' value='' />\n",
- "comments": "",
- "x": 1210.0195693969727,
- "y": 3398.9684133529663,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "a404bb90.d05e78",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1926.9644317626953,
- "y": 3528.535895347595,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "262e2f9.8717ed",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1769.8215599060059,
- "y": 3482.8216800689697,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "2ca06e6a.58e632",
- "a404bb90.d05e78"
- ]
- ]
- },
- {
- "id": "2ca06e6a.58e632",
- "type": "set",
- "name": "set tmp.ss.vnfc-name",
- "xml": "<set>\n<parameter name='tmp.ss.vnfc-name' value='`$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[$i].value`' />\n",
- "comments": "",
- "x": 1973.9643325805664,
- "y": 3482.82168674469,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "48c02c45.2af764",
- "type": "set",
- "name": "set ss.capability-type = vf-module",
- "xml": "<set>\n<parameter name='ss.capability-type' value='vf-module' />\n",
- "comments": "",
- "x": 416.8214569091797,
- "y": 1173.9286012649536,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "9eaaad06.c49f4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 879.107153756278,
- "y": 1354.749975476946,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "d95df464.79fc48",
- "a2c86795.41e7b8"
- ]
- ]
- },
- {
- "id": "a5a5795e.0fdfd8",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1152.2500915527344,
- "y": 2291.500045776367,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "e93974be.fb0998"
- ]
- ]
- },
- {
- "id": "e93974be.fb0998",
- "type": "set",
- "name": "set capability-dg to ASSIGNED",
- "xml": "<set>\n<parameter name='`$ss.capability-dg`' value='ASSIGNED' />\n",
- "comments": "",
- "x": 1378.0000762939453,
- "y": 2291.250018119812,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "1debefb9.6eb29",
- "type": "switchNode",
- "name": "switch self-serve-generate-name == ASSIGNED",
- "xml": "<switch test=\"`$self-serve-generate-name == 'ASSIGNED'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 449.5,
- "y": 2859.75,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "717a357f.ca120c",
- "e2958e1c.63763"
- ]
- ]
- },
- {
- "id": "717a357f.ca120c",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 734.2499542236328,
- "y": 2884.7499980926514,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "2f2598c9.3bca08"
- ]
- ]
- },
- {
- "id": "6c9147d0.5fe2f8",
- "type": "switchNode",
- "name": "switch tmp.ss.vnfc-name != null",
- "xml": "<switch test=\"`$tmp.ss.vnfc-name != ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 1128.0000762939453,
- "y": 3585.75000667572,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "1df4e001.bd26c",
- "85198951.816258"
- ]
- ]
- },
- {
- "id": "8b1364a3.1a14f8",
- "type": "switchNode",
- "name": "switch tmp.ss.vnfc-name && nfc-function != null",
- "xml": "<switch test=\"`$tmp.ss.nfc-naming-code != '' and $tmp.ss.nfc-function != ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 1861.6786193847656,
- "y": 3712.2857913970947,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "162ae374.daed9d",
- "2aa9bfaa.32c2d"
- ]
- ]
- },
- {
- "id": "1df4e001.bd26c",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1363.5000457763672,
- "y": 3585.999917984009,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "7ca55b40.817d94"
- ]
- ]
- },
- {
- "id": "162ae374.daed9d",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2146.928642272949,
- "y": 3712.535834312439,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "3d984290.7ab9be"
- ]
- ]
- },
- {
- "id": "e2958e1c.63763",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 732.3571815490723,
- "y": 2834.5714950561523,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "7ada8395.66332c"
- ]
- ]
- },
- {
- "id": "b68e8e50.8a80e",
- "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=\"`'SS: self-serve-generate-name status: ' + $self-serve-generate-name`\"/>",
- "comments": "",
- "outputs": 1,
- "x": 1081.7857627868652,
- "y": 2834.5716676712036,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- },
- {
- "id": "7ada8395.66332c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 898.2143058776855,
- "y": 2834.571613584246,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "b68e8e50.8a80e",
- "315e6329.e71c3c"
- ]
- ]
- },
- {
- "id": "315e6329.e71c3c",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`\" />\n",
- "comments": "",
- "x": 1103.0714530944824,
- "y": 2878.0002212524414,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "36d24104.b53f7e",
- "type": "call",
- "name": "call self-serve-aai-vfmodule-put",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-aai-vfmodule-put' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1809.9643249511719,
- "y": 3832.381055831909,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "c4c4e4d8.5cb1c8"
- ]
- ]
- },
- {
- "id": "12260e8d.8fd3c1",
- "type": "set",
- "name": "set capability-dg to ASSIGNED",
- "xml": "<set>\n<parameter name='`$ss.capability-dg`' value='ASSIGNED' />\n",
- "comments": "",
- "x": 989.7500457763672,
- "y": 2191.1665811538696,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "ada601a5.8a40a",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'vnfc object not updated because param.value of vnfc-name is null; '+ $error-message`\" />\n",
- "comments": "",
- "x": 2298.6785278320312,
- "y": 3770.61900806427,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "c4c4e4d8.5cb1c8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2032.34521484375,
- "y": 3832.285635948181,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "39f87abf.ed25d6"
- ]
- ]
- },
- {
- "id": "39f87abf.ed25d6",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'generic-vnf and vf-module not updated; '+ $error-message`\" />\n",
- "comments": "",
- "x": 2202.34521484375,
- "y": 3831.619132041931,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "69c887d6.9b5348",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"Failed to save vnfc object in AAI\" />\n",
- "comments": "",
- "x": 2699.0120010375977,
- "y": 3711.2860021591187,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "2aa9bfaa.32c2d",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2147.3453102111816,
- "y": 3771.28600025177,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "ada601a5.8a40a"
- ]
- ]
- },
- {
- "id": "b1c04da3.0bbee",
- "type": "set",
- "name": "set is-new-vfmodule = true",
- "xml": "<set>\n<parameter name='is-new-vfmodule' value='true' />\n",
- "comments": "",
- "x": 388.5239715576172,
- "y": 152.17872047424316,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "6b6c11c5.bbcc5",
- "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": 952.3452301025391,
- "y": 339.6309871673584,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "45969b2a.6b64b4"
- ]
- ]
- },
- {
- "id": "45969b2a.6b64b4",
- "type": "switchNode",
- "name": "switch vf-module-id: input vs service-data",
- "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": 1263.4643630981445,
- "y": 340.20240211486816,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "fb49eccc.f39ab"
- ]
- ]
- },
- {
- "id": "fb49eccc.f39ab",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1517.3333930969238,
- "y": 340.02385902404785,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "5b21c603.229ee8"
- ]
- ]
- },
- {
- "id": "575f26c9.68a1f8",
- "type": "set",
- "name": "set is-new-vfmodule = false",
- "xml": "<set>\n<parameter name='is-new-vfmodule' value='false' />\n",
- "comments": "",
- "x": 1889.5001335144043,
- "y": 339.2857475280762,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "5b21c603.229ee8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1658.7501373291016,
- "y": 339.5357437133789,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "575f26c9.68a1f8",
- "3271f964.6c61a6",
- "61ab060.a0d1efc"
- ]
- ]
- },
- {
- "id": "3271f964.6c61a6",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1826.6429252624512,
- "y": 425.53572177886963,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "61ab060.a0d1efc",
- "type": "set",
- "name": "set vf-module-index = idx",
- "xml": "<set>\n<parameter name='vf-module-index' value='`$idx`' />\n",
- "comments": "",
- "x": 1882.4644470214844,
- "y": 382.57140254974365,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "892cfa62.321a88",
- "type": "set",
- "name": "set new vf-module_length = vf-module-index + 1",
- "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": 1014.8097114562988,
- "y": 253.3930025100708,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "286a7c53.0dbc64",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 730.6667671203613,
- "y": 340.3215112686157,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "c463b747.cd19a8",
- "6b6c11c5.bbcc5"
- ]
- ]
- },
- {
- "id": "c42f064a.cdd3c8",
- "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' \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length + 1`' />\n",
- "comments": "",
- "x": 1499.916790008545,
- "y": 452.0715160369873,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "c463b747.cd19a8",
- "type": "switchNode",
- "name": "switch is-new-vfmodule",
- "xml": "<switch test='`$is-new-vfmodule`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 938.1667633056641,
- "y": 409.8928909301758,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "123ca523.aacc6b"
- ]
- ]
- },
- {
- "id": "123ca523.aacc6b",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1136.0239181518555,
- "y": 409.4643383026123,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "f4d13fa0.d9dfe"
- ]
- ]
- },
- {
- "id": "15568bd1.4655e4",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 737.1667633056641,
- "y": 232.82150554656982,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "892cfa62.321a88",
- "4f3bc7f9.cc1898"
- ]
- ]
- },
- {
- "id": "f1296022.df39e",
- "type": "other",
- "name": "0",
- "xml": "<outcome value='0'>\n",
- "comments": "",
- "outputs": 1,
- "x": 595.5,
- "y": 271.25,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "15568bd1.4655e4"
- ]
- ]
- },
- {
- "id": "61714731.eb3998",
- "type": "switchNode",
- "name": "switch is-new-vfmodule",
- "xml": "<switch test='`$is-new-vfmodule`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 381.25,
- "y": 495,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "6dde9203.b0507c"
- ]
- ]
- },
- {
- "id": "6dde9203.b0507c",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 579.1071548461914,
- "y": 494.5714473724365,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "771aa93b.561358"
- ]
- ]
- },
- {
- "id": "1d3ab61a.e18f5a",
- "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.vf-module-topology-identifier.vf-module-id' \n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\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-topology-identifier.vf-module-name' \n value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\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-topology-identifier.vf-module-type' \n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.tenant' \n value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\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-cloud-region' \n value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\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='`$vf-module-topology-operation-input.vf-module-request-input.aic-clli`' />",
- "comments": "",
- "x": 995.0000152587891,
- "y": 540.0000696182251,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "ca9fe248.88f72",
- "type": "set",
- "name": "set from DB",
- "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.onap-model-information.model-invariant-uuid'\n value='`$db.vf-module-model.invariant-uuid`' />\n",
- "comments": "",
- "x": 1360.011775970459,
- "y": 592.443510055542,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "912e5e00.2ffd3",
- "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": 1003.8688507080078,
- "y": 615.2679538726807,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "1f0bf384.3cfa7c",
- "34632141.e1364e"
- ]
- ]
- },
- {
- "id": "1f0bf384.3cfa7c",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1209.5355224609375,
- "y": 592.4109172821045,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "ca9fe248.88f72"
- ]
- ]
- },
- {
- "id": "34632141.e1364e",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1210.9641189575195,
- "y": 636.6965084075928,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "b26573bb.feb6c"
- ]
- ]
- },
- {
- "id": "b26573bb.feb6c",
- "type": "set",
- "name": "set from input",
- "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.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": 1365.249855041504,
- "y": 636.1250805854797,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "b7d78e8f.3cf72",
- "type": "set",
- "name": "set from DB",
- "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.onap-model-information.model-uuid'\n value='`$db.vf-module-model.uuid`' />\n",
- "comments": "",
- "x": 1360.9640464782715,
- "y": 680.9821863174438,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "31b701d0.46d05e",
- "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": 976.4878692626953,
- "y": 703.8066911697388,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "1ddbea64.7c38e6",
- "4bbbc5b5.84966c"
- ]
- ]
- },
- {
- "id": "1ddbea64.7c38e6",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1210.4878425598145,
- "y": 680.9496231079102,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "b7d78e8f.3cf72"
- ]
- ]
- },
- {
- "id": "4bbbc5b5.84966c",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1211.9164390563965,
- "y": 725.2352142333984,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "f955a171.cd5f1"
- ]
- ]
- },
- {
- "id": "f955a171.cd5f1",
- "type": "set",
- "name": "set from input",
- "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.onap-model-information.model-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\n",
- "comments": "",
- "x": 1366.2021751403809,
- "y": 724.6637864112854,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "aaeae203.515b6",
- "type": "set",
- "name": "set from DB",
- "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.onap-model-information.model-version'\n value='`$db.vf-module-model.version`' />\n",
- "comments": "",
- "x": 1358.1069793701172,
- "y": 769.8393936157227,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "38e5d316.76192c",
- "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": 984.6307411193848,
- "y": 792.6638383865356,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "d6205c9d.2aac",
- "d18f0ce3.6531f"
- ]
- ]
- },
- {
- "id": "d6205c9d.2aac",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1207.6307258605957,
- "y": 769.8068008422852,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "aaeae203.515b6"
- ]
- ]
- },
- {
- "id": "d18f0ce3.6531f",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1209.0593223571777,
- "y": 814.0923919677734,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "8e07d522.c43898"
- ]
- ]
- },
- {
- "id": "8e07d522.c43898",
- "type": "set",
- "name": "set from input",
- "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.onap-model-information.model-version'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n",
- "comments": "",
- "x": 1363.345058441162,
- "y": 813.5209641456604,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "1997e93d.cc3677",
- "type": "set",
- "name": "set from DB",
- "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.onap-model-information.model-name'\n value='`$db.vf-module-model.name`' />\n",
- "comments": "",
- "x": 1358.1069793701172,
- "y": 856.9822158813477,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "c0bb4f1d.bf76d",
- "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": 979.6307411193848,
- "y": 879.8066606521606,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "44a8e6d8.ab32b8",
- "d6832860.ddc3b8"
- ]
- ]
- },
- {
- "id": "44a8e6d8.ab32b8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1207.6307258605957,
- "y": 856.9496231079102,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "1997e93d.cc3677"
- ]
- ]
- },
- {
- "id": "d6832860.ddc3b8",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1209.0593223571777,
- "y": 901.2352142333984,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "8e86e3c7.3bf47"
- ]
- ]
- },
- {
- "id": "8e86e3c7.3bf47",
- "type": "set",
- "name": "set from input",
- "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.onap-model-information.model-name'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\n",
- "comments": "",
- "x": 1363.345058441162,
- "y": 900.6637864112854,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "b0cee3eb.0748c",
- "type": "set",
- "name": "set model-customization-uuid",
- "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.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": 993.0830993652344,
- "y": 953.7441453933716,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "bbf33715.8b52f8",
- "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.' />",
- "comments": "",
- "x": 951.7381744384766,
- "y": 1008.4288482666016,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "771aa93b.561358",
- "type": "block",
- "name": "block",
- "xml": "<block>",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 735.2024154663086,
- "y": 494.3491916656494,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "912e5e00.2ffd3",
- "31b701d0.46d05e",
- "38e5d316.76192c",
- "c0bb4f1d.bf76d",
- "b0cee3eb.0748c",
- "bbf33715.8b52f8",
- "1d3ab61a.e18f5a",
- "dfd62a4a.a5a6a8",
- "ec68163d.860598",
- "208a43c2.0e1adc"
- ]
- ]
- },
- {
- "id": "9cca684a.cb85c8",
- "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": 1532.5000190734863,
- "y": 408.25000762939453,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "f4d13fa0.d9dfe",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1279.0000190734863,
- "y": 409.00000762939453,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "9cca684a.cb85c8",
- "c42f064a.cdd3c8"
- ]
- ]
- },
- {
- "id": "ed2436d.8afa0c8",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1102.9999656677246,
- "y": 3270.5000371932983,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "f6d62d80.b5987"
- ]
- ]
- },
- {
- "id": "4ce50370.4b324c",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1101.107192993164,
- "y": 3220.3215341567993,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "ff80399e.60d2b8"
- ]
- ]
- },
- {
- "id": "dc91f5c6.0f3388",
- "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=\"`'SS: self-serve-unresolved-composite-data: ' + $self-serve-unresolved-composite-data`\"/>",
- "comments": "",
- "outputs": 1,
- "x": 1450.535774230957,
- "y": 3220.3217067718506,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- },
- {
- "id": "ff80399e.60d2b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1266.9643173217773,
- "y": 3220.321652684893,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "dc91f5c6.0f3388",
- "8fd1491d.594388"
- ]
- ]
- },
- {
- "id": "8fd1491d.594388",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`\" />\n",
- "comments": "",
- "x": 1471.8214645385742,
- "y": 3263.7502603530884,
- "z": "a1447ddc.1baaf",
- "wires": []
- },
- {
- "id": "2f2598c9.3bca08",
- "type": "switchNode",
- "name": "switch self-serve-unresolved-composite-data == ASSIGNED or NULL",
- "xml": "<switch test=\"`$self-serve-unresolved-composite-data == 'ASSIGNED' or $self-serve-unresolved-composite-data == ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 753.0000305175781,
- "y": 3243.25,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "4ce50370.4b324c",
- "ed2436d.8afa0c8"
- ]
- ]
- },
- {
- "id": "7ca55b40.817d94",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1541.9285278320312,
- "y": 3586.285789489746,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "4c5fac31.d6e484",
- "8b1364a3.1a14f8",
- "36d24104.b53f7e"
- ]
- ]
- },
- {
- "id": "85198951.816258",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1367.1428146362305,
- "y": 3928.571466445923,
- "z": "a1447ddc.1baaf",
- "wires": [
- [
- "971ad69f.2bddc8"
- ]
- ]
- },
- {
- "id": "971ad69f.2bddc8",
- "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=\"`'SS: vnfc-name: ' + $tmp.ss.vnfc-name`\"/>",
- "comments": "",
- "outputs": 1,
- "x": 1517.142822265625,
- "y": 3928.571533203125,
- "z": "a1447ddc.1baaf",
- "wires": [
- []
- ]
- }
-] \ No newline at end of file
+[{"id":"d54f27c.32d09d8","type":"dgstart","name":"DGSTART","outputs":1,"x":81.57142639160156,"y":40,"z":"2a37ce0.5c7a932","wires":[["5d461bb.2f1c0e4"]]},{"id":"22458b8f.3b1884","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":104.76191711425781,"y":154.84921646118164,"z":"2a37ce0.5c7a932","wires":[["ff6a2a6.8c871d8","7dee9ef1.a7c23","ce6475cf.6d4638","c2268bb7.16d468","80a128d1.6f8ae8","5f58b7e8.2aa828","4b723712.e0acb8","f485a1c2.7f11f"]]},{"id":"35e97a3.61ebc86","type":"method","name":"method self-serve-vf-module-assign","xml":"<method rpc='self-serve-vf-module-assign' mode='sync'>\n","comments":"","outputs":1,"x":185.33333587646484,"y":94.70635509490967,"z":"2a37ce0.5c7a932","wires":[["22458b8f.3b1884"]]},{"id":"5d461bb.2f1c0e4","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":343.8096237182617,"y":40.19049263000488,"z":"2a37ce0.5c7a932","wires":[["35e97a3.61ebc86"]]},{"id":"7dee9ef1.a7c23","type":"switchNode","name":"switch vf-module-parameters.param_length","xml":"<switch test='`$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_length`'>\n","comments":"","outputs":1,"x":419.8214569091797,"y":1357.3691635131836,"z":"2a37ce0.5c7a932","wires":[["fc3b10eb.4a5cd"]]},{"id":"fc3b10eb.4a5cd","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":679.8214874267578,"y":1357.3691635131836,"z":"2a37ce0.5c7a932","wires":[["94d6b8b2.0f4e78"]]},{"id":"cbfdfd5f.e6884","type":"call","name":"call GENERIC-RESOURCE-API:self-serve-vfmodule-ra-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vfmodule-ra-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1221.5357360839844,"y":1404.6549139022827,"z":"2a37ce0.5c7a932","wires":[["3eaaeae5.409546"]]},{"id":"d791cdf1.8cae8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to get RA assignments: ' + $error-message`\" />\n","comments":"","x":1702.2499771118164,"y":1404.2263174057007,"z":"2a37ce0.5c7a932","wires":[]},{"id":"3c87aa6d.571d96","type":"for","name":"foreach vf-module-parameters.param[]","xml":"<for index='pidx' start='0' end='`$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_length`' >\n","comments":"","outputs":1,"x":705.107421875,"y":1667.5477504730225,"z":"2a37ce0.5c7a932","wires":[["b01badfa.3bbe1","83158739.1a8948"]]},{"id":"ff6a2a6.8c871d8","type":"set","name":"set ss.capability.execution-order[]","xml":"<set>\n<parameter name='ss.capability.execution-order[0]' value='generate-name' />\n<parameter name='ss.capability.execution-order[1]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[2]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[4]' value='mS-vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[5]' value='eipam-ip-assign' />\n<parameter name='ss.capability.execution-order[6]' value='eipam-create-pool\"' />\n<parameter name='ss.capability.execution-order[7]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[8]' value='mS-mac-address-assign' />\n<parameter name='ss.capability.execution-order[9]' value='create-vpe-pool' />\n<parameter name='ss.capability.execution-order[10]' value='unresolved-composite-data' />\n<parameter name='ss.capability.execution-order[11]' value='aai-vf-module-put' />\n<parameter name='ss.capability.execution-order_length' value='12' />\n","comments":"","x":391.9880905151367,"y":1219.4286432266235,"z":"2a37ce0.5c7a932","wires":[]},{"id":"ce6475cf.6d4638","type":"for","name":"foreach capability-order[]","xml":"<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n","comments":"","outputs":1,"x":360.7500457763672,"y":1523.3690433502197,"z":"2a37ce0.5c7a932","wires":[["9be81579.ced898","926efea2.9a817","3c87aa6d.571d96","67304d17.676334"]]},{"id":"b01badfa.3bbe1","type":"switchNode","name":"switch capability-name param vs. execution","xml":"<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n","comments":"","outputs":1,"x":1071.500244140625,"y":1713.1905431747437,"z":"2a37ce0.5c7a932","wires":[["5effdcda.8ecbf4"]]},{"id":"5effdcda.8ecbf4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1335.000244140625,"y":1713.4405431747437,"z":"2a37ce0.5c7a932","wires":[["fdfbb3f7.f9a6b"]]},{"id":"3eaaeae5.409546","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1548.1070823669434,"y":1404.0835075378418,"z":"2a37ce0.5c7a932","wires":[["d791cdf1.8cae8"]]},{"id":"9be81579.ced898","type":"set","name":"set ss.capability-name","xml":"<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n\n<!--\nss.capability.execution-order\n-->","comments":"","x":652.1071014404297,"y":1523.3214950561523,"z":"2a37ce0.5c7a932","wires":[]},{"id":"83158739.1a8948","type":"set","name":"tmp.param.capability-name","xml":"<set>\n<parameter name='tmp.param.capability-name' value='`$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[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1020.8572692871094,"y":1667.7977533340454,"z":"2a37ce0.5c7a932","wires":[]},{"id":"926efea2.9a817","type":"set","name":"set ss.capability.action = assign","xml":"<set>\n<parameter name='ss.capability-action' value='assign' />\n","comments":"","x":682.8212432861328,"y":1570.238079071045,"z":"2a37ce0.5c7a932","wires":[]},{"id":"67304d17.676334","type":"set","name":"set capability-dg with 'self-serve-' + capability-name","xml":"<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n","comments":"","x":745.1547088623047,"y":1618.8929500579834,"z":"2a37ce0.5c7a932","wires":[]},{"id":"a2d7bd9.b62744","type":"set","name":"set sdnc-generated-cloud-resources = true","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.sdnc-generated-cloud-resources' \n\tvalue='true' />\n","comments":"","x":1007.5238189697266,"y":1105.8573188781738,"z":"2a37ce0.5c7a932","wires":[]},{"id":"fdfbb3f7.f9a6b","type":"switchNode","name":"switch resource-resolution-data.status","xml":"<switch test='`$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[$pidx].resource-resolution-data.status`'>\n","comments":"","outputs":1,"x":451.08360290527344,"y":2241.9723148345947,"z":"2a37ce0.5c7a932","wires":[["3862b37e.a4d33c","954c079f.3aa0e8"]]},{"id":"3862b37e.a4d33c","type":"other","name":"PENDING","xml":"<outcome value='PENDING'>\n","comments":"","outputs":1,"x":720.4408187866211,"y":2241.972270965576,"z":"2a37ce0.5c7a932","wires":[["15298f4c.04fb41"]]},{"id":"954c079f.3aa0e8","type":"other","name":"FAILED","xml":"<outcome value='FAILED'>\n","comments":"","outputs":1,"x":713.976634979248,"y":2292.936601638794,"z":"2a37ce0.5c7a932","wires":[["15298f4c.04fb41"]]},{"id":"15298f4c.04fb41","type":"call","name":"call ss.capability-dg","xml":"<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n","comments":"","outputs":1,"x":929.0953674316406,"y":2293.698452949524,"z":"2a37ce0.5c7a932","wires":[["5f7d62d1.cae71c"]]},{"id":"205d8d4c.150a22","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error from capability: '+ $ss.capability-dg + ', with error: '+ $error-message`\" />\n","comments":"","x":1503.785701751709,"y":2647.389304161072,"z":"2a37ce0.5c7a932","wires":[]},{"id":"5f7d62d1.cae71c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1122.1307182312012,"y":2293.4127311706543,"z":"2a37ce0.5c7a932","wires":[["8e8de4d9.b6ed58"]]},{"id":"8e8de4d9.b6ed58","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1285.4048347473145,"y":2292.7222719192505,"z":"2a37ce0.5c7a932","wires":[["205d8d4c.150a22","fd054b99.428368","f7ba85bb.1dc7a8","e1e8cdc2.d08fb","3daf0fdb.6a62e","d05a52e9.d3f3e"]]},{"id":"fd054b99.428368","type":"execute","name":"execute RestApiCallNode - PUT vf-module","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vfmodule.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vfmodule-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-ss-vfmodule\" />\n\n","comments":"","outputs":1,"x":1600.9522743225098,"y":2549.0962314605713,"z":"2a37ce0.5c7a932","wires":[["3a2b9a6b.1c9966","45de9515.60fbec"]]},{"id":"3a2b9a6b.1c9966","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1875.54594039917,"y":2603.0943851470947,"z":"2a37ce0.5c7a932","wires":[["8dcc9b69.6b2cb8"]]},{"id":"45de9515.60fbec","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1867.9745750427246,"y":2549.5944051742554,"z":"2a37ce0.5c7a932","wires":[["8dcc9b69.6b2cb8"]]},{"id":"5f58b7e8.2aa828","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vf-assign.log' />\n","comments":"","outputs":1,"x":303.3293685913086,"y":2794.123447418213,"z":"2a37ce0.5c7a932","wires":[[]]},{"id":"c2268bb7.16d468","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":357.7737159729004,"y":274.2619981765747,"z":"2a37ce0.5c7a932","wires":[["6336a4ad.bd287c","1415588.27e99a8","ddacdcb4.cd4aa"]]},{"id":"6336a4ad.bd287c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":570.4046859741211,"y":203.65478897094727,"z":"2a37ce0.5c7a932","wires":[["608dd4ad.4cf83c"]]},{"id":"209864bc.1268bc","type":"set","name":"set vf-module-index=0","xml":"<set>\n<parameter name='vf-module-index' value='0' />\n","comments":"","x":909.5237159729004,"y":214.5715742111206,"z":"2a37ce0.5c7a932","wires":[]},{"id":"1415588.27e99a8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":569.5832786560059,"y":342.4406490325928,"z":"2a37ce0.5c7a932","wires":[["a1fdc5d1.dd0778"]]},{"id":"a1e7be88.1e24f","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":925.8093566894531,"y":496.6816177368164,"z":"2a37ce0.5c7a932","wires":[]},{"id":"d42cc69b.ed2518","type":"set","name":"set vf-module-parameters","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.vf-module-parameters.'\n value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />\n","comments":"","x":1090.4999542236328,"y":1356.5244059562683,"z":"2a37ce0.5c7a932","wires":[]},{"id":"3476440a.9fb9ac","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":980.0835266113281,"y":1058.5448169708252,"z":"2a37ce0.5c7a932","wires":[]},{"id":"f7ba85bb.1dc7a8","type":"set","name":"set vf data for restapi-call-node","xml":"<set>\n<parameter name='vf.vf-module-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\n<parameter name='vf.vf-module-data.sdnc-request-header.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.`' />\n<parameter name='vf.vf-module-data.request-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.`' />\n<parameter name='vf.vf-module-data.service-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.`' />\n<parameter name='vf.vf-module-data.vnf-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.`' />\n<parameter name='vf.vf-module-data.vf-module-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.`' />\n<parameter name='vf.vf-module-data.vf-module-topology.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.`' />\n<parameter name='vf.vf-module-data.vf-module-level-oper-status.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.vf-module-input-parameters.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-input-parameters.`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.request-version'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.request-version`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.vf-module-name'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-name`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.tenant'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.tenant`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.aic-cloud-region'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-cloud-region`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.aic-clli'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-clli`' />","comments":"","x":1562.464298248291,"y":2293.2142486572266,"z":"2a37ce0.5c7a932","wires":[]},{"id":"e1e8cdc2.d08fb","type":"execute","name":"generate ss-vfmodule url replace service-instance-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-vfmodule-assignments`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.service-instance-id`\"/>\n","comments":"","outputs":1,"x":1628.7142448425293,"y":2341.2142934799194,"z":"2a37ce0.5c7a932","wires":[[]]},{"id":"3daf0fdb.6a62e","type":"execute","name":"generate ss-vfmodule url - replace vnf-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vfmodule-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.vnf-id`\"/>\n","comments":"","outputs":1,"x":1592.999942779541,"y":2389.2732105255127,"z":"2a37ce0.5c7a932","wires":[[]]},{"id":"d05a52e9.d3f3e","type":"execute","name":"generate ss-vfmodule url - replace vf-module-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vfmodule-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{vf-module-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\"/>\n","comments":"","outputs":1,"x":1614.940616607666,"y":2439.1897106170654,"z":"2a37ce0.5c7a932","wires":[[]]},{"id":"80a128d1.6f8ae8","type":"set","name":"set ss.capability-type = vf-module","xml":"<set>\n<parameter name='ss.capability-type' value='vf-module' />\n","comments":"","x":392.89288330078125,"y":1176.4286012649536,"z":"2a37ce0.5c7a932","wires":[]},{"id":"94d6b8b2.0f4e78","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":855.1785801478795,"y":1357.249975476946,"z":"2a37ce0.5c7a932","wires":[["d42cc69b.ed2518","cbfdfd5f.e6884"]]},{"id":"4b723712.e0acb8","type":"set","name":"set is-new-vfmodule = true","xml":"<set>\n<parameter name='is-new-vfmodule' value='true' />\n","comments":"","x":364.59539794921875,"y":154.67872047424316,"z":"2a37ce0.5c7a932","wires":[]},{"id":"aefc893a.1b7808","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":928.4166564941406,"y":342.1309871673584,"z":"2a37ce0.5c7a932","wires":[["e29eb301.c77f2"]]},{"id":"e29eb301.c77f2","type":"switchNode","name":"switch vf-module-id: input vs service-data","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":1239.535789489746,"y":342.70240211486816,"z":"2a37ce0.5c7a932","wires":[["9b8700ac.fc38f"]]},{"id":"9b8700ac.fc38f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1493.4048194885254,"y":342.52385902404785,"z":"2a37ce0.5c7a932","wires":[["6f0eade1.7a1714"]]},{"id":"17cef1c2.67dd9e","type":"set","name":"set is-new-vfmodule = false","xml":"<set>\n<parameter name='is-new-vfmodule' value='false' />\n","comments":"","x":1865.5715599060059,"y":341.7857475280762,"z":"2a37ce0.5c7a932","wires":[]},{"id":"6f0eade1.7a1714","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1634.8215637207031,"y":342.0357437133789,"z":"2a37ce0.5c7a932","wires":[["17cef1c2.67dd9e","a154e5e.8a88318","d9b84f5.23ad9b"]]},{"id":"a154e5e.8a88318","type":"break","name":"break","xml":"<break>\n","comments":"","x":1802.7143516540527,"y":428.03572177886963,"z":"2a37ce0.5c7a932","wires":[]},{"id":"d9b84f5.23ad9b","type":"set","name":"set vf-module-index = idx","xml":"<set>\n<parameter name='vf-module-index' value='`$idx`' />\n","comments":"","x":1858.535873413086,"y":385.07140254974365,"z":"2a37ce0.5c7a932","wires":[]},{"id":"dc072fd0.46346","type":"set","name":"set new vf-module_length = vf-module-index + 1","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":990.8811378479004,"y":255.8930025100708,"z":"2a37ce0.5c7a932","wires":[]},{"id":"a1fdc5d1.dd0778","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":706.7381935119629,"y":342.8215112686157,"z":"2a37ce0.5c7a932","wires":[["969bf5af.167928","aefc893a.1b7808"]]},{"id":"615fa747.b2faa8","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' \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length + 1`' />\n","comments":"","x":1475.9882164001465,"y":454.5715160369873,"z":"2a37ce0.5c7a932","wires":[]},{"id":"969bf5af.167928","type":"switchNode","name":"switch is-new-vfmodule","xml":"<switch test='`$is-new-vfmodule`'>\n","comments":"","outputs":1,"x":914.2381896972656,"y":412.3928909301758,"z":"2a37ce0.5c7a932","wires":[["b01132fb.5a2ac"]]},{"id":"b01132fb.5a2ac","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1112.095344543457,"y":411.9643383026123,"z":"2a37ce0.5c7a932","wires":[["a4e0b93.45f2148"]]},{"id":"608dd4ad.4cf83c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":713.2381896972656,"y":235.32150554656982,"z":"2a37ce0.5c7a932","wires":[["dc072fd0.46346","209864bc.1268bc"]]},{"id":"ddacdcb4.cd4aa","type":"other","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":571.5714263916016,"y":273.75,"z":"2a37ce0.5c7a932","wires":[["608dd4ad.4cf83c"]]},{"id":"f485a1c2.7f11f","type":"switchNode","name":"switch is-new-vfmodule","xml":"<switch test='`$is-new-vfmodule`'>\n","comments":"","outputs":1,"x":357.32142639160156,"y":497.5,"z":"2a37ce0.5c7a932","wires":[["d4a9ff6d.1b84c"]]},{"id":"d4a9ff6d.1b84c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":555.178581237793,"y":497.0714473724365,"z":"2a37ce0.5c7a932","wires":[["70925a62.83afb4"]]},{"id":"5d8f2306.86ddec","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.vf-module-topology-identifier.vf-module-id' \n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\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-topology-identifier.vf-module-name' \n value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\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-topology-identifier.vf-module-type' \n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.tenant' \n value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\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-cloud-region' \n value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\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='`$vf-module-topology-operation-input.vf-module-request-input.aic-clli`' />","comments":"","x":971.0714416503906,"y":542.5000696182251,"z":"2a37ce0.5c7a932","wires":[]},{"id":"86cc7400.791c","type":"set","name":"set from DB","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.onap-model-information.model-invariant-uuid'\n value='`$db.vf-module-model.invariant-uuid`' />\n","comments":"","x":1336.0832023620605,"y":594.943510055542,"z":"2a37ce0.5c7a932","wires":[]},{"id":"8ec50f0b.edeb3","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":979.9402770996094,"y":617.7679538726807,"z":"2a37ce0.5c7a932","wires":[["75b554e0.f9730c","4001e773.f09ad8"]]},{"id":"75b554e0.f9730c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1185.606948852539,"y":594.9109172821045,"z":"2a37ce0.5c7a932","wires":[["86cc7400.791c"]]},{"id":"4001e773.f09ad8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1187.035545349121,"y":639.1965084075928,"z":"2a37ce0.5c7a932","wires":[["deb7c0c9.7677c"]]},{"id":"deb7c0c9.7677c","type":"set","name":"set from input","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.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":1341.3212814331055,"y":638.6250805854797,"z":"2a37ce0.5c7a932","wires":[]},{"id":"d6f45d8c.eacd7","type":"set","name":"set from DB","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.onap-model-information.model-uuid'\n value='`$db.vf-module-model.uuid`' />\n","comments":"","x":1337.035472869873,"y":683.4821863174438,"z":"2a37ce0.5c7a932","wires":[]},{"id":"6c78131c.4b6b6c","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":952.5592956542969,"y":706.3066911697388,"z":"2a37ce0.5c7a932","wires":[["c4621bd9.a12208","577005f9.234a8c"]]},{"id":"c4621bd9.a12208","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1186.559268951416,"y":683.4496231079102,"z":"2a37ce0.5c7a932","wires":[["d6f45d8c.eacd7"]]},{"id":"577005f9.234a8c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1187.987865447998,"y":727.7352142333984,"z":"2a37ce0.5c7a932","wires":[["cb9fba66.ea1358"]]},{"id":"cb9fba66.ea1358","type":"set","name":"set from input","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.onap-model-information.model-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\n","comments":"","x":1342.2736015319824,"y":727.1637864112854,"z":"2a37ce0.5c7a932","wires":[]},{"id":"5cab3027.cd79d","type":"set","name":"set from DB","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.onap-model-information.model-version'\n value='`$db.vf-module-model.version`' />\n","comments":"","x":1328.1784057617188,"y":772.3393936157227,"z":"2a37ce0.5c7a932","wires":[]},{"id":"782146a4.798cf8","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":954.7021675109863,"y":795.1638383865356,"z":"2a37ce0.5c7a932","wires":[["d3cbd663.95bfe8","db6de500.328378"]]},{"id":"d3cbd663.95bfe8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1177.7021522521973,"y":772.3068008422852,"z":"2a37ce0.5c7a932","wires":[["5cab3027.cd79d"]]},{"id":"db6de500.328378","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1179.1307487487793,"y":816.5923919677734,"z":"2a37ce0.5c7a932","wires":[["e61ebdc6.9891a"]]},{"id":"e61ebdc6.9891a","type":"set","name":"set from input","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.onap-model-information.model-version'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n","comments":"","x":1333.4164848327637,"y":816.0209641456604,"z":"2a37ce0.5c7a932","wires":[]},{"id":"72b602cb.a93ddc","type":"set","name":"set from DB","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.onap-model-information.model-name'\n value='`$db.vf-module-model.name`' />\n","comments":"","x":1328.1784057617188,"y":859.4822158813477,"z":"2a37ce0.5c7a932","wires":[]},{"id":"4db0e682.571828","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":951.7021675109863,"y":882.3066606521606,"z":"2a37ce0.5c7a932","wires":[["94f44a83.15e598","b2031ae4.23b278"]]},{"id":"94f44a83.15e598","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1177.7021522521973,"y":859.4496231079102,"z":"2a37ce0.5c7a932","wires":[["72b602cb.a93ddc"]]},{"id":"b2031ae4.23b278","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1179.1307487487793,"y":903.7352142333984,"z":"2a37ce0.5c7a932","wires":[["55c70679.478448"]]},{"id":"55c70679.478448","type":"set","name":"set from input","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.onap-model-information.model-name'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\n","comments":"","x":1333.4164848327637,"y":903.1637864112854,"z":"2a37ce0.5c7a932","wires":[]},{"id":"e55be895.b5c0d8","type":"set","name":"set model-customization-uuid","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.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":965.1545257568359,"y":956.2441453933716,"z":"2a37ce0.5c7a932","wires":[]},{"id":"a872bc48.ec849","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.' />","comments":"","x":921.8096008300781,"y":1010.9288482666016,"z":"2a37ce0.5c7a932","wires":[]},{"id":"70925a62.83afb4","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":711.2738418579102,"y":496.8491916656494,"z":"2a37ce0.5c7a932","wires":[["8ec50f0b.edeb3","6c78131c.4b6b6c","782146a4.798cf8","4db0e682.571828","e55be895.b5c0d8","a872bc48.ec849","5d8f2306.86ddec","a1e7be88.1e24f","3476440a.9fb9ac","a2d7bd9.b62744"]]},{"id":"962f0062.18757","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":1508.571445465088,"y":410.75000762939453,"z":"2a37ce0.5c7a932","wires":[]},{"id":"a4e0b93.45f2148","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1255.071445465088,"y":411.50000762939453,"z":"2a37ce0.5c7a932","wires":[["962f0062.18757","615fa747.b2faa8"]]},{"id":"8dcc9b69.6b2cb8","type":"set","name":"set error-message","xml":"<set>\n<parameter name=\"error-message\" value=\"Failed to persist self-serve vf-module assignments during assign in MD-SAL\" />","comments":"","x":2087.285713195801,"y":2549.4284229278564,"z":"2a37ce0.5c7a932","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json
index 51d9b3c0..5002f76b 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json
@@ -1,964 +1 @@
-[
- {
- "id": "59c8eddd.d351d4",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 115,
- "y": 47.5,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "3fa7b3b2.14694c"
- ]
- ]
- },
- {
- "id": "7094f80c.f334a8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 158.72620391845703,
- "y": 160.27779006958008,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "e9626c7d.713ca",
- "669839ba.56b488",
- "4b0a760.f121c8c",
- "c4d10211.0d483",
- "bd7013b7.21885"
- ]
- ]
- },
- {
- "id": "8f7300f3.a1d57",
- "type": "method",
- "name": "method self-serve-vf-module-unassign",
- "xml": "<method rpc='self-serve-vf-module-unassign' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 231.76190948486328,
- "y": 102.20635509490967,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "7094f80c.f334a8"
- ]
- ]
- },
- {
- "id": "3fa7b3b2.14694c",
- "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": 390.23819732666016,
- "y": 47.69049263000488,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "8f7300f3.a1d57"
- ]
- ]
- },
- {
- "id": "88e4ca0d.4b82e8",
- "type": "switchNode",
- "name": "switch resource-resolution-data.status",
- "xml": "<switch test='`$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[$pidx].resource-resolution-data.status`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 483.5361022949219,
- "y": 760.1786985397339,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "2e842ad6.b13196",
- "6f51aecc.4c371",
- "81b87eaf.eec99"
- ]
- ]
- },
- {
- "id": "2e842ad6.b13196",
- "type": "other",
- "name": "SUCCESS",
- "xml": "<outcome value='SUCCESS'>\n",
- "comments": "",
- "outputs": 1,
- "x": 761.2386436462402,
- "y": 760.547661781311,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "a18437e.11876c8"
- ]
- ]
- },
- {
- "id": "e9626c7d.713ca",
- "type": "for",
- "name": "foreach capability-order[]",
- "xml": "<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 409.1786346435547,
- "y": 247.53568077087402,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "5cc84364.d00a7c",
- "52fc6783.b27a48",
- "60c0d544.1395bc",
- "1f5f6357.bb701d"
- ]
- ]
- },
- {
- "id": "a18437e.11876c8",
- "type": "call",
- "name": "call ss.capability-dg",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 966.3573760986328,
- "y": 760.309513092041,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "83cd0b73.a2d968",
- "e01eeb11.ffdd28"
- ]
- ]
- },
- {
- "id": "5cc84364.d00a7c",
- "type": "set",
- "name": "ss.capability-name",
- "xml": "<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n\n<!--\nss.capability.execution-order\n-->",
- "comments": "",
- "x": 677.5356903076172,
- "y": 247.48813247680664,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "60c0d544.1395bc",
- "type": "set",
- "name": "set ss.capability.action = unassign",
- "xml": "<set>\n<parameter name='ss.capability-action' value='unassign' />\n",
- "comments": "",
- "x": 726.2498321533203,
- "y": 294.4047164916992,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "83cd0b73.a2d968",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1151.249885559082,
- "y": 760.3095741271973,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "b3347c0d.511cc"
- ]
- ]
- },
- {
- "id": "99396b28.795028",
- "type": "set",
- "name": "set capability-dg",
- "xml": "<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n",
- "comments": "",
- "x": 1130.0119018554688,
- "y": 441.63094902038574,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "52fc6783.b27a48",
- "type": "switchNode",
- "name": "switch ss.capability-name",
- "xml": "<switch test='`$ss.capability-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 701.5119018554688,
- "y": 343.3809566497803,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "89609b9d.832be8",
- "bb8dbf03.25222",
- "3e252dd8.99cbe2"
- ]
- ]
- },
- {
- "id": "89609b9d.832be8",
- "type": "other",
- "name": "alts-entitlement-assign",
- "xml": "<outcome value='alts-entitlement-assign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 995.2620239257812,
- "y": 343.88094902038574,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "71970fc.f01b7f"
- ]
- ]
- },
- {
- "id": "bb8dbf03.25222",
- "type": "other",
- "name": "alts-license-assign",
- "xml": "<outcome value='alts-license-assign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 984.5120239257812,
- "y": 391.63094902038574,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "71970fc.f01b7f"
- ]
- ]
- },
- {
- "id": "3e252dd8.99cbe2",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 950.5119857788086,
- "y": 441.8809394836426,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "99396b28.795028"
- ]
- ]
- },
- {
- "id": "71970fc.f01b7f",
- "type": "set",
- "name": "set capability-dg",
- "xml": "<set>\n<parameter name='ss.capability-dg' value='self-serve-alts-assignment' />\n",
- "comments": "",
- "x": 1254.0119018554688,
- "y": 343.38094902038574,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "c4d10211.0d483",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vf-unassign.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 413.53592681884766,
- "y": 1625.226125717163,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "669839ba.56b488",
- "type": "set",
- "name": "set ss.capability.execution-order[]",
- "xml": "<set>\n<parameter name='ss.capability.execution-order[0]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[1]' value='eipam-ip-assign' />\n<parameter name='ss.capability.execution-order[2]' value='netbox-ip-assign' />\n<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[4]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[5]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[6]' value='generate-name' />\n<parameter name='ss.capability.execution-order_length' value='7' />",
- "comments": "",
- "x": 434.25003814697266,
- "y": 160.50000381469727,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "ecc91ea3.fdc65",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error from capability: '+ $ss.capability-dg + ', with error: '+ $error-message`\" />\n",
- "comments": "",
- "x": 1533.75,
- "y": 1115.5,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "b3347c0d.511cc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1315.3691329956055,
- "y": 760.8329677581787,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "ecc91ea3.fdc65",
- "f80cfa5f.ec5538",
- "f9478e50.da1ab",
- "b33b6f0d.9741b",
- "a62aae18.246a5",
- "9cf116cc.5d7c88"
- ]
- ]
- },
- {
- "id": "f80cfa5f.ec5538",
- "type": "execute",
- "name": "execute RestApiCallNode - PUT vf-module",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vfmodule.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vfmodule-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-ss-vfmodule\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1630.9165725708008,
- "y": 1017.2069272994995,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "5a81dded.44b2c4",
- "2b7e4172.d9466e",
- "9c94c0a8.8a6b6"
- ]
- ]
- },
- {
- "id": "5a81dded.44b2c4",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1905.510238647461,
- "y": 1071.205080986023,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "144bf243.c5cf4e"
- ]
- ]
- },
- {
- "id": "2b7e4172.d9466e",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1897.9388732910156,
- "y": 1017.7051010131836,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "144bf243.c5cf4e"
- ]
- ]
- },
- {
- "id": "9c94c0a8.8a6b6",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1901.688865661621,
- "y": 964.062198638916,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "9b806219.d57b1"
- ]
- ]
- },
- {
- "id": "9b806219.d57b1",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2078.059097290039,
- "y": 963.9686799049377,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "144bf243.c5cf4e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2100.0711975097656,
- "y": 1017.3493556976318,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "a8a3bda2.3a4e7"
- ]
- ]
- },
- {
- "id": "a8a3bda2.3a4e7",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Failed to persist self-serve vf-module assignments during unassign in MD-SAL\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2318.356964111328,
- "y": 1017.4922189712524,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "f9478e50.da1ab",
- "type": "set",
- "name": "set vf data for restapi-call-node",
- "xml": "<set>\n<parameter name='vf.vf-module-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\n<parameter name='vf.vf-module-data.sdnc-request-header.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.`' />\n<parameter name='vf.vf-module-data.request-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.`' />\n<parameter name='vf.vf-module-data.service-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.`' />\n<parameter name='vf.vf-module-data.vnf-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.`' />\n<parameter name='vf.vf-module-data.vf-module-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.`' />\n<parameter name='vf.vf-module-data.vf-module-topology.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.`' />\n<parameter name='vf.vf-module-data.vf-module-level-oper-status.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.vf-module-input-parameters.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-input-parameters.`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.request-version'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.request-version`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.vf-module-name'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-name`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.tenant'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.tenant`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.aic-cloud-region'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-cloud-region`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.aic-clli'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-clli`' />",
- "comments": "",
- "x": 1592.428596496582,
- "y": 761.3249444961548,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "b33b6f0d.9741b",
- "type": "execute",
- "name": "generate ss-vfmodule url replace service-instance-id",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-vfmodule-assignments`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.service-instance-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1658.6785430908203,
- "y": 809.3249893188477,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "a62aae18.246a5",
- "type": "execute",
- "name": "generate ss-vfmodule url - replace vnf-id",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vfmodule-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.vnf-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1622.964241027832,
- "y": 857.3839063644409,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "9cf116cc.5d7c88",
- "type": "execute",
- "name": "generate ss-vfmodule url - replace vf-module-id",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vfmodule-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{vf-module-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1644.904914855957,
- "y": 907.3004064559937,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "4b0a760.f121c8c",
- "type": "set",
- "name": "set ss.capability-type = vf-module",
- "xml": "<set>\n<parameter name='ss.capability-type' value='vf-module' />\n",
- "comments": "",
- "x": 434.8571319580078,
- "y": 203.50001049041748,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "e01eeb11.ffdd28",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1153.75,
- "y": 711.25,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "70f15cdb.b52454"
- ]
- ]
- },
- {
- "id": "70f15cdb.b52454",
- "type": "set",
- "name": "set capability-dg to UNASSIGNED",
- "xml": "<set>\n<parameter name='`$ss.capability-dg`' value='UNASSIGNED' />\n",
- "comments": "",
- "x": 1379.499984741211,
- "y": 710.9999723434448,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "6f51aecc.4c371",
- "type": "other",
- "name": "DELETED",
- "xml": "<outcome value='DELETED'>\n",
- "comments": "",
- "outputs": 1,
- "x": 760,
- "y": 857.1428833007812,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "31a0085.606c5f8"
- ]
- ]
- },
- {
- "id": "383dc66d.17f72a",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to unassign self-serve vf-module assignments because the status for ' + $ss.capability-name + ' is ' + $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[$pidx].resource-resolution-data.status`\"/>",
- "comments": "",
- "x": 1110.7380447387695,
- "y": 1024.6905918121338,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "31a0085.606c5f8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 916.4999923706055,
- "y": 857.1428718566895,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "df136536.ec6fa8",
- "296bd731.42cef8"
- ]
- ]
- },
- {
- "id": "81b87eaf.eec99",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 750.0713958740234,
- "y": 989.3571853637695,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "74d32650.e89458"
- ]
- ]
- },
- {
- "id": "df136536.ec6fa8",
- "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=\"`'SS: resource-resolution-data.status: ' + $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[$pidx].resource-resolution-data.status`\"/>\n<parameter name=\"field2\" value=\"`'SS: ss.capability-name: ' + $ss.capability-name`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1090.3572616577148,
- "y": 948.6905670166016,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "74d32650.e89458",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 917.7856903076172,
- "y": 989.3572368621826,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "df136536.ec6fa8",
- "383dc66d.17f72a"
- ]
- ]
- },
- {
- "id": "1f5f6357.bb701d",
- "type": "for",
- "name": "foreach vf-module-parameters.param[]",
- "xml": "<for index='pidx' start='0' end='`$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_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 733.9999732971191,
- "y": 511.4285945892334,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "842a7679.474c78",
- "ff70ed31.3b468"
- ]
- ]
- },
- {
- "id": "842a7679.474c78",
- "type": "switchNode",
- "name": "switch capability-name param vs. execution",
- "xml": "<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1106.3927955627441,
- "y": 557.0713872909546,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "e83762f2.ee222"
- ]
- ]
- },
- {
- "id": "e83762f2.ee222",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1369.8927955627441,
- "y": 557.3213872909546,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "88e4ca0d.4b82e8"
- ]
- ]
- },
- {
- "id": "ff70ed31.3b468",
- "type": "set",
- "name": "tmp.param.capability-name",
- "xml": "<set>\n<parameter name='tmp.param.capability-name' value='`$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[$pidx].resource-resolution-data.capability-name`' />\n",
- "comments": "",
- "x": 1055.7498207092285,
- "y": 511.67859745025635,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "1b981df9.eea952",
- "type": "for",
- "name": "for i in vnf-parameters-data.param[]",
- "xml": "<for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1211.8215026855469,
- "y": 1353.5238590240479,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "2955f79d.d9f148"
- ]
- ]
- },
- {
- "id": "2955f79d.d9f148",
- "type": "switchNode",
- "name": "switch param[$i].name",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1490.5715026855469,
- "y": 1354.0238304138184,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "21118528.d17aba"
- ]
- ]
- },
- {
- "id": "5b3c9b0.4a95764",
- "type": "save",
- "name": "DELETE VNFC object",
- "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\t\tkey=\"vnfc.vnfc-name = $tmp.ss.vnfc-name\" >",
- "comments": "",
- "outputs": 1,
- "x": 2052.3216857910156,
- "y": 1412.4880809783936,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "8f720052.82f16",
- "c7b9a17c.70b3a"
- ]
- ]
- },
- {
- "id": "3da72337.12504c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 948.6785659790039,
- "y": 1353.0116090774536,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "1b981df9.eea952"
- ]
- ]
- },
- {
- "id": "8f720052.82f16",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2264.0716705322266,
- "y": 1412.9880504608154,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "19415073.afd87"
- ]
- ]
- },
- {
- "id": "19415073.afd87",
- "type": "set",
- "name": "set error-message",
- "xml": "<set>\n<parameter name='error-message' value='Failed to delete vnfc object in AnAI' />\n",
- "comments": "",
- "x": 2454.0716705322266,
- "y": 1412.7380504608154,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "c7b9a17c.70b3a",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2270.3216819763184,
- "y": 1464.7380847930908,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "920b3ae7.9a1678"
- ]
- ]
- },
- {
- "id": "21118528.d17aba",
- "type": "other",
- "name": "vnfc-name",
- "xml": "<outcome value='vnfc-name'>\n<!--\n<outcome value='vmxvre_name_0'>\n-->\n",
- "comments": "",
- "outputs": 1,
- "x": 1695.1072311401367,
- "y": 1354.5238122940063,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "a6da92f.e11037"
- ]
- ]
- },
- {
- "id": "e5273bc6.236098",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 2006.8215789794922,
- "y": 1496.9524536132812,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "a6da92f.e11037",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1836.8215522766113,
- "y": 1354.0953855514526,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "ebb79471.77e198",
- "e5273bc6.236098",
- "5b3c9b0.4a95764"
- ]
- ]
- },
- {
- "id": "ebb79471.77e198",
- "type": "set",
- "name": "set tmp.ss.vnfc-name",
- "xml": "<set>\n<parameter name='tmp.ss.vnfc-name' value='`$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[$i].value`' />\n",
- "comments": "",
- "x": 2047.9643249511719,
- "y": 1354.0953922271729,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "bd7013b7.21885",
- "type": "switchNode",
- "name": "switch self-serve-generate-name == UNASSIGNED",
- "xml": "<switch test=\"`$self-serve-generate-name == 'UNASSIGNED'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 518.5713958740234,
- "y": 1205.3806629180908,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "60911edd.fbec9",
- "dbc995c8.389a48"
- ]
- ]
- },
- {
- "id": "60911edd.fbec9",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 823.4999198913574,
- "y": 1255.5235767364502,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "3da72337.12504c"
- ]
- ]
- },
- {
- "id": "dbc995c8.389a48",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 821.6071472167969,
- "y": 1205.3450736999512,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "2732c8d4.650e48"
- ]
- ]
- },
- {
- "id": "76c0b009.2d7e4",
- "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=\"`'SS: self-serve-generate-name status: ' + $self-serve-generate-name`\"/>\n<parameter name=\"field2\" value=\"`'SS: self-serve-unresolved-composite-data: ' + $self-serve-unresolved-composite-data`\"/>",
- "comments": "",
- "outputs": 1,
- "x": 1171.0357284545898,
- "y": 1205.3452463150024,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "2732c8d4.650e48",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 987.4642715454102,
- "y": 1205.3451922280447,
- "z": "e707a2eb.031dc",
- "wires": [
- [
- "76c0b009.2d7e4",
- "f27b027f.fa36"
- ]
- ]
- },
- {
- "id": "f27b027f.fa36",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`\" />\n",
- "comments": "",
- "x": 1192.321418762207,
- "y": 1248.7737998962402,
- "z": "e707a2eb.031dc",
- "wires": []
- },
- {
- "id": "920b3ae7.9a1678",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2423.333251953125,
- "y": 1464.333251953125,
- "z": "e707a2eb.031dc",
- "wires": [
- []
- ]
- },
- {
- "id": "296bd731.42cef8",
- "type": "set",
- "name": "set capability-dg to UNASSIGNED",
- "xml": "<set>\n<parameter name='`$ss.capability-dg`' value='UNASSIGNED' />\n",
- "comments": "",
- "x": 1171.3333129882812,
- "y": 857.333263669695,
- "z": "e707a2eb.031dc",
- "wires": []
- }
-] \ No newline at end of file
+[{"id":"6215fee5.bddad","type":"dgstart","name":"DGSTART","outputs":1,"x":136.66665649414062,"y":49.999996185302734,"z":"6680f8ca.ebffb8","wires":[["e0abbbb4.1691a8"]]},{"id":"c0b04192.50c06","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":180.39286041259766,"y":162.7777862548828,"z":"6680f8ca.ebffb8","wires":[["c39465f2.9d0ab8","9ba3908c.b3993","9c2ed3b1.7a9c5","21cbbc15.66ca44","65e92b38.4daee4"]]},{"id":"7d5065be.a2599c","type":"method","name":"method self-serve-vf-module-unassign","xml":"<method rpc='self-serve-vf-module-unassign' mode='sync'>\n","comments":"","outputs":1,"x":253.4285659790039,"y":104.7063512802124,"z":"6680f8ca.ebffb8","wires":[["c0b04192.50c06"]]},{"id":"e0abbbb4.1691a8","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":411.9048538208008,"y":50.19048881530762,"z":"6680f8ca.ebffb8","wires":[["7d5065be.a2599c"]]},{"id":"8fa17821.c8c998","type":"switchNode","name":"switch resource-resolution-data.status","xml":"<switch test='`$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[$pidx].resource-resolution-data.status`'>\n","comments":"","outputs":1,"x":505.2027587890625,"y":762.6786947250366,"z":"6680f8ca.ebffb8","wires":[["5b5326aa.c9a828","6d9494a.3f2206c","862297c.bf59968"]]},{"id":"5b5326aa.c9a828","type":"other","name":"SUCCESS","xml":"<outcome value='SUCCESS'>\n","comments":"","outputs":1,"x":782.9053001403809,"y":763.0476579666138,"z":"6680f8ca.ebffb8","wires":[["9fffaa92.3e94f8"]]},{"id":"c39465f2.9d0ab8","type":"for","name":"foreach capability-order[]","xml":"<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n","comments":"","outputs":1,"x":430.8452911376953,"y":250.03567695617676,"z":"6680f8ca.ebffb8","wires":[["f837bbd3.874678","b931e6cb.da94c8","d21e6f1d.1016c","89534d93.1f285"]]},{"id":"9fffaa92.3e94f8","type":"call","name":"call ss.capability-dg","xml":"<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n","comments":"","outputs":1,"x":988.0240325927734,"y":762.8095092773438,"z":"6680f8ca.ebffb8","wires":[["fc60047e.9fb338"]]},{"id":"f837bbd3.874678","type":"set","name":"ss.capability-name","xml":"<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n\n<!--\nss.capability.execution-order\n-->","comments":"","x":699.2023468017578,"y":249.98812866210938,"z":"6680f8ca.ebffb8","wires":[]},{"id":"b931e6cb.da94c8","type":"set","name":"set ss.capability.action = unassign","xml":"<set>\n<parameter name='ss.capability-action' value='unassign' />\n","comments":"","x":747.9164886474609,"y":296.90471267700195,"z":"6680f8ca.ebffb8","wires":[]},{"id":"fc60047e.9fb338","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1172.9165420532227,"y":762.8095703125,"z":"6680f8ca.ebffb8","wires":[["a1d1bb97.069c18"]]},{"id":"89534d93.1f285","type":"set","name":"set capability-dg","xml":"<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n","comments":"","x":696.678596496582,"y":344.13096809387207,"z":"6680f8ca.ebffb8","wires":[]},{"id":"21cbbc15.66ca44","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vf-unassign.log' />\n","comments":"","outputs":1,"x":378.7739944458008,"y":1376.5357284545898,"z":"6680f8ca.ebffb8","wires":[[]]},{"id":"9ba3908c.b3993","type":"set","name":"set ss.capability.execution-order[]","xml":"<set>\n<parameter name='ss.capability.execution-order[0]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[1]' value='mS-mac-address-assign' />\n<parameter name='ss.capability.execution-order[2]' value='eipam-ip-assign' />\n<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[4]' value='mS-vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[5]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[6]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[7]' value='generate-name' />\n<parameter name='ss.capability.execution-order_length' value='8' />","comments":"","x":455.9166946411133,"y":163,"z":"6680f8ca.ebffb8","wires":[]},{"id":"9e65963.9a3dd68","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error from capability: '+ $ss.capability-dg + ', with error: '+ $error-message`\" />\n","comments":"","x":1555.4166564941406,"y":1117.9999961853027,"z":"6680f8ca.ebffb8","wires":[]},{"id":"a1d1bb97.069c18","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1337.035789489746,"y":763.3329639434814,"z":"6680f8ca.ebffb8","wires":[["9e65963.9a3dd68","4247535f.a8b05c","fbdfcf9e.431bd","28c4a99d.6f10c6","b86c7b66.596838","ac551aca.87f3c8"]]},{"id":"4247535f.a8b05c","type":"execute","name":"execute RestApiCallNode - PUT vf-module","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vfmodule.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vfmodule-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-ss-vfmodule\" />\n\n","comments":"","outputs":1,"x":1652.5832290649414,"y":1019.7069234848022,"z":"6680f8ca.ebffb8","wires":[["fa9ef1c0.afa1e","45457ce5.ba3554"]]},{"id":"fa9ef1c0.afa1e","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1927.1768951416016,"y":1073.7050771713257,"z":"6680f8ca.ebffb8","wires":[["56d2d025.0c556"]]},{"id":"45457ce5.ba3554","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1919.6055297851562,"y":1020.2050971984863,"z":"6680f8ca.ebffb8","wires":[["56d2d025.0c556"]]},{"id":"56d2d025.0c556","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2121.7378540039062,"y":1019.8493518829346,"z":"6680f8ca.ebffb8","wires":[["726d654.997219c"]]},{"id":"726d654.997219c","type":"configure","name":"set error-message","xml":"<set>\n<parameter name=\"error-message\" value=\"Failed to persist self-serve vf-module assignments during unassign in MD-SAL\" />\n","comments":"","outputs":1,"x":2340.0236206054688,"y":1019.9922151565552,"z":"6680f8ca.ebffb8","wires":[[]]},{"id":"fbdfcf9e.431bd","type":"set","name":"set vf data for restapi-call-node","xml":"<set>\n<parameter name='vf.vf-module-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\n<parameter name='vf.vf-module-data.sdnc-request-header.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.`' />\n<parameter name='vf.vf-module-data.request-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.`' />\n<parameter name='vf.vf-module-data.service-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.`' />\n<parameter name='vf.vf-module-data.vnf-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.`' />\n<parameter name='vf.vf-module-data.vf-module-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.`' />\n<parameter name='vf.vf-module-data.vf-module-topology.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.`' />\n<parameter name='vf.vf-module-data.vf-module-level-oper-status.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.vf-module-input-parameters.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-input-parameters.`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.request-version'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.request-version`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.vf-module-name'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-name`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.tenant'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.tenant`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.aic-cloud-region'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-cloud-region`' />\n<parameter name='vf.vf-module-data.vf-module-request-input.aic-clli'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-clli`' />","comments":"","x":1614.0952529907227,"y":763.8249406814575,"z":"6680f8ca.ebffb8","wires":[]},{"id":"28c4a99d.6f10c6","type":"execute","name":"generate ss-vfmodule url replace service-instance-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-vfmodule-assignments`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.service-instance-id`\"/>\n","comments":"","outputs":1,"x":1680.345199584961,"y":811.8249855041504,"z":"6680f8ca.ebffb8","wires":[[]]},{"id":"b86c7b66.596838","type":"execute","name":"generate ss-vfmodule url - replace vnf-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vfmodule-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.vnf-id`\"/>\n","comments":"","outputs":1,"x":1644.6308975219727,"y":859.8839025497437,"z":"6680f8ca.ebffb8","wires":[[]]},{"id":"ac551aca.87f3c8","type":"execute","name":"generate ss-vfmodule url - replace vf-module-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vfmodule-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vfmodule-url\"/>\n <parameter name=\"target\" value=\"{vf-module-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\"/>\n","comments":"","outputs":1,"x":1666.5715713500977,"y":909.8004026412964,"z":"6680f8ca.ebffb8","wires":[[]]},{"id":"9c2ed3b1.7a9c5","type":"set","name":"set ss.capability-type = vf-module","xml":"<set>\n<parameter name='ss.capability-type' value='vf-module' />\n","comments":"","x":456.52378845214844,"y":206.00000667572021,"z":"6680f8ca.ebffb8","wires":[]},{"id":"6d9494a.3f2206c","type":"other","name":"DELETED","xml":"<outcome value='DELETED'>\n","comments":"","outputs":1,"x":781.6666564941406,"y":859.642879486084,"z":"6680f8ca.ebffb8","wires":[["d7a7bd94.ef4ff"]]},{"id":"c4930fe.fd50af","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to unassign self-serve vf-module assignments because the status for ' + $ss.capability-name + ' is ' + $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[$pidx].resource-resolution-data.status`\"/>","comments":"","x":1132.4047012329102,"y":1027.1905879974365,"z":"6680f8ca.ebffb8","wires":[]},{"id":"d7a7bd94.ef4ff","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":938.1666488647461,"y":859.6428680419922,"z":"6680f8ca.ebffb8","wires":[[]]},{"id":"862297c.bf59968","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":771.7380523681641,"y":991.8571815490723,"z":"6680f8ca.ebffb8","wires":[["4834af54.75b2c"]]},{"id":"ffba3e5c.b7c54","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=\"`'SS: resource-resolution-data.status: ' + $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[$pidx].resource-resolution-data.status`\"/>\n<parameter name=\"field2\" value=\"`'SS: ss.capability-name: ' + $ss.capability-name`\"/>\n","comments":"","outputs":1,"x":1112.0239181518555,"y":951.1905632019043,"z":"6680f8ca.ebffb8","wires":[[]]},{"id":"4834af54.75b2c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":939.4523468017578,"y":991.8572330474854,"z":"6680f8ca.ebffb8","wires":[["ffba3e5c.b7c54","c4930fe.fd50af"]]},{"id":"d21e6f1d.1016c","type":"for","name":"foreach vf-module-parameters.param[]","xml":"<for index='pidx' start='0' end='`$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_length`' >\n","comments":"","outputs":1,"x":765.6665954589844,"y":395.5952453613281,"z":"6680f8ca.ebffb8","wires":[["36153975.73d276","2926b6d0.39b40a"]]},{"id":"36153975.73d276","type":"switchNode","name":"switch capability-name param vs. execution","xml":"<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n","comments":"","outputs":1,"x":1138.0594177246094,"y":441.2380380630493,"z":"6680f8ca.ebffb8","wires":[["b81d1a56.666918"]]},{"id":"b81d1a56.666918","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1401.5594177246094,"y":441.4880380630493,"z":"6680f8ca.ebffb8","wires":[["8fa17821.c8c998"]]},{"id":"2926b6d0.39b40a","type":"set","name":"tmp.param.capability-name","xml":"<set>\n<parameter name='tmp.param.capability-name' value='`$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[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1087.4164428710938,"y":395.8452482223511,"z":"6680f8ca.ebffb8","wires":[]},{"id":"4adf8877.8b7b48","type":"for","name":"for each vf module","xml":"<for index='idx' start='`$vf-module-index + 1`' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n","comments":"","outputs":1,"x":1000.8887634277344,"y":1207.142822265625,"z":"6680f8ca.ebffb8","wires":[["794c2919.51d0e8"]]},{"id":"70cab900.ea1ee8","type":"comment","name":"Remove VF Module from service data","info":"","comments":"","x":350.7142639160156,"y":1162.3812627792358,"z":"6680f8ca.ebffb8","wires":[]},{"id":"794c2919.51d0e8","type":"set","name":"move vf module to remove one","xml":"<set>\n\t<parameter name=\"tmpidx\" value=\"`$idx - 1`\"/>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmpidx].\" value=\"$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].\" />\n\t\n","comments":"","x":1244.4798965454102,"y":1207.1667881011963,"z":"6680f8ca.ebffb8","wires":[]},{"id":"65e92b38.4daee4","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":418.1466827392578,"y":1218.4844932556152,"z":"6680f8ca.ebffb8","wires":[["586a0bd3.b18144","bc68084b.283918"]]},{"id":"586a0bd3.b18144","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":613.4800491333008,"y":1169.389100074768,"z":"6680f8ca.ebffb8","wires":[["ed8959f0.36d8a8"]]},{"id":"ed8959f0.36d8a8","type":"set","name":"Remove vf modules","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.\" value=\"\"/>\n\n","comments":"","x":785.4798202514648,"y":1169.3892192840576,"z":"6680f8ca.ebffb8","wires":[]},{"id":"bc68084b.283918","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":612.1468048095703,"y":1263.1509094238281,"z":"6680f8ca.ebffb8","wires":[["caf3c8d0.bea748"]]},{"id":"7578e2bc.143aac","type":"set","name":"set new vf module length","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length\" value=\"`$lastidx`\"/>\n\n\t\n","comments":"","x":1019.7762985229492,"y":1334.8652992248535,"z":"6680f8ca.ebffb8","wires":[]},{"id":"d8df61bf.20743","type":"set","name":"Remove the last vf module in the list","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lastidx].\" value=\"\"/>\n","comments":"","x":1055.4799118041992,"y":1290.9764366149902,"z":"6680f8ca.ebffb8","wires":[]},{"id":"caf3c8d0.bea748","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":769.3847351074219,"y":1263.3889112472534,"z":"6680f8ca.ebffb8","wires":[["4adf8877.8b7b48","d8df61bf.20743","7578e2bc.143aac","c6fed918.aacf78"]]},{"id":"c6fed918.aacf78","type":"set","name":"set lastidx","xml":"<set>\n<parameter name='lastidx' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`' />\n","comments":"EIPAM plug-in needs this attribute set with this name","x":973.6190795898438,"y":1247.3811359405518,"z":"6680f8ca.ebffb8","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.json
new file mode 100644
index 00000000..e6ee122f
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.json
@@ -0,0 +1,341 @@
+[
+ {
+ "id": "22eab388.16eaf4",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 261.25,
+ "y": 35,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "94105a8.3e56d28"
+ ]
+ ]
+ },
+ {
+ "id": "94105a8.3e56d28",
+ "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": 537.25,
+ "y": 36,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "31e05f30.9bc35"
+ ]
+ ]
+ },
+ {
+ "id": "31e05f30.9bc35",
+ "type": "method",
+ "name": "self-serve-vfmodule-changeassign ",
+ "xml": "<method rpc='self-serve-vfmodule-changeassign' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 870.25,
+ "y": 37,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "ee5ed489.b65008"
+ ]
+ ]
+ },
+ {
+ "id": "ee5ed489.b65008",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 279.75,
+ "y": 118,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "95b7958e.623f",
+ "da8442bf.f537b"
+ ]
+ ]
+ },
+ {
+ "id": "42b47e59.9697a8",
+ "type": "set",
+ "name": "set",
+ "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.vf-module-parameters.param[$j].resource-resolution-data.status`' value='PENDING'/>\n <parameter name='ss.input.param.index' value='`$i`' />\n <parameter name='ss.service-data.param.index' value='`$j`' />",
+ "comments": "",
+ "x": 1496.25,
+ "y": 536,
+ "z": "46b207bc.3f592",
+ "wires": []
+ },
+ {
+ "id": "95b7958e.623f",
+ "type": "switchNode",
+ "name": "switch vf-module-input-parameters",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 522.25,
+ "y": 161,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "18fa94ab.fe4b7b"
+ ]
+ ]
+ },
+ {
+ "id": "18fa94ab.fe4b7b",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 752.3928833007812,
+ "y": 160.85714721679688,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "bf2bc904.dd0a38"
+ ]
+ ]
+ },
+ {
+ "id": "bf2bc904.dd0a38",
+ "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 param name/value provided in vf-module-request-input\" />\n",
+ "comments": "",
+ "x": 925.25,
+ "y": 161,
+ "z": "46b207bc.3f592",
+ "wires": []
+ },
+ {
+ "id": "da8442bf.f537b",
+ "type": "for",
+ "name": "for vf-module-input-parameters.param index i",
+ "xml": "<for index='i' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 555.25,
+ "y": 230,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "977e46f6.877358"
+ ]
+ ]
+ },
+ {
+ "id": "977e46f6.877358",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 793.25,
+ "y": 285,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "201c0f41.e053b8"
+ ]
+ ]
+ },
+ {
+ "id": "201c0f41.e053b8",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$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_length`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 964.25,
+ "y": 285,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "108e76a3.9cd481"
+ ]
+ ]
+ },
+ {
+ "id": "108e76a3.9cd481",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 712.25,
+ "y": 369,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "4d1767d8.2a9c3"
+ ]
+ ]
+ },
+ {
+ "id": "4d1767d8.2a9c3",
+ "type": "for",
+ "name": "for service-data.vnf-parameters-data.param index j",
+ "xml": "<for index='j' start='0' end='`$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_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1004.25,
+ "y": 369,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "8891bef1.8502d"
+ ]
+ ]
+ },
+ {
+ "id": "8891bef1.8502d",
+ "type": "switchNode",
+ "name": "switch input vnf-name",
+ "xml": "<switch test='`$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[$j].name == $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 947.25,
+ "y": 463,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "5274d8ce.a623c",
+ "654491e7.62d698"
+ ]
+ ]
+ },
+ {
+ "id": "654491e7.62d698",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1160.25,
+ "y": 536,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "4262d0f1.813fb"
+ ]
+ ]
+ },
+ {
+ "id": "5274d8ce.a623c",
+ "type": "not-found",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1168.25,
+ "y": 418,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "ff6ddcf3.7baac8"
+ ]
+ ]
+ },
+ {
+ "id": "ff6ddcf3.7baac8",
+ "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 param with param[].name = ' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + ' found in service-data.'`\" />\n",
+ "comments": "",
+ "x": 1373.25,
+ "y": 417,
+ "z": "46b207bc.3f592",
+ "wires": []
+ },
+ {
+ "id": "4262d0f1.813fb",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1321.25,
+ "y": 535,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "42b47e59.9697a8",
+ "bd5eede2.612be8"
+ ]
+ ]
+ },
+ {
+ "id": "bd5eede2.612be8",
+ "type": "call",
+ "name": "call self-serve-generate-name-changeassign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-generate-name-changeassign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1613.25,
+ "y": 612,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "4bb46cb.5d8d914",
+ "566ddacf.c229b4"
+ ]
+ ]
+ },
+ {
+ "id": "4bb46cb.5d8d914",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1863.25,
+ "y": 584,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "b50ec2c9.740af8"
+ ]
+ ]
+ },
+ {
+ "id": "566ddacf.c229b4",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1873.25,
+ "y": 652,
+ "z": "46b207bc.3f592",
+ "wires": [
+ [
+ "b50ec2c9.740af8"
+ ]
+ ]
+ },
+ {
+ "id": "b50ec2c9.740af8",
+ "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 from self-service-generate-name-changeassign\" />\n",
+ "comments": "",
+ "x": 2062.25,
+ "y": 583,
+ "z": "46b207bc.3f592",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.json
index b15f2be8..44e0199e 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.json
@@ -1,1038 +1 @@
-[
- {
- "id": "c9662316.ac32e",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 140,
- "y": 71,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "21b107f1.c4e3d"
- ]
- ]
- },
- {
- "id": "21b107f1.c4e3d",
- "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": 416,
- "y": 72,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "d31bcb5e.2d5ca8"
- ]
- ]
- },
- {
- "id": "d31bcb5e.2d5ca8",
- "type": "method",
- "name": "self-serve-vfmodule-ra-assignment",
- "xml": "<method rpc='self-serve-vfmodule-ra-assignment' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 767,
- "y": 72,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "9ca2bb77.96bf4"
- ]
- ]
- },
- {
- "id": "9ca2bb77.96bf4",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 152.5,
- "y": 154,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "2c0fae33.03506a",
- "596beaf0.87988c",
- "7ef17c42.39d2c4",
- "32736a18.7a6e3e",
- "73f5ad8e.f8c2b4",
- "1ce514a9.9e4f13",
- "1d654029.0ef398",
- "bfb02940.6bc4e",
- "ddd3f7c.3d06a88",
- "2a15b80c.c3724"
- ]
- ]
- },
- {
- "id": "596beaf0.87988c",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"request-id\" value=\"`$tmp.return.generate.vnf-se-serv-uuid`\"/>\n <parameter name=\"resource-type\" value=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-type`\" /> \n <parameter name=\"resource-id\" value=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-id`\" /> \n <parameter name=\"action-name\" value=\"resource-assignment-action\"/> \n <parameter name=\"responsePrefix\" value=\"sriovAssign\" />\n",
- "comments": "",
- "x": 337,
- "y": 200,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "3343905.7d2db7",
- "type": "outcome",
- "name": "true",
- "xml": "<outcome value='true'>",
- "comments": "",
- "outputs": 1,
- "x": 615.714241027832,
- "y": 583.7142734527588,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "5ca9b35e.48b424"
- ]
- ]
- },
- {
- "id": "32736a18.7a6e3e",
- "type": "for",
- "name": "for vf-module-topology-operation-input",
- "xml": "<for index='i' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >",
- "comments": "",
- "outputs": 1,
- "x": 436.71431732177734,
- "y": 417.7143135070801,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "608765da.d64014"
- ]
- ]
- },
- {
- "id": "b1a3d4f4.dab168",
- "type": "set",
- "name": "set tmp.sdnc-model-name",
- "xml": "<set>\n<parameter name='tmp.sdnc-model-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].value`' />\n",
- "comments": "",
- "x": 1183.428565979004,
- "y": 350.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "9432ab6d.80ccd8",
- "type": "outcome",
- "name": "sdnc_model_name",
- "xml": "<outcome value='sdnc_model_name'>\n",
- "comments": "",
- "outputs": 1,
- "x": 929.4285659790039,
- "y": 350.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "b1a3d4f4.dab168"
- ]
- ]
- },
- {
- "id": "608765da.d64014",
- "type": "switchNode",
- "name": "switch",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].name`'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 691.4285659790039,
- "y": 417.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "9432ab6d.80ccd8",
- "16c88141.7648bf",
- "a413dd31.e3a578",
- "4598c824.2fd3b8"
- ]
- ]
- },
- {
- "id": "16c88141.7648bf",
- "type": "outcome",
- "name": "sdnc_model_version",
- "xml": "<outcome value='sdnc_model_version'>\n",
- "comments": "",
- "outputs": 1,
- "x": 932.4285659790039,
- "y": 396.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "326cbf96.c3fe8"
- ]
- ]
- },
- {
- "id": "a413dd31.e3a578",
- "type": "outcome",
- "name": "vf_module_label",
- "xml": "<outcome value='vf_module_label'>\n",
- "comments": "",
- "outputs": 1,
- "x": 917.4285659790039,
- "y": 445.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "2dac59d5.d60f76"
- ]
- ]
- },
- {
- "id": "326cbf96.c3fe8",
- "type": "set",
- "name": "set tmp.sdnc-model-version",
- "xml": "<set>\n<parameter name='tmp.sdnc-model-version' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].value`' />\n\n",
- "comments": "",
- "x": 1187.428565979004,
- "y": 396.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "2dac59d5.d60f76",
- "type": "set",
- "name": "set tmp.vf-module-label",
- "xml": "<set>\n<parameter name='tmp.vf-module-label' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].value`' />\n\n",
- "comments": "",
- "x": 1169.428565979004,
- "y": 445.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "c56fc5e4.f56c68",
- "type": "set",
- "name": "set name-value other JsonString",
- "xml": "<set>\n<parameter name=\"tmp.config-name-value-other-payload\" value=\"`$tmp.config-name-value-other-payload + '&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].name + '&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].value + '&quot;,'`\"/>\n\n",
- "comments": "",
- "x": 1187.428565979004,
- "y": 496.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "4598c824.2fd3b8",
- "type": "outcome",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 889.4285659790039,
- "y": 496.1428813934326,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "c56fc5e4.f56c68"
- ]
- ]
- },
- {
- "id": "73f5ad8e.f8c2b4",
- "type": "set",
- "name": "set configAssignment JsonString",
- "xml": "<set>\n\t<parameter name=\"tmp.config-name-value-payload4\" value=\"`$tmp.config-name-value-other-payload + '&quot;service-instance-id&quot;:&quot;' + $vf-module-topology-operation-input.service-information.service-instance-id + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload5\" value=\"`$tmp.config-name-value-payload4 + '&quot;vnf-id&quot;:&quot;' + $vf-module-topology-operation-input.vnf-information.vnf-id + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload6\" value=\"`$tmp.config-name-value-payload5 + '&quot;vf-module-model-customization-uuid&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload7\" value=\"`$tmp.config-name-value-payload6 + '&quot;vnf-model-customization-uuid&quot;:&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-customization-uuid + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload8\" value=\"`$tmp.config-name-value-payload7 + '&quot;vf-module-id&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload9\" value=\"`$tmp.config-name-value-payload8 + '&quot;aic-cloud-region&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region + '&quot;'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload91\" value=\"`'{' + $tmp.config-name-value-payload9 + '}'`\" />\n\t\n",
- "comments": "",
- "x": 408,
- "y": 710,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "1ce514a9.9e4f13",
- "type": "execute",
- "name": "execute ConfigAssignment",
- "xml": "<execute plugin='org.openecomp.sdnc.config.assignment.service.ConfigAssignmentNode' method='process'>\n\t<parameter name=\"request-id\" value='`$request-id`' />\n\t<parameter name=\"resource-id\" value='`$resource-id`' /> \n\t<parameter name=\"resource-type\" value='`$resource-type`' />\n\t<parameter name=\"action-name\" value='`$action-name`' />\n\t<parameter name=\"template-names\" value=\"`'[&quot;' + $tmp.vf-module-label + '&quot;]'`\" />\n\t<parameter name=\"service-template-name\" value='`$tmp.sdnc-model-name`' />\n\t<parameter name=\"service-template-version\" value='`$tmp.sdnc-model-version`' />\n\t<parameter name='input-data' value='`$tmp.config-name-value-payload91`' />\n\t<parameter name=\"prifix\" value=\"sriovAssign\" />",
- "comments": "",
- "outputs": 1,
- "x": 394,
- "y": 788,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "e80696e3.2921b",
- "5b41a4d9.9a6094"
- ]
- ]
- },
- {
- "id": "e80696e3.2921b",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 584,
- "y": 764,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "f656773c.1942a"
- ]
- ]
- },
- {
- "id": "f656773c.1942a",
- "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 from ConfigAssignmentNode\" />\n",
- "comments": "",
- "x": 782,
- "y": 764,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "bfb02940.6bc4e",
- "type": "for",
- "name": "for resource-accumulator-resolved-data loop",
- "xml": "<for index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 440,
- "y": 947,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "db7d4151.0bea98"
- ]
- ]
- },
- {
- "id": "ab9a8a47.e5b7a",
- "type": "set",
- "name": "set from resource-accumulator-resolved-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.vf-module-parameters.param[$highnum].name`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'/>\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[$highnum].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>\n<parameter name='highnum' value='`$highnum + 1`' />\n",
- "comments": "",
- "x": 1472,
- "y": 999,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "ddd3f7c.3d06a88",
- "type": "for",
- "name": "for capability-data",
- "xml": "<for index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 359,
- "y": 1210,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "f9174c91.e66bd"
- ]
- ]
- },
- {
- "id": "45ea44cc.7145e4",
- "type": "for",
- "name": "for key-mapping",
- "xml": "<for index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >",
- "comments": "",
- "outputs": 1,
- "x": 749,
- "y": 1250,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "3a33ccb3.6e1eec"
- ]
- ]
- },
- {
- "id": "f9174c91.e66bd",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 536,
- "y": 1210,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "5d4b471e.9a6278",
- "45ea44cc.7145e4"
- ]
- ]
- },
- {
- "id": "5d4b471e.9a6278",
- "type": "set",
- "name": "set counter",
- "xml": "<set>\n<parameter name='num' value='0' />",
- "comments": "",
- "x": 710,
- "y": 1186,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "1d654029.0ef398",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"`'sriovAssign.mashed-data.' + $tmp.vf-module-label`\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 384,
- "y": 868,
- "z": "ef8bfa93.df0a88",
- "wires": [
- []
- ]
- },
- {
- "id": "2c0fae33.03506a",
- "type": "execute",
- "name": "execute generateUUID",
- "xml": " <execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" > \n <parameter name=\"ctx-destination\" value=\"tmp.return.generate.vnf-se-serv-uuid\" /> \n ",
- "comments": "",
- "outputs": 1,
- "x": 382,
- "y": 154,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "1479b86b.88bcf8"
- ]
- ]
- },
- {
- "id": "1479b86b.88bcf8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 587,
- "y": 154,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "85890471.7922f8"
- ]
- ]
- },
- {
- "id": "85890471.7922f8",
- "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=\"generateUUID is failed\" />\n",
- "comments": "",
- "x": 751,
- "y": 153,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "299a7a59.42e276",
- "type": "for",
- "name": "for vnf-parameters-data.param",
- "xml": "<for index='cnt' start='0' end='`$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_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1413,
- "y": 947,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "1e59b282.7615bd"
- ]
- ]
- },
- {
- "id": "db7d4151.0bea98",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 719,
- "y": 948,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "494eddf.a3c6824",
- "84e97247.edaa68",
- "a43a651a.cb999"
- ]
- ]
- },
- {
- "id": "7ef17c42.39d2c4",
- "type": "switchNode",
- "name": "switch vf-parameters-data.param_length",
- "xml": "<switch test='`$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_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 454,
- "y": 255,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "fb6f83cb.1cddd8",
- "5a450db0.8182fc"
- ]
- ]
- },
- {
- "id": "fb6f83cb.1cddd8",
- "type": "outcome",
- "name": "null",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 717.1428833007812,
- "y": 222.85715293884277,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "756afc2e.e2ed0c"
- ]
- ]
- },
- {
- "id": "5a450db0.8182fc",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 716.1428833007812,
- "y": 286.8571529388428,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "f1c2e566.b878b"
- ]
- ]
- },
- {
- "id": "756afc2e.e2ed0c",
- "type": "set",
- "name": "set pre service param len as 0",
- "xml": "<set>\n <parameter name='highnum' value='0' />\n <parameter name='prehighnum' value='0'/>\n",
- "comments": "",
- "x": 930.1428833007812,
- "y": 222.85715293884277,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "f1c2e566.b878b",
- "type": "set",
- "name": "set pre service param len",
- "xml": "<set>\n <parameter name='highnum' value='`$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_length`' />\n <parameter name='prehighnum' value='`$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_length`' />",
- "comments": "",
- "x": 915.1428833007812,
- "y": 286.8571529388428,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "1e59b282.7615bd",
- "type": "switchNode",
- "name": "switch input vnf-name",
- "xml": "<switch test='`$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[$cnt].name == $jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1671,
- "y": 947,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "f957b9e3.d73258"
- ]
- ]
- },
- {
- "id": "f957b9e3.d73258",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1851,
- "y": 947,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "9990f366.a5d44"
- ]
- ]
- },
- {
- "id": "9990f366.a5d44",
- "type": "set",
- "name": "set for existing param name",
- "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.vf-module-parameters.param[$cnt].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>\n<parameter name='tmp.mso.param.found' value='true' />\n",
- "comments": "",
- "x": 2061,
- "y": 948,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "a43a651a.cb999",
- "type": "switchNode",
- "name": "switch tmp.mso.param.not-found",
- "xml": "<switch test='`$tmp.mso.param.found`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 961,
- "y": 1000,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "3b81a77e.2652c8"
- ]
- ]
- },
- {
- "id": "3b81a77e.2652c8",
- "type": "not-found",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1195,
- "y": 999,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "ab9a8a47.e5b7a"
- ]
- ]
- },
- {
- "id": "494eddf.a3c6824",
- "type": "set",
- "name": "set for existing param name",
- "xml": "<set>\n<parameter name='tmp.mso.param.found' value='false' />\n",
- "comments": "",
- "x": 945,
- "y": 889,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "84e97247.edaa68",
- "type": "switchNode",
- "name": "switch check length > 0",
- "xml": "<switch test='`$prehighnum &gt; 0`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 937.5,
- "y": 948,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "69b58dbb.69cf14"
- ]
- ]
- },
- {
- "id": "69b58dbb.69cf14",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1184.5,
- "y": 948,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "299a7a59.42e276"
- ]
- ]
- },
- {
- "id": "c7550dfb.7c233",
- "type": "for",
- "name": "for payload",
- "xml": "<for index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >",
- "comments": "",
- "outputs": 1,
- "x": 1980,
- "y": 1301,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "4fe60d9.7cf3174"
- ]
- ]
- },
- {
- "id": "f16717f0.87dca",
- "type": "set",
- "name": "set resource-key",
- "xml": "<set>\n\t<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[$highnum].resource-resolution-data.resource-key[$num].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-name`'/>\n\t<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[$highnum].resource-resolution-data.resource-key[$num].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-value`'/>\n\t\n",
- "comments": "",
- "x": 2381,
- "y": 1298,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "2781e088.ca7918",
- "type": "set",
- "name": "set output-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.vf-module-parameters.param[$highnum].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-name`'/>\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[$highnum].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-value`'/>\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[$highnum].resource-resolution-data.capability-name`' value='`$jsonContextPrefix.capability-data[$i].capability-name`'/>\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[$highnum].resource-resolution-data.status`' value='PENDING'/>",
- "comments": "",
- "x": 1558,
- "y": 1203,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "3b54118e.faf90e",
- "type": "for",
- "name": "for output-key-mapping",
- "xml": "<for index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >",
- "comments": "",
- "outputs": 1,
- "x": 1166,
- "y": 1250,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "a9d3248b.7f1778"
- ]
- ]
- },
- {
- "id": "3a33ccb3.6e1eec",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 967,
- "y": 1251,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "3b54118e.faf90e"
- ]
- ]
- },
- {
- "id": "a9d3248b.7f1778",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1361,
- "y": 1249,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "2781e088.ca7918",
- "4ee85384.52e0fc",
- "c974039b.190718"
- ]
- ]
- },
- {
- "id": "c974039b.190718",
- "type": "set",
- "name": "set length",
- "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.vf-module-parameters.param_length`' value='`$highnum + 1`'/>\n<parameter name='highnum' value='`$highnum + 1`' />\n",
- "comments": "",
- "x": 1557,
- "y": 1301,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "5b41a4d9.9a6094",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 589,
- "y": 826,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "f656773c.1942a"
- ]
- ]
- },
- {
- "id": "4ee85384.52e0fc",
- "type": "switchNode",
- "name": "switch payload_length",
- "xml": "<switch test=\"`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 1587,
- "y": 1250,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "4707dd6b.5ca8dc",
- "b4417e84.e898c8"
- ]
- ]
- },
- {
- "id": "4707dd6b.5ca8dc",
- "type": "outcome",
- "name": "true",
- "xml": "<outcome value='true'>",
- "comments": "",
- "outputs": 1,
- "x": 1802,
- "y": 1182,
- "z": "ef8bfa93.df0a88",
- "wires": [
- []
- ]
- },
- {
- "id": "b4417e84.e898c8",
- "type": "other",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1811,
- "y": 1301,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "c7550dfb.7c233"
- ]
- ]
- },
- {
- "id": "2a15b80c.c3724",
- "type": "switchNode",
- "name": "switch: model info == NULL",
- "xml": "<switch test=\"`$tmp.sdnc-model-name == '' or $tmp.sdnc-model-version == '' or $tmp.vf-module-label == ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 404.2856979370117,
- "y": 583.8571634292603,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "3343905.7d2db7"
- ]
- ]
- },
- {
- "id": "b7aa9106.9bd0c8",
- "type": "get-resource",
- "name": "get VF_MODEL.sdnc_model_name",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db1.vf-model'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1082.4285278320312,
- "y": 584.7142745256424,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "7239169c.68f35",
- "d4787498.b5b308"
- ]
- ]
- },
- {
- "id": "7239169c.68f35",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1325.6427459716797,
- "y": 585.0951337814331,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "403c103e.67045"
- ]
- ]
- },
- {
- "id": "403c103e.67045",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n",
- "comments": "",
- "x": 1506.6427268981934,
- "y": 585.2380409240723,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "feba8980.827e58",
- "type": "get-resource",
- "name": "get VF_MODULE_MODEL.vf-module-label",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT vf_module_label from VF_MODULE_MODEL WHERE vf_customization_uuid = $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db1.vf-module-model'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1106.380844116211,
- "y": 674.8095637559891,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "9cd72e61.04e98",
- "53281c4d.8fc69c"
- ]
- ]
- },
- {
- "id": "9cd72e61.04e98",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1385.1664276123047,
- "y": 675.1903877258301,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "5e04ead0.dcafdc"
- ]
- ]
- },
- {
- "id": "5e04ead0.dcafdc",
- "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": 1560.166358947754,
- "y": 675.333288192749,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "53281c4d.8fc69c",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1390.380874633789,
- "y": 722.0952731370926,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "a6aee77a.fe795"
- ]
- ]
- },
- {
- "id": "5ca9b35e.48b424",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 791.2380218505859,
- "y": 584.0952693223953,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "b7aa9106.9bd0c8",
- "feba8980.827e58"
- ]
- ]
- },
- {
- "id": "9facc6ca.2e06a",
- "type": "set",
- "name": "set sdnc-model-name, sdnc-model-version",
- "xml": "<set>\n<parameter name='tmp.sdnc-model-name' value='`$db1.vf-model.sdnc-model-name`' />\n<parameter name='tmp.sdnc-model-version' value='`$db1.vf-model.sdnc-model-version`' />\n\n\n\n",
- "comments": "",
- "x": 1602.4285888671875,
- "y": 627.7143096923828,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "d4787498.b5b308",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1331.0000610351562,
- "y": 627.9999847412109,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "9facc6ca.2e06a"
- ]
- ]
- },
- {
- "id": "a6aee77a.fe795",
- "type": "set",
- "name": "set vf-module-label",
- "xml": "<set>\n<parameter name='tmp.vf-module-label' value='`$db1.vf-module-model.vf-module-label`' />\n\n\n\n",
- "comments": "",
- "x": 1658.5714111328125,
- "y": 722.4286041259766,
- "z": "ef8bfa93.df0a88",
- "wires": []
- },
- {
- "id": "4fe60d9.7cf3174",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2157,
- "y": 1300,
- "z": "ef8bfa93.df0a88",
- "wires": [
- [
- "f16717f0.87dca",
- "a2fc5423.e959a"
- ]
- ]
- },
- {
- "id": "a2fc5423.e959a",
- "type": "set",
- "name": "set length",
- "xml": "<set>\n\t<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[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>\n\t<parameter name='num' value='`$num + 1`' />\n",
- "comments": "",
- "x": 2388,
- "y": 1373,
- "z": "ef8bfa93.df0a88",
- "wires": []
- }
-] \ No newline at end of file
+[{"id":"476b000d.d7803","type":"dgstart","name":"DGSTART","outputs":1,"x":130,"y":54,"z":"a96f23c2.2ebc8","wires":[["bf753307.edcd3"]]},{"id":"bf753307.edcd3","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":406,"y":55,"z":"a96f23c2.2ebc8","wires":[["74dbab98.015134"]]},{"id":"74dbab98.015134","type":"method","name":"self-serve-vfmodule-ra-assignment","xml":"<method rpc='self-serve-vfmodule-ra-assignment' mode='sync'>\n","comments":"","outputs":1,"x":757,"y":55,"z":"a96f23c2.2ebc8","wires":[["29dd0f37.7dbfa"]]},{"id":"29dd0f37.7dbfa","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":142.5,"y":137,"z":"a96f23c2.2ebc8","wires":[["1d79ed37.3b6db3","ca9eb757.c6b488","51b8b9b6.d5086","46824e71.08109","b0948a47.ac96c","8e4b753b.4e60f8","a4d17d56.8acbe","b9889a97.e7b1d8","1bb34b01.d4a6e5","c1bae7b1.410c"]]},{"id":"ca9eb757.c6b488","type":"set","name":"set","xml":"<set>\n <parameter name=\"request-id\" value=\"`$tmp.return.generate.vnf-se-serv-uuid`\"/>\n <parameter name=\"resource-type\" value=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-type`\" /> \n <parameter name=\"resource-id\" value=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-id`\" /> \n <parameter name=\"action-name\" value=\"resource-assignment-action\"/> \n <parameter name=\"responsePrefix\" value=\"sriovAssign\" />\n","comments":"","x":327,"y":183,"z":"a96f23c2.2ebc8","wires":[]},{"id":"449062d3.3fe1ec","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":603.2142486572266,"y":535.4642963409424,"z":"a96f23c2.2ebc8","wires":[["688d6a44.29fae4"]]},{"id":"46824e71.08109","type":"for","name":"for vf-module-topology-operation-input","xml":"<for index='i' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >","comments":"","outputs":1,"x":426.71431732177734,"y":400.7143135070801,"z":"a96f23c2.2ebc8","wires":[["69287486.1f507c"]]},{"id":"8a4e8cac.f74f8","type":"set","name":"set tmp.sdnc-model-name","xml":"<set>\n<parameter name='tmp.sdnc-model-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].value`' />\n","comments":"","x":1173.428565979004,"y":333.1428813934326,"z":"a96f23c2.2ebc8","wires":[]},{"id":"9db3c97.1810db8","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":919.4285659790039,"y":333.1428813934326,"z":"a96f23c2.2ebc8","wires":[["8a4e8cac.f74f8"]]},{"id":"69287486.1f507c","type":"switchNode","name":"switch","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].name`'>\n\n","comments":"","outputs":1,"x":681.4285659790039,"y":400.1428813934326,"z":"a96f23c2.2ebc8","wires":[["9db3c97.1810db8","80765d40.2fc828","d85e0941.8b7958","89291cb6.db58d"]]},{"id":"80765d40.2fc828","type":"outcome","name":"sdnc_model_version","xml":"<outcome value='sdnc_model_version'>\n","comments":"","outputs":1,"x":922.4285659790039,"y":379.1428813934326,"z":"a96f23c2.2ebc8","wires":[["ff078fb6.b9f58"]]},{"id":"d85e0941.8b7958","type":"outcome","name":"vf_module_label","xml":"<outcome value='vf_module_label'>\n","comments":"","outputs":1,"x":907.4285659790039,"y":428.1428813934326,"z":"a96f23c2.2ebc8","wires":[["8631b2cf.8ad2a8"]]},{"id":"ff078fb6.b9f58","type":"set","name":"set tmp.sdnc-model-version","xml":"<set>\n<parameter name='tmp.sdnc-model-version' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].value`' />\n\n","comments":"","x":1177.428565979004,"y":379.1428813934326,"z":"a96f23c2.2ebc8","wires":[]},{"id":"8631b2cf.8ad2a8","type":"set","name":"set tmp.vf-module-label","xml":"<set>\n<parameter name='tmp.vf-module-label' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].value`' />\n\n","comments":"","x":1159.428565979004,"y":428.1428813934326,"z":"a96f23c2.2ebc8","wires":[]},{"id":"b674a6a3.b6a8f","type":"set","name":"set name-value other JsonString","xml":"<set>\n<parameter name=\"tmp.config-name-value-other-payload\" value=\"`$tmp.config-name-value-other-payload + '&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].name + '&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].value + '&quot;,'`\"/>\n\n","comments":"","x":1177.428565979004,"y":479.1428813934326,"z":"a96f23c2.2ebc8","wires":[]},{"id":"89291cb6.db58d","type":"outcome","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":879.4285659790039,"y":479.1428813934326,"z":"a96f23c2.2ebc8","wires":[["b674a6a3.b6a8f"]]},{"id":"b0948a47.ac96c","type":"set","name":"set configAssignment JsonString","xml":"<set>\n\t<parameter name=\"tmp.config-name-value-payload4\" value=\"`$tmp.config-name-value-other-payload + '&quot;service-instance-id&quot;:&quot;' + $vf-module-topology-operation-input.service-information.service-instance-id + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload5\" value=\"`$tmp.config-name-value-payload4 + '&quot;vnf-id&quot;:&quot;' + $vf-module-topology-operation-input.vnf-information.vnf-id + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload6\" value=\"`$tmp.config-name-value-payload5 + '&quot;vf-module-model-customization-uuid&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload7\" value=\"`$tmp.config-name-value-payload6 + '&quot;vnf-model-customization-uuid&quot;:&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-customization-uuid + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload8\" value=\"`$tmp.config-name-value-payload7 + '&quot;vf-module-id&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + '&quot;,'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload9\" value=\"`$tmp.config-name-value-payload8 + '&quot;aic-cloud-region&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region + '&quot;'`\"/>\n\t<parameter name=\"tmp.config-name-value-payload91\" value=\"`'{' + $tmp.config-name-value-payload9 + '}'`\" />\n\t\n","comments":"","x":398,"y":693,"z":"a96f23c2.2ebc8","wires":[]},{"id":"8e4b753b.4e60f8","type":"execute","name":"execute ConfigAssignment","xml":"<execute plugin='org.onap.ccsdk.config.assignment.service.ConfigAssignmentNode' method='process'>\n\t<parameter name=\"request-id\" value='`$request-id`' />\n\t<parameter name=\"resource-id\" value='`$resource-id`' /> \n\t<parameter name=\"resource-type\" value='`$resource-type`' />\n\t<parameter name=\"action-name\" value='`$action-name`' />\n\t<parameter name=\"template-names\" value=\"`'[&quot;' + $tmp.vf-module-label + '&quot;]'`\" />\n\t<parameter name=\"service-template-name\" value='`$tmp.sdnc-model-name`' />\n\t<parameter name=\"service-template-version\" value='`$tmp.sdnc-model-version`' />\n\t<parameter name='input-data' value='`$tmp.config-name-value-payload91`' />\n\t<parameter name=\"prifix\" value=\"sriovAssign\" />","comments":"","outputs":1,"x":384,"y":771,"z":"a96f23c2.2ebc8","wires":[["a2f971ca.867398","aadc7de2.58d3d8"]]},{"id":"a2f971ca.867398","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":574,"y":747,"z":"a96f23c2.2ebc8","wires":[["b4705665.d766d"]]},{"id":"b4705665.d766d","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 from ConfigAssignmentNode\" />\n","comments":"","x":772,"y":747,"z":"a96f23c2.2ebc8","wires":[]},{"id":"b9889a97.e7b1d8","type":"for","name":"for resource-accumulator-resolved-data loop","xml":"<for index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >\n","comments":"","outputs":1,"x":430,"y":930,"z":"a96f23c2.2ebc8","wires":[["81c118af.e06068"]]},{"id":"49eda6d1.5e314","type":"set","name":"set from resource-accumulator-resolved-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.vf-module-parameters.param[$highnum].name`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'/>\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[$highnum].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>\n<parameter name='highnum' value='`$highnum + 1`' />\n","comments":"","x":1462,"y":982,"z":"a96f23c2.2ebc8","wires":[]},{"id":"1bb34b01.d4a6e5","type":"for","name":"for capability-data","xml":"<for index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >\n","comments":"","outputs":1,"x":349,"y":1193,"z":"a96f23c2.2ebc8","wires":[["ca5f50ec.8cb0f8"]]},{"id":"68213464.d86ad4","type":"for","name":"for key-mapping","xml":"<for index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >","comments":"","outputs":1,"x":739,"y":1233,"z":"a96f23c2.2ebc8","wires":[["2fba7fd7.3163d8"]]},{"id":"ca5f50ec.8cb0f8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":526,"y":1193,"z":"a96f23c2.2ebc8","wires":[["b83447a8.8e2b3","68213464.d86ad4"]]},{"id":"b83447a8.8e2b3","type":"set","name":"set counter","xml":"<set>\n<parameter name='num' value='0' />","comments":"","x":700,"y":1169,"z":"a96f23c2.2ebc8","wires":[]},{"id":"a4d17d56.8acbe","type":"execute","name":"execute jsonStringToCtx","xml":"<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"`'sriovAssign.mashed-data.' + $tmp.vf-module-label`\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n","comments":"","outputs":1,"x":374,"y":851,"z":"a96f23c2.2ebc8","wires":[[]]},{"id":"1d79ed37.3b6db3","type":"execute","name":"execute generateUUID","xml":" <execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" > \n <parameter name=\"ctx-destination\" value=\"tmp.return.generate.vnf-se-serv-uuid\" /> \n ","comments":"","outputs":1,"x":372,"y":137,"z":"a96f23c2.2ebc8","wires":[["1002430c.15d035"]]},{"id":"1002430c.15d035","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":577,"y":137,"z":"a96f23c2.2ebc8","wires":[["970acde5.d8e448"]]},{"id":"970acde5.d8e448","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=\"generateUUID is failed\" />\n","comments":"","x":741,"y":136,"z":"a96f23c2.2ebc8","wires":[]},{"id":"8a09650.2c61918","type":"for","name":"for vnf-parameters-data.param","xml":"<for index='cnt' start='0' end='`$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_length`' >\n","comments":"","outputs":1,"x":1403,"y":930,"z":"a96f23c2.2ebc8","wires":[["1adf3d3d.07dd4b"]]},{"id":"81c118af.e06068","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":709,"y":931,"z":"a96f23c2.2ebc8","wires":[["c2f83d95.06bbd8","d689a5d2.d61b4","6002f8ec.b1c74"]]},{"id":"51b8b9b6.d5086","type":"switchNode","name":"switch vf-parameters-data.param_length","xml":"<switch test='`$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_length`'>\n","comments":"","outputs":1,"x":444,"y":238,"z":"a96f23c2.2ebc8","wires":[["365bae23.14284a","fa5163e0.c3fa98"]]},{"id":"365bae23.14284a","type":"outcome","name":"null","xml":"<outcome value=''>","comments":"","outputs":1,"x":707.1428833007812,"y":205.85715293884277,"z":"a96f23c2.2ebc8","wires":[["b563cd18.c029d"]]},{"id":"fa5163e0.c3fa98","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":706.1428833007812,"y":269.8571529388428,"z":"a96f23c2.2ebc8","wires":[["4bae2fc7.0f4ea"]]},{"id":"b563cd18.c029d","type":"set","name":"set pre service param len as 0","xml":"<set>\n <parameter name='highnum' value='0' />\n <parameter name='prehighnum' value='0'/>\n","comments":"","x":920.1428833007812,"y":205.85715293884277,"z":"a96f23c2.2ebc8","wires":[]},{"id":"4bae2fc7.0f4ea","type":"set","name":"set pre service param len","xml":"<set>\n <parameter name='highnum' value='`$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_length`' />\n <parameter name='prehighnum' value='`$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_length`' />","comments":"","x":905.1428833007812,"y":269.8571529388428,"z":"a96f23c2.2ebc8","wires":[]},{"id":"1adf3d3d.07dd4b","type":"switchNode","name":"switch input vnf-name","xml":"<switch test='`$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[$cnt].name == $jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'>\n","comments":"","outputs":1,"x":1661,"y":930,"z":"a96f23c2.2ebc8","wires":[["aea499af.f8a31"]]},{"id":"aea499af.f8a31","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1841,"y":930,"z":"a96f23c2.2ebc8","wires":[["375ef782.a4edd"]]},{"id":"375ef782.a4edd","type":"set","name":"set for existing param name","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.vf-module-parameters.param[$cnt].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>\n<parameter name='tmp.mso.param.found' value='true' />\n","comments":"","x":2051,"y":931,"z":"a96f23c2.2ebc8","wires":[]},{"id":"6002f8ec.b1c74","type":"switchNode","name":"switch tmp.mso.param.not-found","xml":"<switch test='`$tmp.mso.param.found`'>\n","comments":"","outputs":1,"x":951,"y":983,"z":"a96f23c2.2ebc8","wires":[["69e98301.fabd14"]]},{"id":"69e98301.fabd14","type":"not-found","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1185,"y":982,"z":"a96f23c2.2ebc8","wires":[["49eda6d1.5e314"]]},{"id":"c2f83d95.06bbd8","type":"set","name":"set for existing param name","xml":"<set>\n<parameter name='tmp.mso.param.found' value='false' />\n","comments":"","x":935,"y":872,"z":"a96f23c2.2ebc8","wires":[]},{"id":"d689a5d2.d61b4","type":"switchNode","name":"switch check length > 0","xml":"<switch test='`$prehighnum &gt; 0`'>\n","comments":"","outputs":1,"x":927.5,"y":931,"z":"a96f23c2.2ebc8","wires":[["1b1d6432.527e4c"]]},{"id":"1b1d6432.527e4c","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1174.5,"y":931,"z":"a96f23c2.2ebc8","wires":[["8a09650.2c61918"]]},{"id":"5b9bade5.2b8984","type":"for","name":"for payload","xml":"<for index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >","comments":"","outputs":1,"x":1970,"y":1284,"z":"a96f23c2.2ebc8","wires":[["2249725e.c91476"]]},{"id":"685f3730.8940e8","type":"set","name":"set resource-key","xml":"<set>\n\t<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[$highnum].resource-resolution-data.resource-key[$num].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-name`'/>\n\t<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[$highnum].resource-resolution-data.resource-key[$num].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-value`'/>\n\t\n","comments":"","x":2371,"y":1281,"z":"a96f23c2.2ebc8","wires":[]},{"id":"da0a9205.893e2","type":"set","name":"set output-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.vf-module-parameters.param[$highnum].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-name`'/>\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[$highnum].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-value`'/>\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[$highnum].resource-resolution-data.capability-name`' value='`$jsonContextPrefix.capability-data[$i].capability-name`'/>\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[$highnum].resource-resolution-data.status`' value='PENDING'/>","comments":"","x":1548,"y":1186,"z":"a96f23c2.2ebc8","wires":[]},{"id":"a42e033.e85bc8","type":"for","name":"for output-key-mapping","xml":"<for index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >","comments":"","outputs":1,"x":1156,"y":1233,"z":"a96f23c2.2ebc8","wires":[["4f0830ee.1880b"]]},{"id":"2fba7fd7.3163d8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":957,"y":1234,"z":"a96f23c2.2ebc8","wires":[["a42e033.e85bc8"]]},{"id":"4f0830ee.1880b","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":1351,"y":1232,"z":"a96f23c2.2ebc8","wires":[["da0a9205.893e2","44da9c18.e216ec","d28fd6d3.f9a338"]]},{"id":"d28fd6d3.f9a338","type":"set","name":"set length","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.vf-module-parameters.param_length`' value='`$highnum + 1`'/>\n<parameter name='highnum' value='`$highnum + 1`' />\n","comments":"","x":1547,"y":1284,"z":"a96f23c2.2ebc8","wires":[]},{"id":"aadc7de2.58d3d8","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":579,"y":809,"z":"a96f23c2.2ebc8","wires":[["b4705665.d766d"]]},{"id":"44da9c18.e216ec","type":"switchNode","name":"switch payload_length","xml":"<switch test=\"`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`\">\n","comments":"","outputs":1,"x":1577,"y":1233,"z":"a96f23c2.2ebc8","wires":[["ae024319.f7b4a8","144a86a2.5410e1"]]},{"id":"ae024319.f7b4a8","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1792,"y":1165,"z":"a96f23c2.2ebc8","wires":[[]]},{"id":"144a86a2.5410e1","type":"other","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1801,"y":1284,"z":"a96f23c2.2ebc8","wires":[["5b9bade5.2b8984"]]},{"id":"c1bae7b1.410c","type":"switchNode","name":"switch: model info == NULL","xml":"<switch test=\"`$tmp.sdnc-model-name == '' or $tmp.sdnc-model-version == '' or $tmp.vf-module-label == ''`\">\n","comments":"","outputs":1,"x":391.78570556640625,"y":535.6071863174438,"z":"a96f23c2.2ebc8","wires":[["449062d3.3fe1ec"]]},{"id":"5f39f9fd.6ae828","type":"get-resource","name":"get VF_MODEL.sdnc_model_name","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db1.vf-model'>\n\n","comments":"","outputs":1,"x":1069.9285354614258,"y":536.464297413826,"z":"a96f23c2.2ebc8","wires":[["83403c19.d7c0f","757f985.ad360e8","9caacf20.8ac8b8"]]},{"id":"83403c19.d7c0f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1313.1427536010742,"y":536.8451566696167,"z":"a96f23c2.2ebc8","wires":[["22e4e4b0.f9788c"]]},{"id":"22e4e4b0.f9788c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n","comments":"","x":1494.142734527588,"y":536.9880638122559,"z":"a96f23c2.2ebc8","wires":[]},{"id":"aa858353.ffb0b8","type":"get-resource","name":"get VF_MODULE_MODEL.vf-module-label","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT vf_module_label from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid \n \tAND vf_module_label is not null'\n pfx='db1.vf-module-model'>\n\n","comments":"","outputs":1,"x":1091.380874633789,"y":665.3095798492432,"z":"a96f23c2.2ebc8","wires":[["ccb7828d.bd63f8","6f2c6b58.391c64","f9a01843.4c1808"]]},{"id":"ccb7828d.bd63f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1370.1664581298828,"y":665.6904038190842,"z":"a96f23c2.2ebc8","wires":[["77387957.e563d"]]},{"id":"77387957.e563d","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":1545.166389465332,"y":665.8333042860031,"z":"a96f23c2.2ebc8","wires":[]},{"id":"6f2c6b58.391c64","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1380.3808822631836,"y":745.095287322998,"z":"a96f23c2.2ebc8","wires":[["6f98dd7e.7552fc"]]},{"id":"688d6a44.29fae4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":778.7380294799805,"y":535.8452922105789,"z":"a96f23c2.2ebc8","wires":[["5f39f9fd.6ae828","aa858353.ffb0b8"]]},{"id":"855ce41d.f223c","type":"set","name":"set sdnc-model-name, sdnc-model-version","xml":"<set>\n<parameter name='tmp.sdnc-model-name' value='`$db1.vf-model.sdnc-model-name`' />\n<parameter name='tmp.sdnc-model-version' value='`$db1.vf-model.sdnc-model-version`' />\n\n\n\n","comments":"","x":1592.42866897583,"y":616.964334487915,"z":"a96f23c2.2ebc8","wires":[]},{"id":"757f985.ad360e8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1321.0001411437988,"y":617.2500095367432,"z":"a96f23c2.2ebc8","wires":[["855ce41d.f223c"]]},{"id":"6f98dd7e.7552fc","type":"set","name":"set vf-module-label","xml":"<set>\n<parameter name='tmp.vf-module-label' value='`$db1.vf-module-model.vf-module-label`' />\n\n\n\n","comments":"","x":1584.821434020996,"y":746.6786003112793,"z":"a96f23c2.2ebc8","wires":[]},{"id":"2249725e.c91476","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2147,"y":1283,"z":"a96f23c2.2ebc8","wires":[["685f3730.8940e8","f1d034fb.5cadd"]]},{"id":"f1d034fb.5cadd","type":"set","name":"set length","xml":"<set>\n\t<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[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>\n\t<parameter name='num' value='`$num + 1`' />\n","comments":"","x":2378,"y":1356,"z":"a96f23c2.2ebc8","wires":[]},{"id":"9caacf20.8ac8b8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1323.7500190734863,"y":576.5000076293945,"z":"a96f23c2.2ebc8","wires":[["293460ad.8571d"]]},{"id":"293460ad.8571d","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_MODEL found with customization_uuid = ' + $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />","comments":"","x":1495.0000228881836,"y":575.2500085830688,"z":"a96f23c2.2ebc8","wires":[]},{"id":"f9a01843.4c1808","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1381.25,"y":706.5,"z":"a96f23c2.2ebc8","wires":[["a2233eb3.0469f8"]]},{"id":"a2233eb3.0469f8","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_label not found in VF_MODULE_MODEL WHERE customization_uuid = ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`\" />","comments":"","x":1552.5000038146973,"y":705.2500009536743,"z":"a96f23c2.2ebc8","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-assign.json
index 7df418ce..25dcf918 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-assign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-assign.json
@@ -1 +1 @@
-[{"id":"b0b96588.229f48","type":"dgstart","name":"DGSTART","outputs":1,"x":142.5,"y":46.25,"z":"a47d3f62.0db2a","wires":[["e90fc91d.4cb818"]]},{"id":"1514d1ed.4c979e","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":172.9761962890625,"y":168.5277862548828,"z":"a47d3f62.0db2a","wires":[["7b27a78e.ba8dc8","80ae9411.82a148","25697284.5cbf8e","13a7d2a7.9e0a2d","796ecfd8.ad192","1e8fbb14.957dd5","8a4e3013.de936","326845e9.15749a","15906be0.23cf64","574274d.1ac608c"]]},{"id":"6b266014.a5448","type":"method","name":"method self-serve-vnf-assign","xml":"<method rpc='self-serve-vnf-assign' mode='sync'>\n","comments":"","outputs":1,"x":259.2619094848633,"y":100.95635509490967,"z":"a47d3f62.0db2a","wires":[["1514d1ed.4c979e"]]},{"id":"e90fc91d.4cb818","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":417.73819732666016,"y":46.44049263000488,"z":"a47d3f62.0db2a","wires":[["6b266014.a5448"]]},{"id":"80ae9411.82a148","type":"switchNode","name":"switch vnf-parameters-data.param_length","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`'>\n","comments":"","outputs":1,"x":461.1786575317383,"y":1388.7620058059692,"z":"a47d3f62.0db2a","wires":[["63678a61.0670d4"]]},{"id":"63678a61.0670d4","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":723.1786880493164,"y":1388.7620058059692,"z":"a47d3f62.0db2a","wires":[["451745db.c8b2dc"]]},{"id":"220cb46a.85a42c","type":"call","name":"call GENERIC-RESOURCE-API:self-serve-ra-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-ra-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1238.4643478393555,"y":1438.3334369659424,"z":"a47d3f62.0db2a","wires":[["73d82327.4c165c"]]},{"id":"a26b7aab.bc2f18","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to get RA assignments: ' + $error-message`\" />\n","comments":"","x":1710.1785888671875,"y":1437.9048404693604,"z":"a47d3f62.0db2a","wires":[]},{"id":"14838ac6.319735","type":"for","name":"foreach vnf-parameters-data.param[]","xml":"<for index='pidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n","comments":"","outputs":1,"x":686.3574600219727,"y":1756.2620840072632,"z":"a47d3f62.0db2a","wires":[["b75f8daf.b163f","616a141.af79fec"]]},{"id":"7b27a78e.ba8dc8","type":"set","name":"set ss.capability.execution-order[]","xml":"<set>\n<parameter name='ss.capability.execution-order[0]' value='generate-name' />\n<parameter name='ss.capability.execution-order[1]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[2]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[4]' value='eipam-ip-assign' />\n<parameter name='ss.capability.execution-order[5]' value='eipam-create-pool\"' />\n<parameter name='ss.capability.execution-order[6]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[7]' value='create-vpe-pool' />\n<parameter name='ss.capability.execution-order[8]' value='unresolved-composite-data' />\n<parameter name='ss.capability.execution-order_length' value='9' />\n","comments":"","x":435.02384185791016,"y":1227.2501401901245,"z":"a47d3f62.0db2a","wires":[]},{"id":"25697284.5cbf8e","type":"for","name":"foreach capability[]","xml":"<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n","comments":"","outputs":1,"x":390.4286880493164,"y":1496.3691005706787,"z":"a47d3f62.0db2a","wires":[["2c03690.5bf2198","689e80c6.f5962","49b693f1.c7362c","14838ac6.319735"]]},{"id":"616a141.af79fec","type":"switchNode","name":"switch capability-name","xml":"<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n","comments":"","outputs":1,"x":990.7502822875977,"y":1801.9048767089844,"z":"a47d3f62.0db2a","wires":[["29d63c92.b13e14"]]},{"id":"29d63c92.b13e14","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1254.2502822875977,"y":1802.1548767089844,"z":"a47d3f62.0db2a","wires":[["bc5fb402.9e3c18"]]},{"id":"73d82327.4c165c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1556.0356941223145,"y":1437.7620306015015,"z":"a47d3f62.0db2a","wires":[["a26b7aab.bc2f18"]]},{"id":"2c03690.5bf2198","type":"set","name":"set ss.capability-name","xml":"<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n<!--\nss.capability.execution-order[]\n-->","comments":"","x":646.7857437133789,"y":1496.3215522766113,"z":"a47d3f62.0db2a","wires":[]},{"id":"b75f8daf.b163f","type":"set","name":"tmp.param.capability-name","xml":"<set>\n<parameter name='tmp.param.capability-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1002.107307434082,"y":1756.5120868682861,"z":"a47d3f62.0db2a","wires":[]},{"id":"49b693f1.c7362c","type":"set","name":"set ss.capability.action = assign","xml":"<set>\n<parameter name='ss.capability-action' value='assign' />\n","comments":"","x":675.499885559082,"y":1543.238136291504,"z":"a47d3f62.0db2a","wires":[]},{"id":"5a2f26a9.cbeda8","type":"set","name":"set capability-dg with 'self-serve-' + capability-name","xml":"<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n","comments":"","x":1179.2619552612305,"y":1690.4643688201904,"z":"a47d3f62.0db2a","wires":[]},{"id":"689e80c6.f5962","type":"switchNode","name":"switch ss.capability-name","xml":"<switch test='`$ss.capability-name`'>\n","comments":"","outputs":1,"x":658.7619552612305,"y":1592.214376449585,"z":"a47d3f62.0db2a","wires":[["4eea8376.d97c2c","b908a428.6a8ed8","d0be0742.b21258"]]},{"id":"4eea8376.d97c2c","type":"other","name":"alts-entitlement-assign","xml":"<outcome value='alts-entitlement-assign'>\n","comments":"","outputs":1,"x":941.512077331543,"y":1592.7143688201904,"z":"a47d3f62.0db2a","wires":[["9880d30d.acfe4"]]},{"id":"b908a428.6a8ed8","type":"other","name":"alts-license-assign","xml":"<outcome value='alts-license-assign'>\n","comments":"","outputs":1,"x":930.762077331543,"y":1640.4643688201904,"z":"a47d3f62.0db2a","wires":[["9880d30d.acfe4"]]},{"id":"d0be0742.b21258","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":894.7620391845703,"y":1690.7143592834473,"z":"a47d3f62.0db2a","wires":[["5a2f26a9.cbeda8"]]},{"id":"9880d30d.acfe4","type":"set","name":"set capability-dg to self-serve-alts-assignment","xml":"<set>\n<parameter name='ss.capability-dg' value='self-serve-alts-assignment' />\n","comments":"","x":1280.2619552612305,"y":1592.2143688201904,"z":"a47d3f62.0db2a","wires":[]},{"id":"13a7d2a7.9e0a2d","type":"set","name":"set sdnc-generated-cloud-resources = true","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources' value='true' />\n","comments":"","x":463.9881362915039,"y":1281.0001487731934,"z":"a47d3f62.0db2a","wires":[]},{"id":"9e98c03e.e81b8","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":720.428539276123,"y":561.7143030166626,"z":"a47d3f62.0db2a","wires":[["86c51bf7.a16728","4d067e36.b96bd","17269762.5ea849","c820210.4d230e","1ce6e283.bfbe5d","74ecb476.0b143c","578440a1.1ac38","1728506c.9c203","1400bb2c.323765"]]},{"id":"86c51bf7.a16728","type":"set","name":"set vnf-topology data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n","comments":"","x":935.9284820556641,"y":562.773811340332,"z":"a47d3f62.0db2a","wires":[]},{"id":"e543e5f2.e32d38","type":"set","name":"set vnf-parameters-data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n","comments":"","x":1129.4645767211914,"y":1388.6308345794678,"z":"a47d3f62.0db2a","wires":[]},{"id":"17269762.5ea849","type":"set","name":"set vnf-level-oper-status to PendingCreate","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n","comments":"","x":1001.2184371948242,"y":1136.754020690918,"z":"a47d3f62.0db2a","wires":[]},{"id":"4d067e36.b96bd","type":"set","name":"copy input data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' \n\tvalue='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' \n\tvalue='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' \n\tvalue='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' \n\tvalue='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' \n\tvalue='$vnf-topology-operation-input.vnf-request-input.' />\n","comments":"","x":918.5953521728516,"y":1086.5596599578857,"z":"a47d3f62.0db2a","wires":[]},{"id":"5d74706f.90119","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n","comments":"","x":1332.9286727905273,"y":675.1310405731201,"z":"a47d3f62.0db2a","wires":[]},{"id":"c820210.4d230e","type":"switchNode","name":"switch input model-invariant-uuid","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n","comments":"","outputs":1,"x":973.7857475280762,"y":697.9554843902588,"z":"a47d3f62.0db2a","wires":[["b9245b9c.3ecc98","9b989b17.260bb8"]]},{"id":"b9245b9c.3ecc98","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1182.4524192810059,"y":675.0984477996826,"z":"a47d3f62.0db2a","wires":[["5d74706f.90119"]]},{"id":"9b989b17.260bb8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1183.881015777588,"y":719.3840389251709,"z":"a47d3f62.0db2a","wires":[["673b70f8.38a61"]]},{"id":"673b70f8.38a61","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n","comments":"","x":1338.1667518615723,"y":718.8126111030579,"z":"a47d3f62.0db2a","wires":[]},{"id":"3b9bd317.7be8dc","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n","comments":"","x":1333.8809432983398,"y":763.669716835022,"z":"a47d3f62.0db2a","wires":[]},{"id":"1ce6e283.bfbe5d","type":"switchNode","name":"switch input model-uuid","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n","comments":"","outputs":1,"x":943.4047660827637,"y":786.4942216873169,"z":"a47d3f62.0db2a","wires":[["e64d40cc.f329","fa3552c6.1d4ac"]]},{"id":"e64d40cc.f329","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1183.4047393798828,"y":763.6371536254883,"z":"a47d3f62.0db2a","wires":[["3b9bd317.7be8dc"]]},{"id":"fa3552c6.1d4ac","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1184.8333358764648,"y":807.9227447509766,"z":"a47d3f62.0db2a","wires":[["cef60287.97713"]]},{"id":"cef60287.97713","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n","comments":"","x":1339.1190719604492,"y":807.3513169288635,"z":"a47d3f62.0db2a","wires":[]},{"id":"8fa2366.cacb1c8","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n","comments":"","x":1331.0238761901855,"y":852.5269241333008,"z":"a47d3f62.0db2a","wires":[]},{"id":"74ecb476.0b143c","type":"switchNode","name":"switch input model-version","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n","comments":"","outputs":1,"x":954.5476379394531,"y":875.3513689041138,"z":"a47d3f62.0db2a","wires":[["5b83f3e8.984ebc","7461e31a.fbf8bc"]]},{"id":"5b83f3e8.984ebc","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1180.547622680664,"y":852.4943313598633,"z":"a47d3f62.0db2a","wires":[["8fa2366.cacb1c8"]]},{"id":"7461e31a.fbf8bc","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1181.976219177246,"y":896.7799224853516,"z":"a47d3f62.0db2a","wires":[["2cdf59a1.805126"]]},{"id":"2cdf59a1.805126","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n","comments":"","x":1336.2619552612305,"y":896.2084946632385,"z":"a47d3f62.0db2a","wires":[]},{"id":"f2ffca70.21e538","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n","comments":"","x":1331.0238761901855,"y":939.6697463989258,"z":"a47d3f62.0db2a","wires":[]},{"id":"578440a1.1ac38","type":"switchNode","name":"switch input model-name","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n","comments":"","outputs":1,"x":949.5476379394531,"y":962.4941911697388,"z":"a47d3f62.0db2a","wires":[["45b802b6.259d6c","7394350e.76bcec"]]},{"id":"45b802b6.259d6c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1180.547622680664,"y":939.6371536254883,"z":"a47d3f62.0db2a","wires":[["f2ffca70.21e538"]]},{"id":"7394350e.76bcec","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1181.976219177246,"y":983.9227447509766,"z":"a47d3f62.0db2a","wires":[["93da4ccc.16b56"]]},{"id":"93da4ccc.16b56","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n","comments":"","x":1336.2619552612305,"y":983.3513169288635,"z":"a47d3f62.0db2a","wires":[]},{"id":"1728506c.9c203","type":"set","name":"set vnf-id","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n","comments":"","x":899.9047088623047,"y":614.2888488769531,"z":"a47d3f62.0db2a","wires":[]},{"id":"1400bb2c.323765","type":"set","name":"set model-customization-uuid","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n","comments":"","x":962.3332252502441,"y":1035.3363952636719,"z":"a47d3f62.0db2a","wires":[]},{"id":"326845e9.15749a","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":446.58329010009766,"y":248.67850017547607,"z":"a47d3f62.0db2a","wires":[["dfa50f80.31a11","393306bc.2d4d9a","380e8ac4.4fe806"]]},{"id":"dfa50f80.31a11","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":688.7976760864258,"y":187.23793125152588,"z":"a47d3f62.0db2a","wires":[["32deb3a2.50313c"]]},{"id":"7bff0459.171e4c","type":"set","name":"set vnf-index=0","xml":"<set>\n<parameter name='vnf-index' value='0' />\n","comments":"","x":1024.083381652832,"y":186.73800563812256,"z":"a47d3f62.0db2a","wires":[]},{"id":"393306bc.2d4d9a","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":689.976203918457,"y":308.857120513916,"z":"a47d3f62.0db2a","wires":[["21bb1e8e.d3c9a2"]]},{"id":"bc5fb402.9e3c18","type":"switchNode","name":"switch resource-resolution-data.status","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`'>\n","comments":"","outputs":1,"x":525.5122108459473,"y":2058.7222986221313,"z":"a47d3f62.0db2a","wires":[["83a70f8.89ae6f","99909353.18ed6","695fcfa4.a0172"]]},{"id":"83a70f8.89ae6f","type":"other","name":"PENDING","xml":"<outcome value='PENDING'>\n","comments":"","outputs":1,"x":794.8694267272949,"y":2058.722254753113,"z":"a47d3f62.0db2a","wires":[["c1e48e20.efc4d"]]},{"id":"99909353.18ed6","type":"other","name":"SUCCESS","xml":"<outcome value='SUCCESS'>\n","comments":"","outputs":1,"x":798.2979164123535,"y":2010.186538696289,"z":"a47d3f62.0db2a","wires":[["4b6bc0ee.44eac"]]},{"id":"695fcfa4.a0172","type":"other","name":"FAILED","xml":"<outcome value='FAILED'>\n","comments":"","outputs":1,"x":788.4052429199219,"y":2109.6865854263306,"z":"a47d3f62.0db2a","wires":[["c1e48e20.efc4d"]]},{"id":"c1e48e20.efc4d","type":"call","name":"call ss.capability-dg","xml":"<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n","comments":"","outputs":1,"x":1003.5239753723145,"y":2110.4484367370605,"z":"a47d3f62.0db2a","wires":[["1575afdc.e8231","48d48b0b.9b7ee4"]]},{"id":"28de7c64.1baa14","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error from capability: '+ $ss.capability-dg + ', with error: '+ $error-message`\" />\n","comments":"","x":1571.0714149475098,"y":2364.424892425537,"z":"a47d3f62.0db2a","wires":[]},{"id":"1575afdc.e8231","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1188.4164848327637,"y":2110.448497772217,"z":"a47d3f62.0db2a","wires":[["9c3b5da5.9473a"]]},{"id":"9c3b5da5.9473a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1351.690601348877,"y":2109.758038520813,"z":"a47d3f62.0db2a","wires":[["28de7c64.1baa14","5fadc36e.101b7c","2edac9b3.9fc286","4db4623.d5e639c","db1dc49b.785d58"]]},{"id":"2edac9b3.9fc286","type":"execute","name":"generate ss-vnf url replace service-instance-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-vnf-assignments`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vnf-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.service-instance-id`\"/>\n","comments":"","outputs":1,"x":1675.0236930847168,"y":2163.274598121643,"z":"a47d3f62.0db2a","wires":[[]]},{"id":"db1dc49b.785d58","type":"execute","name":"execute RestApiCallNode - PUT vnf","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vnf.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vnf-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ss-vnf\" />\n\n","comments":"","outputs":1,"x":1644.4879875183105,"y":2266.1318197250366,"z":"a47d3f62.0db2a","wires":[["6bcc6185.dd18f","2c2d6146.b2bf7e","e7baf82a.d9d548"]]},{"id":"6bcc6185.dd18f","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1919.0816535949707,"y":2320.12997341156,"z":"a47d3f62.0db2a","wires":[["a87af8d7.91b3f8"]]},{"id":"2c2d6146.b2bf7e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1911.5102882385254,"y":2266.6299934387207,"z":"a47d3f62.0db2a","wires":[["a87af8d7.91b3f8"]]},{"id":"e7baf82a.d9d548","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1915.2602806091309,"y":2212.987091064453,"z":"a47d3f62.0db2a","wires":[["a92b899d.04d118"]]},{"id":"a92b899d.04d118","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2091.630512237549,"y":2212.893572330475,"z":"a47d3f62.0db2a","wires":[[]]},{"id":"a87af8d7.91b3f8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2113.6426124572754,"y":2266.274248123169,"z":"a47d3f62.0db2a","wires":[["ae1e1153.3000a"]]},{"id":"ae1e1153.3000a","type":"configure","name":"set error-message","xml":"<set>\n<parameter name=\"error-message\" value=\"Failed to persist self-serve vnf assignments during assign in MD-SAL\" />\n","comments":"","outputs":1,"x":2331.928379058838,"y":2266.4171113967896,"z":"a47d3f62.0db2a","wires":[[]]},{"id":"5fadc36e.101b7c","type":"set","name":"set vf data for restapi-call-node","xml":"<set>\n<parameter name='vf.vnf-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\n<parameter name='vf.vnf-data.sdnc-request-header.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.`' />\n<parameter name='vf.vnf-data.request-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.`' />\n<parameter name='vf.vnf-data.service-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.`' />\n<parameter name='vf.vnf-data.vnf-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.`' />\n<parameter name='vf.vnf-data.vnf-topology.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.`' />\n<parameter name='vf.vnf-data.vnf-level-oper-status.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.`' />\n<parameter name='vf.vnf-data.vnf-request-input.vnf-input-parameters.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.`' />\n<parameter name='vf.vnf-data.vnf-request-input.request-version'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.request-version`' />\n<parameter name='vf.vnf-data.vnf-request-input.vnf-name'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-name`' />\n<parameter name='vf.vnf-data.vnf-request-input.tenant'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.tenant`' />\n<parameter name='vf.vnf-data.vnf-request-input.aic-cloud-region'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.aic-cloud-region`' />\n<parameter name='vf.vnf-data.vnf-request-input.aic-clli'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.aic-clli`' />","comments":"","x":1627.4759941101074,"y":2109.369110107422,"z":"a47d3f62.0db2a","wires":[]},{"id":"4db4623.d5e639c","type":"execute","name":"generate ss-vnf url - replace vnf-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vnf-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vnf-url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n","comments":"","outputs":1,"x":1639.309398651123,"y":2214.083366394043,"z":"a47d3f62.0db2a","wires":[[]]},{"id":"1e8fbb14.957dd5","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnf-assign.log' />\n","comments":"","outputs":1,"x":362.2816848754883,"y":3317.170946121216,"z":"a47d3f62.0db2a","wires":[[]]},{"id":"875bd0b4.df5c","type":"for","name":"foreach vnf-parameters-data.param[]","xml":"<for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n","comments":"","outputs":1,"x":858.5358200073242,"y":3005.7977294921875,"z":"a47d3f62.0db2a","wires":[["2a050b6.e7060f4"]]},{"id":"2a050b6.e7060f4","type":"switchNode","name":"switch param[$i].name","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name`'>\n","comments":"","outputs":1,"x":1137.2858200073242,"y":3005.297700881958,"z":"a47d3f62.0db2a","wires":[["f47fbb0e.df1e88"]]},{"id":"f47fbb0e.df1e88","type":"other","name":"vnf_name","xml":"<outcome value='vnf_name'>\n","comments":"","outputs":1,"x":1337.2858352661133,"y":3005.0477294921875,"z":"a47d3f62.0db2a","wires":[["5dbfb083.b9606"]]},{"id":"2e791445.a4035c","type":"save","name":"update generic-vnf.vnf-name","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n\tresource=\"generic-vnf\"\n\t\tkey=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id \"\n\tpfx=\"tmp.aai.update.vnf\" >\n<parameter name=\"vnf-name\" value='`$tmp.ss.vnf-name`' />\n\n","comments":"","outputs":1,"x":1759.6191101074219,"y":3055.880904197693,"z":"a47d3f62.0db2a","wires":[["bd7d2fe0.b68fb","5ba61c06.ee5304"]]},{"id":"56e25424.f8ca1c","type":"set","name":"set tmp.ss.vnf-name","xml":"<set>\n<parameter name='tmp.ss.vnf-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].value`' />\n","comments":"","x":1732.5357627868652,"y":3004.3809814453125,"z":"a47d3f62.0db2a","wires":[]},{"id":"f23e2f70.045a1","type":"break","name":"break","xml":"<break>\n","comments":"","x":1698.3690567016602,"y":3158.797571182251,"z":"a47d3f62.0db2a","wires":[]},{"id":"5dbfb083.b9606","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1504.035831451416,"y":3005.0477294921875,"z":"a47d3f62.0db2a","wires":[["56e25424.f8ca1c","f23e2f70.045a1","2e791445.a4035c"]]},{"id":"bd7d2fe0.b68fb","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1978.3690948486328,"y":3055.3808736801147,"z":"a47d3f62.0db2a","wires":[["666e99a.b660b68"]]},{"id":"5ba61c06.ee5304","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1984.6191062927246,"y":3107.13090801239,"z":"a47d3f62.0db2a","wires":[["8bd36bfb.9ea288"]]},{"id":"796ecfd8.ad192","type":"set","name":"set ss.capability-type = vnf","xml":"<set>\n<parameter name='ss.capability-type' value='vnf' />\n","comments":"","x":414.89292907714844,"y":1331.7857942581177,"z":"a47d3f62.0db2a","wires":[]},{"id":"451745db.c8b2dc","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":888.0356597900391,"y":1389.142903327942,"z":"a47d3f62.0db2a","wires":[["e543e5f2.e32d38","220cb46a.85a42c"]]},{"id":"48d48b0b.9b7ee4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1200.0000343322754,"y":2435.0000381469727,"z":"a47d3f62.0db2a","wires":[["df8ea433.364878"]]},{"id":"df8ea433.364878","type":"set","name":"set capability-dg to ASSIGNED","xml":"<set>\n<parameter name='`$ss.capability-dg`' value='ASSIGNED' />\n","comments":"","x":1425.7500190734863,"y":2434.7500104904175,"z":"a47d3f62.0db2a","wires":[]},{"id":"ef4a1f4a.908b2","type":"for","name":"for each existing VNF","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1037.0357284545898,"y":309.03579807281494,"z":"a47d3f62.0db2a","wires":[["ff270dd8.c9dc7"]]},{"id":"ff270dd8.c9dc7","type":"switchNode","name":"switch vnf-id: input vs service-data","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n","comments":"","outputs":1,"x":1314.321434020996,"y":309.10728549957275,"z":"a47d3f62.0db2a","wires":[["55ebd166.33405"]]},{"id":"55ebd166.33405","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1537.1072006225586,"y":308.6787576675415,"z":"a47d3f62.0db2a","wires":[["6806b14.a8f845"]]},{"id":"6806b14.a8f845","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1669.5714530944824,"y":308.71431827545166,"z":"a47d3f62.0db2a","wires":[["99d81dc8.57193","7326f640.324808","d315c462.672bf8"]]},{"id":"99d81dc8.57193","type":"break","name":"break","xml":"<break>\n","comments":"","x":1837.464241027832,"y":394.7142963409424,"z":"a47d3f62.0db2a","wires":[]},{"id":"2dfd6f3f.b7eec","type":"set","name":"set new vnf_length = 1","xml":"<set>\n<parameter name='service-data.vnfs.vnf_length' value='1' />\n","comments":"","x":1047.642951965332,"y":232.07148838043213,"z":"a47d3f62.0db2a","wires":[]},{"id":"7326f640.324808","type":"set","name":"set vnf-index = idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1868.0357971191406,"y":351.4999752044678,"z":"a47d3f62.0db2a","wires":[]},{"id":"4b6bc0ee.44eac","type":"set","name":"set capability-dg to ASSIGNED","xml":"<set>\n<parameter name='`$ss.capability-dg`' value='ASSIGNED' />\n","comments":"","x":1038.0000228881836,"y":2009.666543006897,"z":"a47d3f62.0db2a","wires":[]},{"id":"14fdb51a.9d237b","type":"switchNode","name":"switch tmp.ss.vnf-name","xml":"<switch test='`$tmp.ss.vnf-name`'>\n","comments":"","outputs":1,"x":817.1666412353516,"y":3220.166880607605,"z":"a47d3f62.0db2a","wires":[["47de36e9.927748"]]},{"id":"47de36e9.927748","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1025.4999313354492,"y":3220.1669340133667,"z":"a47d3f62.0db2a","wires":[["de2efbc5.075dd8"]]},{"id":"de2efbc5.075dd8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'generic-vnf not updated because vnf-name param.value is null; '+ $error-message`\" />\n","comments":"","x":1198.8332443237305,"y":3220.1669340133667,"z":"a47d3f62.0db2a","wires":[]},{"id":"992c0810.0b6c48","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":573.0000152587891,"y":3006.1667919158936,"z":"a47d3f62.0db2a","wires":[["875bd0b4.df5c","14fdb51a.9d237b"]]},{"id":"666e99a.b660b68","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $tmp.ss.vnf-name`\" />\n","comments":"","x":2154.66646194458,"y":3055.1666402816772,"z":"a47d3f62.0db2a","wires":[]},{"id":"8bd36bfb.9ea288","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to update generic-vnf.vnf-name because generic-vnf with vnf-name=' + $tmp.ss.vnf-name + ' is not found in AAI'`\" />\n","comments":"","x":2156.6666259765625,"y":3106.833394050598,"z":"a47d3f62.0db2a","wires":[]},{"id":"8a4e3013.de936","type":"set","name":"set is-new-vnf = true","xml":"<set>\n<parameter name='is-new-vnf' value='true' />\n","comments":"","x":400.8929214477539,"y":168.57144355773926,"z":"a47d3f62.0db2a","wires":[]},{"id":"d315c462.672bf8","type":"set","name":"set is-new-vnf = false","xml":"<set>\n<parameter name='is-new-vnf' value='false' />\n","comments":"","x":1876.0714836120605,"y":308.2143201828003,"z":"a47d3f62.0db2a","wires":[]},{"id":"21bb1e8e.d3c9a2","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":827.2500228881836,"y":308.5000162124634,"z":"a47d3f62.0db2a","wires":[["ef4a1f4a.908b2","f5b48b2f.928b28"]]},{"id":"f5b48b2f.928b28","type":"switchNode","name":"switch is-new-vnf","xml":"<switch test='`$is-new-vnf`'>\n","comments":"","outputs":1,"x":1024.750015258789,"y":395.0714178085327,"z":"a47d3f62.0db2a","wires":[["59f7b302.99346c"]]},{"id":"59f7b302.99346c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1204.6071701049805,"y":394.64286518096924,"z":"a47d3f62.0db2a","wires":[["cb7228e9.c3b608"]]},{"id":"32deb3a2.50313c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":842.7499923706055,"y":187.24999713897705,"z":"a47d3f62.0db2a","wires":[["7bff0459.171e4c","2dfd6f3f.b7eec"]]},{"id":"380e8ac4.4fe806","type":"other","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":687.2499923706055,"y":246.99999904632568,"z":"a47d3f62.0db2a","wires":[["32deb3a2.50313c"]]},{"id":"15906be0.23cf64","type":"switchNode","name":"switch is-new-vnf","xml":"<switch test='`$is-new-vnf`'>\n","comments":"","outputs":1,"x":388.75000381469727,"y":562.5000057220459,"z":"a47d3f62.0db2a","wires":[["c442a590.9cb608"]]},{"id":"c442a590.9cb608","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":568.6071586608887,"y":562.0714530944824,"z":"a47d3f62.0db2a","wires":[["9e98c03e.e81b8"]]},{"id":"2b3368f9.1b3888","type":"set","name":"set new vnf_length++","xml":"<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$service-data.vnfs.vnf_length + 1`' />\n","comments":"","x":1552.5,"y":441.25,"z":"a47d3f62.0db2a","wires":[]},{"id":"cb7228e9.c3b608","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1350.4999771118164,"y":394.24996185302734,"z":"a47d3f62.0db2a","wires":[["2b3368f9.1b3888","af062a27.b8c7e8"]]},{"id":"af062a27.b8c7e8","type":"set","name":"set vnf-index = vnf_length","xml":"<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n","comments":"","x":1561.9999809265137,"y":393.74996185302734,"z":"a47d3f62.0db2a","wires":[]},{"id":"574274d.1ac608c","type":"switchNode","name":"switch self-serve-generate-name == ASSIGNED","xml":"<switch test=\"`$self-serve-generate-name == 'ASSIGNED'`\">\n","comments":"","outputs":1,"x":491.21429443359375,"y":2597.6785287857056,"z":"a47d3f62.0db2a","wires":[["9d0fc53f.b5f228","4c3d2164.0dd89"]]},{"id":"9d0fc53f.b5f228","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":768.2499542236328,"y":2624.1070976257324,"z":"a47d3f62.0db2a","wires":[["4f301fb0.3f124"]]},{"id":"4c3d2164.0dd89","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":766.3571815490723,"y":2573.9285945892334,"z":"a47d3f62.0db2a","wires":[["98f98654.967378"]]},{"id":"397fc91b.0a2766","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=\"`'SS: self-serve-generate-name status: ' + $self-serve-generate-name`\"/>","comments":"","outputs":1,"x":1115.7857627868652,"y":2573.9287672042847,"z":"a47d3f62.0db2a","wires":[[]]},{"id":"98f98654.967378","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":932.2143058776855,"y":2573.928713117327,"z":"a47d3f62.0db2a","wires":[["397fc91b.0a2766","73893e1f.6bae3"]]},{"id":"73893e1f.6bae3","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`\" />\n","comments":"","x":1137.0714530944824,"y":2617.3573207855225,"z":"a47d3f62.0db2a","wires":[]},{"id":"8fa8f758.5db488","type":"success","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1088.1428184509277,"y":2779.5713834762573,"z":"a47d3f62.0db2a","wires":[["992c0810.0b6c48"]]},{"id":"7fc34b4c.c5b9b4","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1086.2500457763672,"y":2729.3928804397583,"z":"a47d3f62.0db2a","wires":[["f8c43567.d4b9a8"]]},{"id":"b1b00e7f.817be","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=\"`'SS: self-serve-unresolved-composite-data: ' + $self-serve-unresolved-composite-data`\"/>","comments":"","outputs":1,"x":1435.6786270141602,"y":2729.3930530548096,"z":"a47d3f62.0db2a","wires":[[]]},{"id":"f8c43567.d4b9a8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1252.1071701049805,"y":2729.392998967852,"z":"a47d3f62.0db2a","wires":[["b1b00e7f.817be","e43776b3.667168"]]},{"id":"e43776b3.667168","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`\" />\n","comments":"","x":1456.9643173217773,"y":2772.8216066360474,"z":"a47d3f62.0db2a","wires":[]},{"id":"4f301fb0.3f124","type":"switchNode","name":"switch self-serve-unresolved-composite-data == ASSIGNED or NULL","xml":"<switch test=\"`$self-serve-unresolved-composite-data == 'ASSIGNED' or $self-serve-unresolved-composite-data == ''`\">\n","comments":"","outputs":1,"x":738.1428833007812,"y":2752.321346282959,"z":"a47d3f62.0db2a","wires":[["7fc34b4c.c5b9b4","8fa8f758.5db488"]]}] \ No newline at end of file
+[{"id":"e979b2ce.e99fc","type":"dgstart","name":"DGSTART","outputs":1,"x":72.5,"y":33.75,"z":"8a7e5e63.38ace","wires":[["ad0b53dd.30d1f"]]},{"id":"9a9fd368.dccea","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":102.9761962890625,"y":156.0277862548828,"z":"8a7e5e63.38ace","wires":[["46a2b2bf.bd985c","e40ce25b.a46b4","f1a735bc.46ec68","338f391a.b76546","c60edef1.83244","58752160.8f2f","c602370a.7ee398","f2eb9a19.492128","7402f8af.8166a8"]]},{"id":"36c94e51.ac7b62","type":"method","name":"method self-serve-vnf-assign","xml":"<method rpc='self-serve-vnf-assign' mode='sync'>\n","comments":"","outputs":1,"x":189.26190948486328,"y":88.45635509490967,"z":"8a7e5e63.38ace","wires":[["9a9fd368.dccea"]]},{"id":"ad0b53dd.30d1f","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.73819732666016,"y":33.94049263000488,"z":"8a7e5e63.38ace","wires":[["36c94e51.ac7b62"]]},{"id":"e40ce25b.a46b4","type":"switchNode","name":"switch vnf-parameters-data.param_length","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`'>\n","comments":"","outputs":1,"x":391.1786575317383,"y":1376.2620058059692,"z":"8a7e5e63.38ace","wires":[["56678c3c.918f34"]]},{"id":"56678c3c.918f34","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":653.1786880493164,"y":1376.2620058059692,"z":"8a7e5e63.38ace","wires":[["ef587707.052838"]]},{"id":"7880660a.b99988","type":"call","name":"call GENERIC-RESOURCE-API:self-serve-ra-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-ra-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1168.4643478393555,"y":1425.8334369659424,"z":"8a7e5e63.38ace","wires":[["359b210b.18df8e"]]},{"id":"8e6933e0.e2d82","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to get RA assignments: ' + $error-message`\" />\n","comments":"","x":1640.1785888671875,"y":1425.4048404693604,"z":"8a7e5e63.38ace","wires":[]},{"id":"b6eee0c6.fa3f9","type":"for","name":"foreach vnf-parameters-data.param[]","xml":"<for index='pidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n","comments":"","outputs":1,"x":616.3574600219727,"y":1743.7620840072632,"z":"8a7e5e63.38ace","wires":[["d5a18e29.fba98","89cf7849.12d878"]]},{"id":"46a2b2bf.bd985c","type":"set","name":"set ss.capability.execution-order[]","xml":"<set>\n<parameter name='ss.capability.execution-order[0]' value='generate-name' />\n<parameter name='ss.capability.execution-order[1]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[2]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[4]' value='mS-vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[5]' value='eipam-ip-assign' />\n<parameter name='ss.capability.execution-order[6]' value='eipam-create-pool\"' />\n<parameter name='ss.capability.execution-order[7]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[8]' value='mS-mac-address-assign' />\n<parameter name='ss.capability.execution-order[9]' value='create-vpe-pool' />\n<parameter name='ss.capability.execution-order[10]' value='unresolved-composite-data' />\n<parameter name='ss.capability.execution-order[11]' value='aai-vnf-put' />\n<parameter name='ss.capability.execution-order_length' value='12' />\n","comments":"","x":365.02384185791016,"y":1214.7501401901245,"z":"8a7e5e63.38ace","wires":[]},{"id":"f1a735bc.46ec68","type":"for","name":"foreach capability[]","xml":"<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n","comments":"","outputs":1,"x":320.4286880493164,"y":1483.8691005706787,"z":"8a7e5e63.38ace","wires":[["2287face.851d46","253d7cdf.e1c2d4","b6eee0c6.fa3f9","cef332f9.8255"]]},{"id":"89cf7849.12d878","type":"switchNode","name":"switch capability-name","xml":"<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n","comments":"","outputs":1,"x":920.7502822875977,"y":1789.4048767089844,"z":"8a7e5e63.38ace","wires":[["3ccce09d.0b123"]]},{"id":"3ccce09d.0b123","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1184.2502822875977,"y":1789.6548767089844,"z":"8a7e5e63.38ace","wires":[["420a949e.3280fc"]]},{"id":"359b210b.18df8e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1486.0356941223145,"y":1425.2620306015015,"z":"8a7e5e63.38ace","wires":[["8e6933e0.e2d82"]]},{"id":"2287face.851d46","type":"set","name":"set ss.capability-name","xml":"<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n<!--\nss.capability.execution-order[]\n-->","comments":"","x":576.7857437133789,"y":1483.8215522766113,"z":"8a7e5e63.38ace","wires":[]},{"id":"d5a18e29.fba98","type":"set","name":"tmp.param.capability-name","xml":"<set>\n<parameter name='tmp.param.capability-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":932.107307434082,"y":1744.0120868682861,"z":"8a7e5e63.38ace","wires":[]},{"id":"253d7cdf.e1c2d4","type":"set","name":"set ss.capability.action = assign","xml":"<set>\n<parameter name='ss.capability-action' value='assign' />\n","comments":"","x":605.499885559082,"y":1530.738136291504,"z":"8a7e5e63.38ace","wires":[]},{"id":"cef332f9.8255","type":"set","name":"set capability-dg with 'self-serve-' + capability-name","xml":"<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n","comments":"","x":668.0119781494141,"y":1584.2143802642822,"z":"8a7e5e63.38ace","wires":[]},{"id":"338f391a.b76546","type":"set","name":"set sdnc-generated-cloud-resources = true","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources' value='true' />\n","comments":"","x":393.9881362915039,"y":1268.5001487731934,"z":"8a7e5e63.38ace","wires":[]},{"id":"174083a3.4d324c","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":650.428539276123,"y":549.2143030166626,"z":"8a7e5e63.38ace","wires":[["e662c249.6a2c4","9cfd2a9c.3fe9f8","3aa296df.78ceaa","3a6e2fc8.07043","f070b71.a554c48","f5b48997.d8b5d8","48ec3ac0.6b9294","788c1a7.a052ae4","edb9a97a.acfa98"]]},{"id":"e662c249.6a2c4","type":"set","name":"set vnf-topology data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n","comments":"","x":865.9284820556641,"y":550.273811340332,"z":"8a7e5e63.38ace","wires":[]},{"id":"d20a6007.88593","type":"set","name":"set vnf-parameters-data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n","comments":"","x":1059.4645767211914,"y":1376.1308345794678,"z":"8a7e5e63.38ace","wires":[]},{"id":"3aa296df.78ceaa","type":"set","name":"set vnf-level-oper-status to PendingCreate","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n","comments":"","x":931.2184371948242,"y":1124.254020690918,"z":"8a7e5e63.38ace","wires":[]},{"id":"9cfd2a9c.3fe9f8","type":"set","name":"copy input data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' \n\tvalue='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' \n\tvalue='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' \n\tvalue='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' \n\tvalue='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' \n\tvalue='$vnf-topology-operation-input.vnf-request-input.' />\n","comments":"","x":848.5953521728516,"y":1074.0596599578857,"z":"8a7e5e63.38ace","wires":[]},{"id":"4348cdc3.255324","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n","comments":"","x":1262.9286727905273,"y":662.6310405731201,"z":"8a7e5e63.38ace","wires":[]},{"id":"3a6e2fc8.07043","type":"switchNode","name":"switch input model-invariant-uuid","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n","comments":"","outputs":1,"x":903.7857475280762,"y":685.4554843902588,"z":"8a7e5e63.38ace","wires":[["927dafb1.8438f","bbe3b5e.f1f7448"]]},{"id":"927dafb1.8438f","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1112.4524192810059,"y":662.5984477996826,"z":"8a7e5e63.38ace","wires":[["4348cdc3.255324"]]},{"id":"bbe3b5e.f1f7448","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1113.881015777588,"y":706.8840389251709,"z":"8a7e5e63.38ace","wires":[["2bc5b555.62d10a"]]},{"id":"2bc5b555.62d10a","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n","comments":"","x":1268.1667518615723,"y":706.3126111030579,"z":"8a7e5e63.38ace","wires":[]},{"id":"1339e1db.b46ede","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n","comments":"","x":1263.8809432983398,"y":751.169716835022,"z":"8a7e5e63.38ace","wires":[]},{"id":"f070b71.a554c48","type":"switchNode","name":"switch input model-uuid","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n","comments":"","outputs":1,"x":873.4047660827637,"y":773.9942216873169,"z":"8a7e5e63.38ace","wires":[["89d8f336.73fd8","9248202f.22337"]]},{"id":"89d8f336.73fd8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1113.4047393798828,"y":751.1371536254883,"z":"8a7e5e63.38ace","wires":[["1339e1db.b46ede"]]},{"id":"9248202f.22337","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1114.8333358764648,"y":795.4227447509766,"z":"8a7e5e63.38ace","wires":[["d721fa95.0723e8"]]},{"id":"d721fa95.0723e8","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n","comments":"","x":1269.1190719604492,"y":794.8513169288635,"z":"8a7e5e63.38ace","wires":[]},{"id":"bb1a0ad6.4e3e78","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n","comments":"","x":1261.0238761901855,"y":840.0269241333008,"z":"8a7e5e63.38ace","wires":[]},{"id":"f5b48997.d8b5d8","type":"switchNode","name":"switch input model-version","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n","comments":"","outputs":1,"x":884.5476379394531,"y":862.8513689041138,"z":"8a7e5e63.38ace","wires":[["b1acdece.bcc9c","c85877f4.161508"]]},{"id":"b1acdece.bcc9c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1110.547622680664,"y":839.9943313598633,"z":"8a7e5e63.38ace","wires":[["bb1a0ad6.4e3e78"]]},{"id":"c85877f4.161508","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1111.976219177246,"y":884.2799224853516,"z":"8a7e5e63.38ace","wires":[["58474882.b552b8"]]},{"id":"58474882.b552b8","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n","comments":"","x":1266.2619552612305,"y":883.7084946632385,"z":"8a7e5e63.38ace","wires":[]},{"id":"fd2dc0e1.63439","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n","comments":"","x":1261.0238761901855,"y":927.1697463989258,"z":"8a7e5e63.38ace","wires":[]},{"id":"48ec3ac0.6b9294","type":"switchNode","name":"switch input model-name","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n","comments":"","outputs":1,"x":879.5476379394531,"y":949.9941911697388,"z":"8a7e5e63.38ace","wires":[["3d5ac1e6.b7948e","3f20406f.baebd"]]},{"id":"3d5ac1e6.b7948e","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1110.547622680664,"y":927.1371536254883,"z":"8a7e5e63.38ace","wires":[["fd2dc0e1.63439"]]},{"id":"3f20406f.baebd","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1111.976219177246,"y":971.4227447509766,"z":"8a7e5e63.38ace","wires":[["5a1a5651.f76428"]]},{"id":"5a1a5651.f76428","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n","comments":"","x":1266.2619552612305,"y":970.8513169288635,"z":"8a7e5e63.38ace","wires":[]},{"id":"788c1a7.a052ae4","type":"set","name":"set vnf-id","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n","comments":"","x":829.9047088623047,"y":601.7888488769531,"z":"8a7e5e63.38ace","wires":[]},{"id":"edb9a97a.acfa98","type":"set","name":"set model-customization-uuid","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n","comments":"","x":892.3332252502441,"y":1022.8363952636719,"z":"8a7e5e63.38ace","wires":[]},{"id":"f2eb9a19.492128","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":376.58329010009766,"y":236.17850017547607,"z":"8a7e5e63.38ace","wires":[["845220fd.30893","e7dd5883.b310d8","7d6220cf.97437"]]},{"id":"845220fd.30893","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":618.7976760864258,"y":174.73793125152588,"z":"8a7e5e63.38ace","wires":[["b13684ac.3b5ec8"]]},{"id":"2eb2a0b4.7673","type":"set","name":"set vnf-index=0","xml":"<set>\n<parameter name='vnf-index' value='0' />\n","comments":"","x":954.083381652832,"y":174.23800563812256,"z":"8a7e5e63.38ace","wires":[]},{"id":"e7dd5883.b310d8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":619.976203918457,"y":296.357120513916,"z":"8a7e5e63.38ace","wires":[["85cecc5e.cffa9"]]},{"id":"420a949e.3280fc","type":"switchNode","name":"switch resource-resolution-data.status","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`'>\n","comments":"","outputs":1,"x":455.51221084594727,"y":2046.2222986221313,"z":"8a7e5e63.38ace","wires":[["2f74e598.b4f05a","41b1f8f2.9db618"]]},{"id":"2f74e598.b4f05a","type":"other","name":"PENDING","xml":"<outcome value='PENDING'>\n","comments":"","outputs":1,"x":724.8694267272949,"y":2046.2222547531128,"z":"8a7e5e63.38ace","wires":[["de3056ea.cb97f8"]]},{"id":"41b1f8f2.9db618","type":"other","name":"FAILED","xml":"<outcome value='FAILED'>\n","comments":"","outputs":1,"x":718.4052429199219,"y":2097.1865854263306,"z":"8a7e5e63.38ace","wires":[["de3056ea.cb97f8"]]},{"id":"de3056ea.cb97f8","type":"call","name":"call ss.capability-dg","xml":"<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n","comments":"","outputs":1,"x":933.5239753723145,"y":2097.9484367370605,"z":"8a7e5e63.38ace","wires":[["eb5dc4dc.4296f8"]]},{"id":"583a2f89.5053d","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error from capability: '+ $ss.capability-dg + ', with error: '+ $error-message`\" />\n","comments":"","x":1501.0714149475098,"y":2351.924892425537,"z":"8a7e5e63.38ace","wires":[]},{"id":"eb5dc4dc.4296f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1118.4164848327637,"y":2097.948497772217,"z":"8a7e5e63.38ace","wires":[["4375345d.fcaa8c"]]},{"id":"4375345d.fcaa8c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1281.690601348877,"y":2097.258038520813,"z":"8a7e5e63.38ace","wires":[["583a2f89.5053d","2c1be433.233fdc","57247a0a.65f024","e7a1b9e.50bf548","4712bf7c.c5565"]]},{"id":"57247a0a.65f024","type":"execute","name":"generate ss-vnf url replace service-instance-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-vnf-assignments`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vnf-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.service-instance-id`\"/>\n","comments":"","outputs":1,"x":1605.0236930847168,"y":2150.774598121643,"z":"8a7e5e63.38ace","wires":[[]]},{"id":"4712bf7c.c5565","type":"execute","name":"execute RestApiCallNode - PUT vnf","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vnf.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vnf-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ss-vnf\" />\n\n","comments":"","outputs":1,"x":1574.4879875183105,"y":2253.6318197250366,"z":"8a7e5e63.38ace","wires":[["513e18d8.e7d3b8","8a1cc506.26d608"]]},{"id":"513e18d8.e7d3b8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1849.0816535949707,"y":2307.62997341156,"z":"8a7e5e63.38ace","wires":[["71982f5.9f351d"]]},{"id":"8a1cc506.26d608","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1841.5102882385254,"y":2254.1299934387207,"z":"8a7e5e63.38ace","wires":[["71982f5.9f351d"]]},{"id":"2c1be433.233fdc","type":"set","name":"set vf data for restapi-call-node","xml":"<set>\n<parameter name='vf.vnf-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\n<parameter name='vf.vnf-data.sdnc-request-header.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.`' />\n<parameter name='vf.vnf-data.request-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.`' />\n<parameter name='vf.vnf-data.service-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.`' />\n<parameter name='vf.vnf-data.vnf-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.`' />\n<parameter name='vf.vnf-data.vnf-topology.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.`' />\n<parameter name='vf.vnf-data.vnf-level-oper-status.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.`' />\n<parameter name='vf.vnf-data.vnf-request-input.vnf-input-parameters.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.`' />\n<parameter name='vf.vnf-data.vnf-request-input.request-version'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.request-version`' />\n<parameter name='vf.vnf-data.vnf-request-input.vnf-name'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-name`' />\n<parameter name='vf.vnf-data.vnf-request-input.tenant'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.tenant`' />\n<parameter name='vf.vnf-data.vnf-request-input.aic-cloud-region'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.aic-cloud-region`' />\n<parameter name='vf.vnf-data.vnf-request-input.aic-clli'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.aic-clli`' />","comments":"","x":1557.4759941101074,"y":2096.869110107422,"z":"8a7e5e63.38ace","wires":[]},{"id":"e7a1b9e.50bf548","type":"execute","name":"generate ss-vnf url - replace vnf-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vnf-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vnf-url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n","comments":"","outputs":1,"x":1569.309398651123,"y":2201.583366394043,"z":"8a7e5e63.38ace","wires":[[]]},{"id":"58752160.8f2f","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnf-assign.log' />\n","comments":"","outputs":1,"x":320.85311126708984,"y":2546.099449157715,"z":"8a7e5e63.38ace","wires":[[]]},{"id":"c60edef1.83244","type":"set","name":"set ss.capability-type = vnf","xml":"<set>\n<parameter name='ss.capability-type' value='vnf' />\n","comments":"","x":344.89292907714844,"y":1319.2857942581177,"z":"8a7e5e63.38ace","wires":[]},{"id":"ef587707.052838","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":818.0356597900391,"y":1376.642903327942,"z":"8a7e5e63.38ace","wires":[["d20a6007.88593","7880660a.b99988"]]},{"id":"4503302f.14ead","type":"for","name":"for each existing VNF","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":967.0357284545898,"y":296.53579807281494,"z":"8a7e5e63.38ace","wires":[["716305cf.9234dc"]]},{"id":"716305cf.9234dc","type":"switchNode","name":"switch vnf-id: input vs service-data","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n","comments":"","outputs":1,"x":1244.321434020996,"y":296.60728549957275,"z":"8a7e5e63.38ace","wires":[["be482925.70caa8"]]},{"id":"be482925.70caa8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1467.1072006225586,"y":296.1787576675415,"z":"8a7e5e63.38ace","wires":[["51a84602.114aa8"]]},{"id":"51a84602.114aa8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1599.5714530944824,"y":296.21431827545166,"z":"8a7e5e63.38ace","wires":[["eb8243d9.c7ead","eb4574cb.974e98","78f6433b.71dbec"]]},{"id":"eb8243d9.c7ead","type":"break","name":"break","xml":"<break>\n","comments":"","x":1767.464241027832,"y":382.2142963409424,"z":"8a7e5e63.38ace","wires":[]},{"id":"69a01421.b0d1fc","type":"set","name":"set new vnf_length = 1","xml":"<set>\n<parameter name='service-data.vnfs.vnf_length' value='1' />\n","comments":"","x":977.642951965332,"y":219.57148838043213,"z":"8a7e5e63.38ace","wires":[]},{"id":"eb4574cb.974e98","type":"set","name":"set vnf-index = idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1798.0357971191406,"y":338.9999752044678,"z":"8a7e5e63.38ace","wires":[]},{"id":"c602370a.7ee398","type":"set","name":"set is-new-vnf = true","xml":"<set>\n<parameter name='is-new-vnf' value='true' />\n","comments":"","x":330.8929214477539,"y":156.07144355773926,"z":"8a7e5e63.38ace","wires":[]},{"id":"78f6433b.71dbec","type":"set","name":"set is-new-vnf = false","xml":"<set>\n<parameter name='is-new-vnf' value='false' />\n","comments":"","x":1806.0714836120605,"y":295.7143201828003,"z":"8a7e5e63.38ace","wires":[]},{"id":"85cecc5e.cffa9","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":757.2500228881836,"y":296.0000162124634,"z":"8a7e5e63.38ace","wires":[["4503302f.14ead","73083910.f9af68"]]},{"id":"73083910.f9af68","type":"switchNode","name":"switch is-new-vnf","xml":"<switch test='`$is-new-vnf`'>\n","comments":"","outputs":1,"x":954.7500152587891,"y":382.5714178085327,"z":"8a7e5e63.38ace","wires":[["4a60d344.c63a9c"]]},{"id":"4a60d344.c63a9c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1134.6071701049805,"y":382.14286518096924,"z":"8a7e5e63.38ace","wires":[["dd30cb4d.6f3e78"]]},{"id":"b13684ac.3b5ec8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":772.7499923706055,"y":174.74999713897705,"z":"8a7e5e63.38ace","wires":[["2eb2a0b4.7673","69a01421.b0d1fc"]]},{"id":"7d6220cf.97437","type":"other","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":617.2499923706055,"y":234.49999904632568,"z":"8a7e5e63.38ace","wires":[["b13684ac.3b5ec8"]]},{"id":"7402f8af.8166a8","type":"switchNode","name":"switch is-new-vnf","xml":"<switch test='`$is-new-vnf`'>\n","comments":"","outputs":1,"x":318.75000381469727,"y":550.0000057220459,"z":"8a7e5e63.38ace","wires":[["fb8ba40c.acc858"]]},{"id":"fb8ba40c.acc858","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":498.6071586608887,"y":549.5714530944824,"z":"8a7e5e63.38ace","wires":[["174083a3.4d324c"]]},{"id":"3159769d.7109fa","type":"set","name":"set new vnf_length++","xml":"<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$service-data.vnfs.vnf_length + 1`' />\n","comments":"","x":1482.5,"y":428.75,"z":"8a7e5e63.38ace","wires":[]},{"id":"dd30cb4d.6f3e78","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1280.4999771118164,"y":381.74996185302734,"z":"8a7e5e63.38ace","wires":[["3159769d.7109fa","3ffdf6d3.2240ca"]]},{"id":"3ffdf6d3.2240ca","type":"set","name":"set vnf-index = vnf_length","xml":"<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n","comments":"","x":1491.9999809265137,"y":381.24996185302734,"z":"8a7e5e63.38ace","wires":[]},{"id":"71982f5.9f351d","type":"set","name":"set error-message","xml":"<set>\n<parameter name=\"error-message\" value=\"Failed to persist self-serve vnf assignments during assign in MD-SAL\" />","comments":"","x":2061.428611755371,"y":2253,"z":"8a7e5e63.38ace","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.json
new file mode 100644
index 00000000..db153ffb
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.json
@@ -0,0 +1,341 @@
+[
+ {
+ "id": "57248231.a7bfcc",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 108.75,
+ "y": 47.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "1d542904.ad727f"
+ ]
+ ]
+ },
+ {
+ "id": "1d542904.ad727f",
+ "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": 384.75,
+ "y": 48.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "e103515d.6bcd18"
+ ]
+ ]
+ },
+ {
+ "id": "e103515d.6bcd18",
+ "type": "method",
+ "name": "self-serve-vnf-changeassign ",
+ "xml": "<method rpc='self-serve-vnf-changeassign' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 701.75,
+ "y": 48.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "42a27363.ddaeac"
+ ]
+ ]
+ },
+ {
+ "id": "42a27363.ddaeac",
+ "type": "block",
+ "name": "block atomic",
+ "xml": "<block atomic=\"true\">\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 127.25,
+ "y": 130.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "1c0659a3.13cfde",
+ "ec3506ba.e14a98"
+ ]
+ ]
+ },
+ {
+ "id": "30d6be53.aefb4a",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$j].resource-resolution-data.status`' value='PENDING'/>\n <parameter name='ss.input.param.index' value='`$i`' />\n <parameter name='ss.service-data.param.index' value='`$j`' />",
+ "comments": "",
+ "x": 1343.75,
+ "y": 548.5,
+ "z": "484e90dc.3bd078",
+ "wires": []
+ },
+ {
+ "id": "1c0659a3.13cfde",
+ "type": "switchNode",
+ "name": "switch vnf-input-parameters",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 369.75,
+ "y": 173.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "8a1cd82.5d583a8"
+ ]
+ ]
+ },
+ {
+ "id": "8a1cd82.5d583a8",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 599.8928833007812,
+ "y": 173.35714721679688,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "37bbdbba.52315c"
+ ]
+ ]
+ },
+ {
+ "id": "37bbdbba.52315c",
+ "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 param name/value provided in vnf-request-input\" />\n",
+ "comments": "",
+ "x": 772.75,
+ "y": 173.5,
+ "z": "484e90dc.3bd078",
+ "wires": []
+ },
+ {
+ "id": "ec3506ba.e14a98",
+ "type": "for",
+ "name": "for vnf-input-parameters.param index i",
+ "xml": "<for index='i' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 396.75,
+ "y": 297.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "14eea10b.aad3ff"
+ ]
+ ]
+ },
+ {
+ "id": "14eea10b.aad3ff",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 640.75,
+ "y": 297.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "ca4e5f29.4175a8"
+ ]
+ ]
+ },
+ {
+ "id": "ca4e5f29.4175a8",
+ "type": "switchNode",
+ "name": "switch",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 811.75,
+ "y": 297.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "3da72d90.fc11a2"
+ ]
+ ]
+ },
+ {
+ "id": "3da72d90.fc11a2",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 559.75,
+ "y": 381.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "c490ce0.767473"
+ ]
+ ]
+ },
+ {
+ "id": "c490ce0.767473",
+ "type": "for",
+ "name": "for service-data.vnf-parameters-data.param index j",
+ "xml": "<for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 851.75,
+ "y": 381.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "1937b752.ee7f01"
+ ]
+ ]
+ },
+ {
+ "id": "1937b752.ee7f01",
+ "type": "switchNode",
+ "name": "switch input vnf-name",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$j].name == $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 794.75,
+ "y": 475.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "c29b5f3e.26a9e",
+ "7e31cc58.38af8c"
+ ]
+ ]
+ },
+ {
+ "id": "7e31cc58.38af8c",
+ "type": "not-found",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1007.75,
+ "y": 548.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "380d4f5a.84c61"
+ ]
+ ]
+ },
+ {
+ "id": "c29b5f3e.26a9e",
+ "type": "not-found",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1015.75,
+ "y": 430.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "97ff5a7e.916158"
+ ]
+ ]
+ },
+ {
+ "id": "97ff5a7e.916158",
+ "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 param with param[].name = ' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + ' found in service-data.'`\" />\n",
+ "comments": "",
+ "x": 1220.75,
+ "y": 429.5,
+ "z": "484e90dc.3bd078",
+ "wires": []
+ },
+ {
+ "id": "380d4f5a.84c61",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1168.75,
+ "y": 547.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "30d6be53.aefb4a",
+ "e0135d7c.04a028"
+ ]
+ ]
+ },
+ {
+ "id": "e0135d7c.04a028",
+ "type": "call",
+ "name": "call self-serve-generate-name-changeassign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-generate-name-changeassign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1460.75,
+ "y": 624.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "f8df579c.55d728",
+ "5a6cefeb.f45dc"
+ ]
+ ]
+ },
+ {
+ "id": "f8df579c.55d728",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1710.75,
+ "y": 596.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "11426210.f443de"
+ ]
+ ]
+ },
+ {
+ "id": "5a6cefeb.f45dc",
+ "type": "failure",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1720.75,
+ "y": 664.5,
+ "z": "484e90dc.3bd078",
+ "wires": [
+ [
+ "11426210.f443de"
+ ]
+ ]
+ },
+ {
+ "id": "11426210.f443de",
+ "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 from self-service-generate-name-changeassign\" />\n",
+ "comments": "",
+ "x": 1909.75,
+ "y": 595.5,
+ "z": "484e90dc.3bd078",
+ "wires": []
+ }
+] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.json
index 63a391d5..0b399bb1 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.json
@@ -1,966 +1 @@
-[
- {
- "id": "3b1aba17.7c1826",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 115,
- "y": 68,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "e99264a4.25e6a8"
- ]
- ]
- },
- {
- "id": "e99264a4.25e6a8",
- "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": 391,
- "y": 69,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "c338772a.5e1888"
- ]
- ]
- },
- {
- "id": "c338772a.5e1888",
- "type": "method",
- "name": "self-serve-vnf-ra-assignment",
- "xml": "<method rpc='self-serve-vnf-ra-assignment' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 708,
- "y": 69,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "971bd94.0992328"
- ]
- ]
- },
- {
- "id": "971bd94.0992328",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 127.5,
- "y": 151,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "10097b0c.be147d",
- "b1b46c68.863f28",
- "f0185691.279e7",
- "47b3200f.608d6",
- "3a4ad1c4.38fc2e",
- "c842e06b.8ab228",
- "be0316b4.790d2",
- "59d0a06.3503f6",
- "559fb17c.e49a68",
- "70263817.6abee"
- ]
- ]
- },
- {
- "id": "b1b46c68.863f28",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"request-id\" value=\"`$tmp.return.generate.vnf-se-serv-uuid`\"/>\n <parameter name=\"resource-type\" value=\"`$vnf-topology-operation-input.vnf-information.vnf-type`\" /> \n <parameter name=\"resource-id\" value=\"`$vnf-topology-operation-input.vnf-information.vnf-id`\" /> \n <parameter name=\"action-name\" value=\"resource-assignment-action\"/> \n <parameter name=\"responsePrefix\" value=\"sriovAssign\" />\n",
- "comments": "",
- "x": 312,
- "y": 197,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "71b23404.02121c",
- "type": "get-resource",
- "name": "get-resource VF_MODEL",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db1.vf-model'>\n \n\n",
- "comments": "",
- "outputs": 1,
- "x": 852.142822265625,
- "y": 587.2856521606445,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "7502b307.1af5a4",
- "d915743.fe9bf08",
- "2bba7cf3.b8c2bc"
- ]
- ]
- },
- {
- "id": "7502b307.1af5a4",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1097.142921447754,
- "y": 536.5713758468628,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "481c5f0.afa62a"
- ]
- ]
- },
- {
- "id": "481c5f0.afa62a",
- "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": 1270.142921447754,
- "y": 535.5713758468628,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "14e34196.659ba6",
- "type": "set",
- "name": "set tmp.sdnc-model-name, tmp.sdnc-model-version, tmp.sdnc-artifact-name",
- "xml": "<set>\n<parameter name='tmp.sdnc-model-name' value='`$db1.vf-model.sdnc-model-name`' />\n<parameter name='tmp.sdnc-model-version' value='`$db1.vf-model.sdnc-model-version`' />\n<parameter name='tmp.sdnc-artifact-name' value='`$db1.vf-model.sdnc-artifact-name`' />\n\n\n\n\n",
- "comments": "",
- "x": 1472.5714225769043,
- "y": 636.7141799926758,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "a4fe9c9.fb5b0e",
- "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": 1272.142921447754,
- "y": 584.5713758468628,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "3a4ad1c4.38fc2e",
- "type": "switchNode",
- "name": "switch: model info == NULL",
- "xml": "<switch test=\"`$tmp.sdnc-model-name == '' or $tmp.sdnc-model-version == '' or $tmp.sdnc-artifact-name == ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 373.142822265625,
- "y": 588.2856521606445,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "f4c0f536.df7df8"
- ]
- ]
- },
- {
- "id": "d915743.fe9bf08",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1103.142921447754,
- "y": 585.5713758468628,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "a4fe9c9.fb5b0e"
- ]
- ]
- },
- {
- "id": "f4c0f536.df7df8",
- "type": "outcome",
- "name": "true",
- "xml": "<outcome value='true'>",
- "comments": "",
- "outputs": 1,
- "x": 622.142822265625,
- "y": 588.2856521606445,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "71b23404.02121c"
- ]
- ]
- },
- {
- "id": "47b3200f.608d6",
- "type": "for",
- "name": "for vnf-topology-operation-input",
- "xml": "<for index='i' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >",
- "comments": "",
- "outputs": 1,
- "x": 389,
- "y": 388,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "eb6b4120.147a5"
- ]
- ]
- },
- {
- "id": "eb6b4120.147a5",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 611,
- "y": 387,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "7392a8a6.2a47a"
- ]
- ]
- },
- {
- "id": "66c14820.f9c39",
- "type": "set",
- "name": "set tmp.sdnc-model-name",
- "xml": "<set>\n<parameter name='tmp.sdnc-model-name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].value`' />\n",
- "comments": "",
- "x": 1262,
- "y": 320,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "c8da9580.2b1fc8",
- "type": "outcome",
- "name": "sdnc_model_name",
- "xml": "<outcome value='sdnc_model_name'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1008,
- "y": 320,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "66c14820.f9c39"
- ]
- ]
- },
- {
- "id": "7392a8a6.2a47a",
- "type": "switchNode",
- "name": "switch",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name`'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 770,
- "y": 387,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "c8da9580.2b1fc8",
- "e8bd2d0c.947458",
- "9fbb1f79.e96eb",
- "9ea74ab3.987f4"
- ]
- ]
- },
- {
- "id": "e8bd2d0c.947458",
- "type": "outcome",
- "name": "sdnc_model_version",
- "xml": "<outcome value='sdnc_model_version'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1011,
- "y": 366,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "354f425a.791bee"
- ]
- ]
- },
- {
- "id": "9fbb1f79.e96eb",
- "type": "outcome",
- "name": "sdnc_artifact_name",
- "xml": "<outcome value='sdnc_artifact_name'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1010,
- "y": 415,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "71247184.8b77d8"
- ]
- ]
- },
- {
- "id": "354f425a.791bee",
- "type": "set",
- "name": "set tmp.sdnc-model-version",
- "xml": "<set>\n<parameter name='tmp.sdnc-model-version' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].value`' />\n\n",
- "comments": "",
- "x": 1266,
- "y": 366,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "71247184.8b77d8",
- "type": "set",
- "name": "set tmp.sdnc-artifact-name",
- "xml": "<set>\n<parameter name='tmp.sdnc-artifact-name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].value`' />\n\n",
- "comments": "",
- "x": 1262,
- "y": 415,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "4dd91492.f93cac",
- "type": "set",
- "name": "set name-value other JsonString",
- "xml": "<set>\n<parameter name=\"tmp.config-name-value-other-payload\" value=\"`$tmp.config-name-value-other-payload + '&quot;' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + '&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].value + '&quot;,'`\"/>\n\n",
- "comments": "",
- "x": 1278,
- "y": 464,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "9ea74ab3.987f4",
- "type": "outcome",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 970.0000076293945,
- "y": 464.57142066955566,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "4dd91492.f93cac"
- ]
- ]
- },
- {
- "id": "c842e06b.8ab228",
- "type": "set",
- "name": "set configAssignment JsonString",
- "xml": "<set>\n<parameter name=\"tmp.config-name-value-payload4\" value=\"`$tmp.config-name-value-other-payload + '&quot;service-instance-id&quot;:&quot;' + $vnf-topology-operation-input.service-information.service-instance-id + '&quot;,'`\"/>\n<parameter name=\"tmp.config-name-value-payload5\" value=\"`$tmp.config-name-value-payload4 + '&quot;vnf-model-customization-uuid&quot;:&quot;' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid + '&quot;,'`\"/>\n<parameter name=\"tmp.config-name-value-payload6\" value=\"`$tmp.config-name-value-payload5 + '&quot;vnf-id&quot;:&quot;' + $vnf-topology-operation-input.vnf-information.vnf-id + '&quot;,'`\"/>\n<parameter name=\"tmp.config-name-value-payload7\" value=\"`$tmp.config-name-value-payload6 + '&quot;aic-cloud-region&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + '&quot;'`\"/>\n<parameter name=\"tmp.json-payload\" value=\"`'{' + $tmp.config-name-value-payload7 + '}'`\" />",
- "comments": "",
- "x": 383,
- "y": 707,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "be0316b4.790d2",
- "type": "execute",
- "name": "execute ConfigAssignment",
- "xml": "<execute plugin='org.openecomp.sdnc.config.assignment.service.ConfigAssignmentNode' method='process'>\n\t<parameter name=\"request-id\" value='`$request-id`' />\n\t<parameter name=\"resource-id\" value='`$resource-id`' /> \n\t<parameter name=\"resource-type\" value='`$resource-type`' />\n\t<parameter name=\"action-name\" value='`$action-name`' />\n\t<parameter name=\"template-names\" value=\"`'[&quot;' + $tmp.sdnc-artifact-name + '&quot;]'`\" />\n\t<parameter name=\"service-template-name\" value='`$tmp.sdnc-model-name`' />\n\t<parameter name=\"service-template-version\" value='`$tmp.sdnc-model-version`' />\n\t<parameter name='input-data' value='`$tmp.json-payload`' />\n\t<parameter name=\"prifix\" value=\"sriovAssign\" />",
- "comments": "",
- "outputs": 1,
- "x": 369,
- "y": 785,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "42110e18.f45af8",
- "3e7b87d6.7041e8"
- ]
- ]
- },
- {
- "id": "42110e18.f45af8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 559,
- "y": 761,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "ad545491.7c2e4"
- ]
- ]
- },
- {
- "id": "ad545491.7c2e4",
- "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 from ConfigAssignmentNode\" />\n",
- "comments": "",
- "x": 741,
- "y": 782,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "559fb17c.e49a68",
- "type": "for",
- "name": "for resource-accumulator-resolved-data loop",
- "xml": "<for index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 415,
- "y": 944,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "649757ec.4297e"
- ]
- ]
- },
- {
- "id": "8124e534.e1fe7",
- "type": "set",
- "name": "set from resource-accumulator-resolved-data",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].name`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>\n<parameter name='highnum' value='`$highnum + 1`' />\n",
- "comments": "",
- "x": 1447,
- "y": 996,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "70263817.6abee",
- "type": "for",
- "name": "for capability-data",
- "xml": "<for index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 334,
- "y": 1207,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "fdd77be.4778888"
- ]
- ]
- },
- {
- "id": "75f41ec9.a2806",
- "type": "for",
- "name": "for key-mapping",
- "xml": "<for index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >",
- "comments": "",
- "outputs": 1,
- "x": 722,
- "y": 1286,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "9acad820.b00a68"
- ]
- ]
- },
- {
- "id": "fdd77be.4778888",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 511,
- "y": 1207,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "f4f12ffc.4952c8",
- "75f41ec9.a2806"
- ]
- ]
- },
- {
- "id": "f4f12ffc.4952c8",
- "type": "set",
- "name": "set counter",
- "xml": "<set>\n<parameter name='num' value='0' />",
- "comments": "",
- "x": 685,
- "y": 1183,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "59d0a06.3503f6",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"`'sriovAssign.mashed-data.' + $tmp.sdnc-artifact-name`\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 359,
- "y": 865,
- "z": "f71f1d7.b5adf6",
- "wires": [
- []
- ]
- },
- {
- "id": "10097b0c.be147d",
- "type": "execute",
- "name": "execute generateUUID",
- "xml": " <execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" > \n <parameter name=\"ctx-destination\" value=\"tmp.return.generate.vnf-se-serv-uuid\" /> \n ",
- "comments": "",
- "outputs": 1,
- "x": 365,
- "y": 151,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "4ac47d0.68ec704"
- ]
- ]
- },
- {
- "id": "4ac47d0.68ec704",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 543,
- "y": 149,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "8083b3a2.780248"
- ]
- ]
- },
- {
- "id": "8083b3a2.780248",
- "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=\"generateUUID is failed\" />\n",
- "comments": "",
- "x": 690,
- "y": 150,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "92f17a3f.155768",
- "type": "for",
- "name": "for vnf-parameters-data.param",
- "xml": "<for index='cnt' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1388,
- "y": 944,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "b4d343.7109c4c"
- ]
- ]
- },
- {
- "id": "649757ec.4297e",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 694,
- "y": 945,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "9365408f.c6c6f",
- "c132e8f7.e921d8",
- "390d84cf.f48204"
- ]
- ]
- },
- {
- "id": "f0185691.279e7",
- "type": "switchNode",
- "name": "switch vnf-parameters-data.param_length",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 417,
- "y": 249,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "780eea64.1a2b0c",
- "4f86be8a.a5a418"
- ]
- ]
- },
- {
- "id": "780eea64.1a2b0c",
- "type": "outcome",
- "name": "null",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 655,
- "y": 217,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "32c872b.35a408e"
- ]
- ]
- },
- {
- "id": "4f86be8a.a5a418",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 654,
- "y": 281,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "5d2b28ad.0645b8"
- ]
- ]
- },
- {
- "id": "32c872b.35a408e",
- "type": "set",
- "name": "set pre service param len as 0",
- "xml": "<set>\n <parameter name='highnum' value='0' />\n <parameter name='prehighnum' value='0'/>\n",
- "comments": "",
- "x": 868,
- "y": 217,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "5d2b28ad.0645b8",
- "type": "set",
- "name": "set pre service param len",
- "xml": "<set>\n <parameter name='highnum' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' />\n <parameter name='prehighnum' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' />",
- "comments": "",
- "x": 853,
- "y": 281,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "b4d343.7109c4c",
- "type": "switchNode",
- "name": "switch input vnf-name",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cnt].name == $jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1646,
- "y": 944,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "4c134771.683f4"
- ]
- ]
- },
- {
- "id": "4c134771.683f4",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1826,
- "y": 944,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "2ddabbac.2ec004"
- ]
- ]
- },
- {
- "id": "2ddabbac.2ec004",
- "type": "set",
- "name": "set for existing param name",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cnt].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>\n<parameter name='tmp.mso.param.found' value='true' />\n",
- "comments": "",
- "x": 2036,
- "y": 945,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "390d84cf.f48204",
- "type": "switchNode",
- "name": "switch tmp.mso.param.not-found",
- "xml": "<switch test='`$tmp.mso.param.found`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 936,
- "y": 997,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "63764524.6435d4"
- ]
- ]
- },
- {
- "id": "63764524.6435d4",
- "type": "not-found",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1170,
- "y": 996,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "8124e534.e1fe7"
- ]
- ]
- },
- {
- "id": "9365408f.c6c6f",
- "type": "set",
- "name": "set for existing param name",
- "xml": "<set>\n<parameter name='tmp.mso.param.found' value='false' />\n",
- "comments": "",
- "x": 920,
- "y": 886,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "c132e8f7.e921d8",
- "type": "switchNode",
- "name": "switch check length > 0",
- "xml": "<switch test='`$prehighnum &gt; 0`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 912.5,
- "y": 945,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "63049a42.ba9d8c"
- ]
- ]
- },
- {
- "id": "63049a42.ba9d8c",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1159.5,
- "y": 945,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "92f17a3f.155768"
- ]
- ]
- },
- {
- "id": "1dd72859.ea109",
- "type": "for",
- "name": "for payload",
- "xml": "<for index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >",
- "comments": "",
- "outputs": 1,
- "x": 1981,
- "y": 1329,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "dc69327e.e35f2"
- ]
- ]
- },
- {
- "id": "dc69327e.e35f2",
- "type": "set",
- "name": "set resource-key",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key[$num].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-name`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key[$num].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-value`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>\n<parameter name='num' value='`$num + 1`' />\n",
- "comments": "",
- "x": 2168,
- "y": 1328,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "59eb3d70.39851c",
- "type": "set",
- "name": "set output-data ",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-name`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-value`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.capability-name`' value='`$jsonContextPrefix.capability-data[$i].capability-name`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.status`' value='PENDING'/>",
- "comments": "",
- "x": 1554,
- "y": 1209,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "3dd7f604.27aa1a",
- "type": "for",
- "name": "for output-key-mapping",
- "xml": "<for index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >",
- "comments": "",
- "outputs": 1,
- "x": 1142,
- "y": 1285,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "5ce3bd4f.7b2c8c"
- ]
- ]
- },
- {
- "id": "9acad820.b00a68",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 928,
- "y": 1286,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "3dd7f604.27aa1a"
- ]
- ]
- },
- {
- "id": "5ce3bd4f.7b2c8c",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1357,
- "y": 1285,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "59eb3d70.39851c",
- "b435769d.e12fb8",
- "37c4ce28.952daa"
- ]
- ]
- },
- {
- "id": "b435769d.e12fb8",
- "type": "set",
- "name": "set length",
- "xml": "<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' value='`$highnum + 1`'/>\n<parameter name='highnum' value='`$highnum + 1`' />\n\n",
- "comments": "",
- "x": 1542,
- "y": 1347,
- "z": "f71f1d7.b5adf6",
- "wires": []
- },
- {
- "id": "3e7b87d6.7041e8",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 564,
- "y": 823,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "ad545491.7c2e4"
- ]
- ]
- },
- {
- "id": "37c4ce28.952daa",
- "type": "switchNode",
- "name": "switch payload_length",
- "xml": "<switch test=\"`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 1578,
- "y": 1280,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "e0a4762d.f7835",
- "d4c7fb38.1af79"
- ]
- ]
- },
- {
- "id": "e0a4762d.f7835",
- "type": "outcome",
- "name": "true",
- "xml": "<outcome value='true'>",
- "comments": "",
- "outputs": 1,
- "x": 1799,
- "y": 1211,
- "z": "f71f1d7.b5adf6",
- "wires": [
- []
- ]
- },
- {
- "id": "d4c7fb38.1af79",
- "type": "other",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1806,
- "y": 1329,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "1dd72859.ea109"
- ]
- ]
- },
- {
- "id": "2bba7cf3.b8c2bc",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1099.2857246398926,
- "y": 636.5713481903076,
- "z": "f71f1d7.b5adf6",
- "wires": [
- [
- "14e34196.659ba6"
- ]
- ]
- }
-] \ No newline at end of file
+[{"id":"d1f5587e.d7dd7","type":"dgstart","name":"DGSTART","outputs":1,"x":120,"y":46,"z":"a95aba1e.fe56a8","wires":[["365f835e.b6b314"]]},{"id":"365f835e.b6b314","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":396,"y":47,"z":"a95aba1e.fe56a8","wires":[["a21c0999.c2f9c"]]},{"id":"a21c0999.c2f9c","type":"method","name":"self-serve-vnf-ra-assignment","xml":"<method rpc='self-serve-vnf-ra-assignment' mode='sync'>\n","comments":"","outputs":1,"x":713,"y":47,"z":"a95aba1e.fe56a8","wires":[["1ad530bd.68b05f"]]},{"id":"1ad530bd.68b05f","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":132.5,"y":129,"z":"a95aba1e.fe56a8","wires":[["cdd7ad93.83cac","61ff0860.421d18","c8e35dbb.f2591","e15057b7.93986","ac221a8d.2797c8","70e70d17.fd6c0c","d9000229.b7b3a8","2f4dde97.00d7ea","3cf53a24.629a5e","92fc6d0a.7ba46"]]},{"id":"61ff0860.421d18","type":"set","name":"set","xml":"<set>\n <parameter name=\"request-id\" value=\"`$tmp.return.generate.vnf-se-serv-uuid`\"/>\n <parameter name=\"resource-type\" value=\"`$vnf-topology-operation-input.vnf-information.vnf-type`\" /> \n <parameter name=\"resource-id\" value=\"`$vnf-topology-operation-input.vnf-information.vnf-id`\" /> \n <parameter name=\"action-name\" value=\"resource-assignment-action\"/> \n <parameter name=\"responsePrefix\" value=\"sriovAssign\" />\n","comments":"","x":317,"y":175,"z":"a95aba1e.fe56a8","wires":[]},{"id":"a3d4c414.b7b68","type":"get-resource","name":"get-resource VF_MODEL","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db1.vf-model'>\n \n\n","comments":"","outputs":1,"x":857.142822265625,"y":565.2856521606445,"z":"a95aba1e.fe56a8","wires":[["5330d0ab.fc351","e785809d.f46a4","6561efe.da4549"]]},{"id":"5330d0ab.fc351","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1102.142921447754,"y":514.5713758468628,"z":"a95aba1e.fe56a8","wires":[["bfa69a2c.746b1"]]},{"id":"bfa69a2c.746b1","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":1275.142921447754,"y":513.5713758468628,"z":"a95aba1e.fe56a8","wires":[]},{"id":"94ecc314.40344","type":"set","name":"set tmp.sdnc-model-name, tmp.sdnc-model-version, tmp.sdnc-artifact-name","xml":"<set>\n<parameter name='tmp.sdnc-model-name' value='`$db1.vf-model.sdnc-model-name`' />\n<parameter name='tmp.sdnc-model-version' value='`$db1.vf-model.sdnc-model-version`' />\n<parameter name='tmp.sdnc-artifact-name' value='`$db1.vf-model.sdnc-artifact-name`' />\n\n\n\n\n","comments":"","x":1477.5714225769043,"y":614.7141799926758,"z":"a95aba1e.fe56a8","wires":[]},{"id":"b00f6bb9.257ac","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":1277.142921447754,"y":562.5713758468628,"z":"a95aba1e.fe56a8","wires":[]},{"id":"ac221a8d.2797c8","type":"switchNode","name":"switch: model info == NULL","xml":"<switch test=\"`$tmp.sdnc-model-name == '' or $tmp.sdnc-model-version == '' or $tmp.sdnc-artifact-name == ''`\">\n","comments":"","outputs":1,"x":378.142822265625,"y":566.2856521606445,"z":"a95aba1e.fe56a8","wires":[["fa45c20f.2dd06"]]},{"id":"e785809d.f46a4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1108.142921447754,"y":563.5713758468628,"z":"a95aba1e.fe56a8","wires":[["b00f6bb9.257ac"]]},{"id":"fa45c20f.2dd06","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":627.142822265625,"y":566.2856521606445,"z":"a95aba1e.fe56a8","wires":[["a3d4c414.b7b68"]]},{"id":"e15057b7.93986","type":"for","name":"for vnf-topology-operation-input","xml":"<for index='i' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >","comments":"","outputs":1,"x":394,"y":366,"z":"a95aba1e.fe56a8","wires":[["e174048d.ab0328"]]},{"id":"e174048d.ab0328","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":616,"y":365,"z":"a95aba1e.fe56a8","wires":[["54efb1.4a67085"]]},{"id":"e765e0d4.fe929","type":"set","name":"set tmp.sdnc-model-name","xml":"<set>\n<parameter name='tmp.sdnc-model-name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].value`' />\n","comments":"","x":1267,"y":298,"z":"a95aba1e.fe56a8","wires":[]},{"id":"6d3512de.fa251c","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":1013,"y":298,"z":"a95aba1e.fe56a8","wires":[["e765e0d4.fe929"]]},{"id":"54efb1.4a67085","type":"switchNode","name":"switch","xml":"<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name`'>\n\n","comments":"","outputs":1,"x":775,"y":365,"z":"a95aba1e.fe56a8","wires":[["6d3512de.fa251c","2885f291.e50886","fe294820.e1c5a","2d3f609e.2736"]]},{"id":"2885f291.e50886","type":"outcome","name":"sdnc_model_version","xml":"<outcome value='sdnc_model_version'>\n","comments":"","outputs":1,"x":1016,"y":344,"z":"a95aba1e.fe56a8","wires":[["8daaeb25.6c5638"]]},{"id":"fe294820.e1c5a","type":"outcome","name":"sdnc_artifact_name","xml":"<outcome value='sdnc_artifact_name'>\n","comments":"","outputs":1,"x":1015,"y":393,"z":"a95aba1e.fe56a8","wires":[["9dbe3960.663c18"]]},{"id":"8daaeb25.6c5638","type":"set","name":"set tmp.sdnc-model-version","xml":"<set>\n<parameter name='tmp.sdnc-model-version' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].value`' />\n\n","comments":"","x":1271,"y":344,"z":"a95aba1e.fe56a8","wires":[]},{"id":"9dbe3960.663c18","type":"set","name":"set tmp.sdnc-artifact-name","xml":"<set>\n<parameter name='tmp.sdnc-artifact-name' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].value`' />\n\n","comments":"","x":1267,"y":393,"z":"a95aba1e.fe56a8","wires":[]},{"id":"7c05b983.2753f8","type":"set","name":"set name-value other JsonString","xml":"<set>\n<parameter name=\"tmp.config-name-value-other-payload\" value=\"`$tmp.config-name-value-other-payload + '&quot;' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + '&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].value + '&quot;,'`\"/>\n\n","comments":"","x":1283,"y":442,"z":"a95aba1e.fe56a8","wires":[]},{"id":"2d3f609e.2736","type":"outcome","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":975.0000076293945,"y":442.57142066955566,"z":"a95aba1e.fe56a8","wires":[["7c05b983.2753f8"]]},{"id":"70e70d17.fd6c0c","type":"set","name":"set configAssignment JsonString","xml":"<set>\n<parameter name=\"tmp.config-name-value-payload4\" value=\"`$tmp.config-name-value-other-payload + '&quot;service-instance-id&quot;:&quot;' + $vnf-topology-operation-input.service-information.service-instance-id + '&quot;,'`\"/>\n<parameter name=\"tmp.config-name-value-payload5\" value=\"`$tmp.config-name-value-payload4 + '&quot;vnf-model-customization-uuid&quot;:&quot;' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid + '&quot;,'`\"/>\n<parameter name=\"tmp.config-name-value-payload6\" value=\"`$tmp.config-name-value-payload5 + '&quot;vnf-id&quot;:&quot;' + $vnf-topology-operation-input.vnf-information.vnf-id + '&quot;,'`\"/>\n<parameter name=\"tmp.config-name-value-payload7\" value=\"`$tmp.config-name-value-payload6 + '&quot;aic-cloud-region&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + '&quot;'`\"/>\n<parameter name=\"tmp.json-payload\" value=\"`'{' + $tmp.config-name-value-payload7 + '}'`\" />","comments":"","x":388,"y":685,"z":"a95aba1e.fe56a8","wires":[]},{"id":"d9000229.b7b3a8","type":"execute","name":"execute ConfigAssignment","xml":"<execute plugin='org.onap.ccsdk.config.assignment.service.ConfigAssignmentNode' method='process'>\n\t<parameter name=\"request-id\" value='`$request-id`' />\n\t<parameter name=\"resource-id\" value='`$resource-id`' /> \n\t<parameter name=\"resource-type\" value='`$resource-type`' />\n\t<parameter name=\"action-name\" value='`$action-name`' />\n\t<parameter name=\"template-names\" value=\"`'[&quot;' + $tmp.sdnc-artifact-name + '&quot;]'`\" />\n\t<parameter name=\"service-template-name\" value='`$tmp.sdnc-model-name`' />\n\t<parameter name=\"service-template-version\" value='`$tmp.sdnc-model-version`' />\n\t<parameter name='input-data' value='`$tmp.json-payload`' />\n\t<parameter name=\"prifix\" value=\"sriovAssign\" />","comments":"","outputs":1,"x":374,"y":763,"z":"a95aba1e.fe56a8","wires":[["fa972b75.7eed48","4fe6ff79.7b50c"]]},{"id":"fa972b75.7eed48","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":564,"y":739,"z":"a95aba1e.fe56a8","wires":[["f9b71174.69e668"]]},{"id":"f9b71174.69e668","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 from ConfigAssignmentNode\" />\n","comments":"","x":746,"y":760,"z":"a95aba1e.fe56a8","wires":[]},{"id":"3cf53a24.629a5e","type":"for","name":"for resource-accumulator-resolved-data loop","xml":"<for index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >\n","comments":"","outputs":1,"x":420,"y":922,"z":"a95aba1e.fe56a8","wires":[["21e095c0.341e92"]]},{"id":"fd609b77.09945","type":"set","name":"set from resource-accumulator-resolved-data","xml":"<set>\n\t<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].name`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'/>\n\t<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>\n","comments":"","x":1650,"y":974,"z":"a95aba1e.fe56a8","wires":[]},{"id":"92fc6d0a.7ba46","type":"for","name":"for capability-data","xml":"<for index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >\n","comments":"","outputs":1,"x":339,"y":1185,"z":"a95aba1e.fe56a8","wires":[["56265c74.1f2c84"]]},{"id":"640bfdde.cb198c","type":"for","name":"for key-mapping","xml":"<for index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >","comments":"","outputs":1,"x":727,"y":1264,"z":"a95aba1e.fe56a8","wires":[["1f72211.d6822df"]]},{"id":"56265c74.1f2c84","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":516,"y":1185,"z":"a95aba1e.fe56a8","wires":[["8c8c5c72.786f38","640bfdde.cb198c"]]},{"id":"8c8c5c72.786f38","type":"set","name":"set counter","xml":"<set>\n<parameter name='num' value='0' />","comments":"","x":690,"y":1161,"z":"a95aba1e.fe56a8","wires":[]},{"id":"2f4dde97.00d7ea","type":"execute","name":"execute jsonStringToCtx","xml":"<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"`'sriovAssign.mashed-data.' + $tmp.sdnc-artifact-name`\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n","comments":"","outputs":1,"x":364,"y":843,"z":"a95aba1e.fe56a8","wires":[[]]},{"id":"cdd7ad93.83cac","type":"execute","name":"execute generateUUID","xml":" <execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" > \n <parameter name=\"ctx-destination\" value=\"tmp.return.generate.vnf-se-serv-uuid\" /> \n ","comments":"","outputs":1,"x":370,"y":129,"z":"a95aba1e.fe56a8","wires":[["d3e91a16.d35c08"]]},{"id":"d3e91a16.d35c08","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":548,"y":127,"z":"a95aba1e.fe56a8","wires":[["cfce5dfe.b174b8"]]},{"id":"cfce5dfe.b174b8","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=\"generateUUID is failed\" />\n","comments":"","x":695,"y":128,"z":"a95aba1e.fe56a8","wires":[]},{"id":"f29d2f4d.adba78","type":"for","name":"for vnf-parameters-data.param","xml":"<for index='cnt' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n","comments":"","outputs":1,"x":1393,"y":922,"z":"a95aba1e.fe56a8","wires":[["a9b55f1f.042bd"]]},{"id":"21e095c0.341e92","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":699,"y":923,"z":"a95aba1e.fe56a8","wires":[["13c2e86f.2e96a","d4384b38.86c1b8","5cab5d5a.c67bec"]]},{"id":"c8e35dbb.f2591","type":"switchNode","name":"switch vnf-parameters-data.param_length","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`'>\n","comments":"","outputs":1,"x":422,"y":227,"z":"a95aba1e.fe56a8","wires":[["46d145a5.a26e0c","2193095f.773fe6"]]},{"id":"46d145a5.a26e0c","type":"outcome","name":"null","xml":"<outcome value=''>","comments":"","outputs":1,"x":660,"y":195,"z":"a95aba1e.fe56a8","wires":[["8c70d624.70eff"]]},{"id":"2193095f.773fe6","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":659,"y":259,"z":"a95aba1e.fe56a8","wires":[["194cfa47.a6d416"]]},{"id":"8c70d624.70eff","type":"set","name":"set pre service param len as 0","xml":"<set>\n <parameter name='highnum' value='0' />\n <parameter name='prehighnum' value='0'/>\n","comments":"","x":873,"y":195,"z":"a95aba1e.fe56a8","wires":[]},{"id":"194cfa47.a6d416","type":"set","name":"set pre service param len","xml":"<set>\n <parameter name='highnum' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' />\n <parameter name='prehighnum' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' />","comments":"","x":858,"y":259,"z":"a95aba1e.fe56a8","wires":[]},{"id":"a9b55f1f.042bd","type":"switchNode","name":"switch input vnf-name","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cnt].name == $jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'>\n","comments":"","outputs":1,"x":1651,"y":922,"z":"a95aba1e.fe56a8","wires":[["bf203ccf.21f298"]]},{"id":"bf203ccf.21f298","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1831,"y":922,"z":"a95aba1e.fe56a8","wires":[["83ef272b.d2cf"]]},{"id":"83ef272b.d2cf","type":"set","name":"set for existing param name","xml":"<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cnt].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>\n<parameter name='tmp.mso.param.found' value='true' />\n","comments":"","x":2041,"y":923,"z":"a95aba1e.fe56a8","wires":[]},{"id":"5cab5d5a.c67bec","type":"switchNode","name":"switch tmp.mso.param.not-found","xml":"<switch test='`$tmp.mso.param.found`'>\n","comments":"","outputs":1,"x":941,"y":975,"z":"a95aba1e.fe56a8","wires":[["40dbb045.6aaf98"]]},{"id":"40dbb045.6aaf98","type":"not-found","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1175,"y":974,"z":"a95aba1e.fe56a8","wires":[["a8f4ab70.1045f"]]},{"id":"13c2e86f.2e96a","type":"set","name":"set for existing param name","xml":"<set>\n<parameter name='tmp.mso.param.found' value='false' />\n","comments":"","x":925,"y":864,"z":"a95aba1e.fe56a8","wires":[]},{"id":"d4384b38.86c1b8","type":"switchNode","name":"switch check length > 0","xml":"<switch test='`$prehighnum &gt; 0`'>\n","comments":"","outputs":1,"x":917.5,"y":923,"z":"a95aba1e.fe56a8","wires":[["7544181e.8ab49"]]},{"id":"7544181e.8ab49","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1164.5,"y":923,"z":"a95aba1e.fe56a8","wires":[["f29d2f4d.adba78"]]},{"id":"f6f50cca.f735f","type":"for","name":"for payload","xml":"<for index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >","comments":"","outputs":1,"x":1986,"y":1307,"z":"a95aba1e.fe56a8","wires":[["7010017d.913a78","1b495708.504e09","90bc66f9.bd9b98"]]},{"id":"7010017d.913a78","type":"set","name":"set resource-key","xml":"<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key[$num].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-name`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key[$num].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-value`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>\n<parameter name='num' value='`$num + 1`' />\n","comments":"","x":2173,"y":1306,"z":"a95aba1e.fe56a8","wires":[]},{"id":"efa0c9e.377ac38","type":"set","name":"set output-data ","xml":"<set>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-name`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-value`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.capability-name`' value='`$jsonContextPrefix.capability-data[$i].capability-name`'/>\n<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.status`' value='PENDING'/>","comments":"","x":1559,"y":1187,"z":"a95aba1e.fe56a8","wires":[]},{"id":"e1057749.92c108","type":"for","name":"for output-key-mapping","xml":"<for index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >","comments":"","outputs":1,"x":1147,"y":1263,"z":"a95aba1e.fe56a8","wires":[["7ca7faae.831604"]]},{"id":"1f72211.d6822df","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":933,"y":1264,"z":"a95aba1e.fe56a8","wires":[["e1057749.92c108"]]},{"id":"7ca7faae.831604","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":1362,"y":1263,"z":"a95aba1e.fe56a8","wires":[["efa0c9e.377ac38","735bc3d0.8e8324","14ac3ad4.f04095","bb0dccfa.abdf9"]]},{"id":"735bc3d0.8e8324","type":"set","name":"set length","xml":"<set>\n\t<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' value='`$highnum + 1`'/>\n\n","comments":"","x":1547,"y":1325,"z":"a95aba1e.fe56a8","wires":[]},{"id":"4fe6ff79.7b50c","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":569,"y":801,"z":"a95aba1e.fe56a8","wires":[["f9b71174.69e668"]]},{"id":"14ac3ad4.f04095","type":"switchNode","name":"switch payload_length","xml":"<switch test=\"`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`\">\n","comments":"","outputs":1,"x":1583,"y":1258,"z":"a95aba1e.fe56a8","wires":[["1a6f500.524e83","8728b338.d53418"]]},{"id":"1a6f500.524e83","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1804,"y":1189,"z":"a95aba1e.fe56a8","wires":[[]]},{"id":"8728b338.d53418","type":"other","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1811,"y":1307,"z":"a95aba1e.fe56a8","wires":[["f6f50cca.f735f"]]},{"id":"6561efe.da4549","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1104.2857246398926,"y":614.5713481903076,"z":"a95aba1e.fe56a8","wires":[["94ecc314.40344"]]},{"id":"1b495708.504e09","type":"set","name":"set length","xml":"<set>\n\t<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>\n","comments":"","x":2161,"y":1363,"z":"a95aba1e.fe56a8","wires":[]},{"id":"90bc66f9.bd9b98","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='num' value='`$num + 1`' />\n","comments":"","x":2185,"y":1416,"z":"a95aba1e.fe56a8","wires":[]},{"id":"bb0dccfa.abdf9","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='highnum' value='`$highnum + 1`' />\n\n","comments":"","x":1568,"y":1392,"z":"a95aba1e.fe56a8","wires":[]},{"id":"a8f4ab70.1045f","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1352,"y":973,"z":"a95aba1e.fe56a8","wires":[["fd609b77.09945","6c850c6f.2db434"]]},{"id":"6c850c6f.2db434","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='highnum' value='`$highnum + 1`' />\n","comments":"","x":1567,"y":1033,"z":"a95aba1e.fe56a8","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-unassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-unassign.json
index 2ac8de8d..45dcab56 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-unassign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-unassign.json
@@ -1 +1 @@
-[{"id":"265c832a.f5cfbc","type":"dgstart","name":"DGSTART","outputs":1,"x":115,"y":38.75,"z":"fd58ae68.836fa","wires":[["653d3555.5792dc"]]},{"id":"16b8762a.13cc5a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":158.72620391845703,"y":157.52779006958008,"z":"fd58ae68.836fa","wires":[["921c901.432aa7","a7d755ef.e8eb38","70e601d5.4ada9","2ef22046.3c4f6"]]},{"id":"4969f8c5.953108","type":"method","name":"method self-serve-vnf-unassign","xml":"<method rpc='self-serve-vnf-unassign' mode='sync'>\n","comments":"","outputs":1,"x":231.76190948486328,"y":93.45635509490967,"z":"fd58ae68.836fa","wires":[["16b8762a.13cc5a"]]},{"id":"653d3555.5792dc","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":390.23819732666016,"y":38.94049263000488,"z":"fd58ae68.836fa","wires":[["4969f8c5.953108"]]},{"id":"866b94c8.dd9848","type":"for","name":"foreach vnf-parameters-data.param[]","xml":"<for index='pidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n","comments":"","outputs":1,"x":744.1312026977539,"y":533.4523887634277,"z":"fd58ae68.836fa","wires":[["c16b8018.42fc2","edb4d199.2281b"]]},{"id":"af5fdc25.c5d8b","type":"switchNode","name":"switch resource-resolution-data.status","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`'>\n","comments":"","outputs":1,"x":484.17897033691406,"y":780.25013256073,"z":"fd58ae68.836fa","wires":[["3b550fad.ec11c","e3f296cc.e715b8","f3d7eee7.30b7"]]},{"id":"3b550fad.ec11c","type":"other","name":"SUCCESS","xml":"<outcome value='SUCCESS'>\n","comments":"","outputs":1,"x":759.5719718933105,"y":780.9643878936768,"z":"fd58ae68.836fa","wires":[["4df5d1db.a40f6"]]},{"id":"921c901.432aa7","type":"for","name":"foreach capability-order[]","xml":"<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n","comments":"","outputs":1,"x":413.0357894897461,"y":238.64282417297363,"z":"fd58ae68.836fa","wires":[["68c2afb3.11397","c6abc7.56f42438","e7eb32f7.2606b","866b94c8.dd9848"]]},{"id":"c16b8018.42fc2","type":"switchNode","name":"switch param capability-name == execution","xml":"<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n","comments":"","outputs":1,"x":1100.024024963379,"y":533.8452081680298,"z":"fd58ae68.836fa","wires":[["505a26f.1f5efd8"]]},{"id":"505a26f.1f5efd8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1363.524024963379,"y":534.0952081680298,"z":"fd58ae68.836fa","wires":[["af5fdc25.c5d8b"]]},{"id":"4df5d1db.a40f6","type":"call","name":"call ss.capability-dg","xml":"<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n","comments":"","outputs":1,"x":964.6907043457031,"y":780.7262392044067,"z":"fd58ae68.836fa","wires":[["c6f47da0.0f373","dd980216.42d38"]]},{"id":"68c2afb3.11397","type":"set","name":"ss.capability-name","xml":"<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n\n<!--\nss.capability.execution-order[]\n-->\n","comments":"","x":691.3928451538086,"y":238.59527587890625,"z":"fd58ae68.836fa","wires":[]},{"id":"edb4d199.2281b","type":"set","name":"tmp.param.capability-name","xml":"<set>\n<parameter name='tmp.param.capability-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1049.3810501098633,"y":488.45241832733154,"z":"fd58ae68.836fa","wires":[]},{"id":"e7eb32f7.2606b","type":"set","name":"set ss.capability.action = unassign","xml":"<set>\n<parameter name='ss.capability-action' value='unassign' />\n","comments":"","x":740.1069869995117,"y":285.5118598937988,"z":"fd58ae68.836fa","wires":[]},{"id":"c6f47da0.0f373","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1149.5832138061523,"y":780.726300239563,"z":"fd58ae68.836fa","wires":[["307bb657.9e848a"]]},{"id":"71758b14.465cf4","type":"set","name":"set capability-dg","xml":"<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n","comments":"","x":1132.8690567016602,"y":432.73809242248535,"z":"fd58ae68.836fa","wires":[]},{"id":"c6abc7.56f42438","type":"switchNode","name":"switch ss.capability-name","xml":"<switch test='`$ss.capability-name`'>\n","comments":"","outputs":1,"x":715.3690567016602,"y":334.4881000518799,"z":"fd58ae68.836fa","wires":[["79a97e33.1370c","34b852b1.9da43e","5e67013a.6bc83"]]},{"id":"79a97e33.1370c","type":"other","name":"alts-entitlement-assign","xml":"<outcome value='alts-entitlement-assign'>\n","comments":"","outputs":1,"x":998.1191787719727,"y":334.98809242248535,"z":"fd58ae68.836fa","wires":[["c4c2f7b4.7641d8"]]},{"id":"34b852b1.9da43e","type":"other","name":"alts-license-assign","xml":"<outcome value='alts-license-assign'>\n","comments":"","outputs":1,"x":987.3691787719727,"y":382.73809242248535,"z":"fd58ae68.836fa","wires":[["c4c2f7b4.7641d8"]]},{"id":"5e67013a.6bc83","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":953.369140625,"y":432.9880828857422,"z":"fd58ae68.836fa","wires":[["71758b14.465cf4"]]},{"id":"c4c2f7b4.7641d8","type":"set","name":"set capability-dg","xml":"<set>\n<parameter name='ss.capability-dg' value='self-serve-alts-assignment' />\n","comments":"","x":1256.8690567016602,"y":334.48809242248535,"z":"fd58ae68.836fa","wires":[]},{"id":"b83de260.2209e","type":"execute","name":"generate ss-vnf url replace service-instance-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-vnf-assignments`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vnf-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.service-instance-id`\"/>\n","comments":"","outputs":1,"x":1632.4405975341797,"y":834.6080255508423,"z":"fd58ae68.836fa","wires":[[]]},{"id":"45669e55.1a95","type":"execute","name":"execute RestApiCallNode - PUT vnf","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vnf.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vnf-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ss-vnf\" />\n\n","comments":"","outputs":1,"x":1601.9048919677734,"y":937.4652471542358,"z":"fd58ae68.836fa","wires":[["6a25a838.b89808","6385a97e.ee45e8","28036de8.2897e2"]]},{"id":"6a25a838.b89808","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1876.4985580444336,"y":991.4634008407593,"z":"fd58ae68.836fa","wires":[["d889fcc3.1ce5a"]]},{"id":"6385a97e.ee45e8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1868.9271926879883,"y":937.9634208679199,"z":"fd58ae68.836fa","wires":[["d889fcc3.1ce5a"]]},{"id":"28036de8.2897e2","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1872.6771850585938,"y":884.3205184936523,"z":"fd58ae68.836fa","wires":[["7b8b1e58.88c6d"]]},{"id":"7b8b1e58.88c6d","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2049.0474166870117,"y":884.2269997596741,"z":"fd58ae68.836fa","wires":[[]]},{"id":"d889fcc3.1ce5a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2071.0595169067383,"y":937.6076755523682,"z":"fd58ae68.836fa","wires":[["47577c8a.088694"]]},{"id":"47577c8a.088694","type":"configure","name":"set error-message","xml":"<set>\n<parameter name=\"error-message\" value=\"Error persisting self-serve vnf assignments in MD-SAL during unassign\" />\n","comments":"","outputs":1,"x":2289.345283508301,"y":937.7505388259888,"z":"fd58ae68.836fa","wires":[[]]},{"id":"d4392346.c91d5","type":"set","name":"set vf data for restapi-call-node","xml":"<set>\n<parameter name='vf.vnf-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\n<parameter name='vf.vnf-data.sdnc-request-header.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.`' />\n<parameter name='vf.vnf-data.request-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.`' />\n<parameter name='vf.vnf-data.service-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.`' />\n<parameter name='vf.vnf-data.vnf-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.`' />\n<parameter name='vf.vnf-data.vnf-request-input.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.`' />\n<parameter name='vf.vnf-data.vnf-request-input.vnf-input-parameters.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.`' />\n<parameter name='vf.vnf-data.vnf-topology.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.`' />\n<parameter name='vf.vnf-data.vnf-level-oper-status.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.`' />","comments":"","x":1584.8928985595703,"y":780.7025375366211,"z":"fd58ae68.836fa","wires":[]},{"id":"16673b2e.a31d15","type":"execute","name":"generate ss-vnf url - replace vnf-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vnf-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vnf-url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n","comments":"","outputs":1,"x":1596.726303100586,"y":885.4167938232422,"z":"fd58ae68.836fa","wires":[[]]},{"id":"307bb657.9e848a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1310.535888671875,"y":780.4644117355347,"z":"fd58ae68.836fa","wires":[["b83de260.2209e","45669e55.1a95","d4392346.c91d5","16673b2e.a31d15","7f6d0abe.2057e4"]]},{"id":"7f6d0abe.2057e4","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to unassign self-serve vnf assignments for ' + $ss.capability-dg + ' with error: ' + $error-message`\" />\n","comments":"","x":1531.4408569335938,"y":1065.238195180893,"z":"fd58ae68.836fa","wires":[]},{"id":"2ef22046.3c4f6","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnf-assign.log' />\n","comments":"","outputs":1,"x":372.4526596069336,"y":363.14298248291016,"z":"fd58ae68.836fa","wires":[[]]},{"id":"a7d755ef.e8eb38","type":"set","name":"set ss.capability.execution-order[]","xml":"<set>\n<parameter name='ss.capability.execution-order[0]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[1]' value='eipam-ip-assign' />\n<parameter name='ss.capability.execution-order[2]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[3]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[4]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[5]' value='generate-name' />\n<parameter name='ss.capability.execution-order_length' value='6' />","comments":"","x":438.25003814697266,"y":157.75000381469727,"z":"fd58ae68.836fa","wires":[]},{"id":"e3f296cc.e715b8","type":"other","name":"DELETED","xml":"<outcome value='DELETED'>\n","comments":"","outputs":1,"x":760.0714416503906,"y":847.4999847412109,"z":"fd58ae68.836fa","wires":[["65e72d4e.a402b4"]]},{"id":"70e601d5.4ada9","type":"set","name":"set ss.capability-type = vnf","xml":"<set>\n<parameter name='ss.capability-type' value='vnf' />\n","comments":"","x":417.85713958740234,"y":197.3214340209961,"z":"fd58ae68.836fa","wires":[]},{"id":"dd980216.42d38","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1151.25,"y":725,"z":"fd58ae68.836fa","wires":[["1097874e.d2d249"]]},{"id":"1097874e.d2d249","type":"set","name":"set capability-dg to UNASSIGNED","xml":"<set>\n<parameter name='`$ss.capability-dg`' value='UNASSIGNED' />\n","comments":"","x":1376.999984741211,"y":724.7499723434448,"z":"fd58ae68.836fa","wires":[]},{"id":"f221686f.d189a8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to unassign self-serve vnf assignments because the status for ' + $ss.capability-name + ' is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`\"/>","comments":"","x":1142.1428833007812,"y":957.7143857138499,"z":"fd58ae68.836fa","wires":[]},{"id":"65e72d4e.a402b4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":916.5714340209961,"y":847.4999732971191,"z":"fd58ae68.836fa","wires":[[]]},{"id":"f3d7eee7.30b7","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":751.1428375244141,"y":905.7142868041992,"z":"fd58ae68.836fa","wires":[["fe6afcfd.d977d"]]},{"id":"277ee929.a0ea46","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=\"`'SS: resource-resolution-data.status: ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`\"/>\n<parameter name=\"field2\" value=\"`'SS: ss.capability-name: ' + $ss.capability-name`\"/>","comments":"","outputs":1,"x":1121.4285888671875,"y":905.7143923895701,"z":"fd58ae68.836fa","wires":[[]]},{"id":"fe6afcfd.d977d","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":937.8571319580078,"y":905.7143383026123,"z":"fd58ae68.836fa","wires":[["277ee929.a0ea46","f221686f.d189a8"]]}] \ No newline at end of file
+[{"id":"a6385a9d.53bbd8","type":"dgstart","name":"DGSTART","outputs":1,"x":210,"y":41.42857360839844,"z":"50509cff.314024","wires":[["68771f71.1c988"]]},{"id":"c2830c02.352ca","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":253.72620391845703,"y":160.20636367797852,"z":"50509cff.314024","wires":[["7a7eb5ea.d9c27c","cadde72f.768658","61da759.184e28c","8603e753.202d08","ee44abff.0a52c8"]]},{"id":"df83a576.0a03c8","type":"method","name":"method self-serve-vnf-unassign","xml":"<method rpc='self-serve-vnf-unassign' mode='sync'>\n","comments":"","outputs":1,"x":326.7619094848633,"y":96.1349287033081,"z":"50509cff.314024","wires":[["c2830c02.352ca"]]},{"id":"68771f71.1c988","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":485.23819732666016,"y":41.61906623840332,"z":"50509cff.314024","wires":[["df83a576.0a03c8"]]},{"id":"d04042ce.4a948","type":"for","name":"foreach vnf-parameters-data.param[]","xml":"<for index='pidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n","comments":"","outputs":1,"x":842.4645538330078,"y":386.1309928894043,"z":"50509cff.314024","wires":[["bcabf14.e18d21","5506226b.04018c"]]},{"id":"20db9a83.47e506","type":"switchNode","name":"switch resource-resolution-data.status","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`'>\n","comments":"","outputs":1,"x":579.1789703369141,"y":782.9287061691284,"z":"50509cff.314024","wires":[["af96cd32.20d99","8025d892.0ac388","acbf2cb7.1041"]]},{"id":"af96cd32.20d99","type":"other","name":"SUCCESS","xml":"<outcome value='SUCCESS'>\n","comments":"","outputs":1,"x":854.5719718933105,"y":783.6429615020752,"z":"50509cff.314024","wires":[["cd65f121.8b137"]]},{"id":"7a7eb5ea.d9c27c","type":"for","name":"foreach capability-order[]","xml":"<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n","comments":"","outputs":1,"x":508.0357894897461,"y":241.32139778137207,"z":"50509cff.314024","wires":[["697d23ef.8a2fbc","5b9beee2.2b424","d04042ce.4a948","9b2708ec.431508"]]},{"id":"bcabf14.e18d21","type":"switchNode","name":"switch param capability-name == execution","xml":"<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n","comments":"","outputs":1,"x":1198.3574676513672,"y":429.85712242126465,"z":"50509cff.314024","wires":[["4c332048.14e83"]]},{"id":"4c332048.14e83","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1461.8574676513672,"y":430.10712242126465,"z":"50509cff.314024","wires":[["20db9a83.47e506"]]},{"id":"cd65f121.8b137","type":"call","name":"call ss.capability-dg","xml":"<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n","comments":"","outputs":1,"x":1059.6907043457031,"y":783.4048128128052,"z":"50509cff.314024","wires":[["7c9a62de.b663cc"]]},{"id":"697d23ef.8a2fbc","type":"set","name":"ss.capability-name","xml":"<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n\n<!--\nss.capability.execution-order[]\n-->\n","comments":"","x":788.3928451538086,"y":241.2738494873047,"z":"50509cff.314024","wires":[]},{"id":"5506226b.04018c","type":"set","name":"tmp.param.capability-name","xml":"<set>\n<parameter name='tmp.param.capability-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1147.7144927978516,"y":384.4643325805664,"z":"50509cff.314024","wires":[]},{"id":"5b9beee2.2b424","type":"set","name":"set ss.capability.action = unassign","xml":"<set>\n<parameter name='ss.capability-action' value='unassign' />\n","comments":"","x":835.1069869995117,"y":288.19043350219727,"z":"50509cff.314024","wires":[]},{"id":"7c9a62de.b663cc","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1244.5832138061523,"y":783.4048738479614,"z":"50509cff.314024","wires":[["5ae85112.18d99"]]},{"id":"9b2708ec.431508","type":"set","name":"set capability-dg","xml":"<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n","comments":"","x":779.5356750488281,"y":337.08334732055664,"z":"50509cff.314024","wires":[]},{"id":"bad23ec5.376d3","type":"execute","name":"generate ss-vnf url replace service-instance-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.ss-vnf-assignments`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vnf-url\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.service-instance-id`\"/>\n","comments":"","outputs":1,"x":1727.4405975341797,"y":837.2865991592407,"z":"50509cff.314024","wires":[[]]},{"id":"fbec284e.585d38","type":"execute","name":"execute RestApiCallNode - PUT vnf","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vnf.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vnf-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ss-vnf\" />\n\n","comments":"","outputs":1,"x":1696.9048919677734,"y":940.1438207626343,"z":"50509cff.314024","wires":[["c47e36eb.d05728","b96d7225.bf08f"]]},{"id":"c47e36eb.d05728","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1971.4985580444336,"y":994.1419744491577,"z":"50509cff.314024","wires":[["e88954ca.906d58"]]},{"id":"b96d7225.bf08f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1963.9271926879883,"y":940.6419944763184,"z":"50509cff.314024","wires":[["e88954ca.906d58"]]},{"id":"e88954ca.906d58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2166.0595169067383,"y":940.2862491607666,"z":"50509cff.314024","wires":[["80bd3596.06daa8"]]},{"id":"80bd3596.06daa8","type":"configure","name":"set error-message","xml":"<set>\n<parameter name=\"error-message\" value=\"Error persisting self-serve vnf assignments in MD-SAL during unassign\" />\n","comments":"","outputs":1,"x":2384.345283508301,"y":940.4291124343872,"z":"50509cff.314024","wires":[[]]},{"id":"5acff27f.210b1c","type":"set","name":"set vf data for restapi-call-node","xml":"<set>\n<parameter name='vf.vnf-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\n<parameter name='vf.vnf-data.sdnc-request-header.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.`' />\n<parameter name='vf.vnf-data.request-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.`' />\n<parameter name='vf.vnf-data.service-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.`' />\n<parameter name='vf.vnf-data.vnf-information.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.`' />\n<parameter name='vf.vnf-data.vnf-request-input.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.`' />\n<parameter name='vf.vnf-data.vnf-request-input.vnf-input-parameters.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.vnf-input-parameters.`' />\n<parameter name='vf.vnf-data.vnf-topology.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.`' />\n<parameter name='vf.vnf-data.vnf-level-oper-status.'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.`' />","comments":"","x":1679.8928985595703,"y":783.3811111450195,"z":"50509cff.314024","wires":[]},{"id":"3ed081d1.8cc08e","type":"execute","name":"generate ss-vnf url - replace vnf-id","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss-vnf-url`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ss-vnf-url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n","comments":"","outputs":1,"x":1691.726303100586,"y":888.0953674316406,"z":"50509cff.314024","wires":[[]]},{"id":"5ae85112.18d99","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1405.535888671875,"y":783.1429853439331,"z":"50509cff.314024","wires":[["bad23ec5.376d3","fbec284e.585d38","5acff27f.210b1c","3ed081d1.8cc08e","4e5f969d.6392c8"]]},{"id":"4e5f969d.6392c8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to unassign self-serve vnf assignments for ' + $ss.capability-dg + ' with error: ' + $error-message`\" />\n","comments":"","x":1626.4408569335938,"y":1067.9167687892914,"z":"50509cff.314024","wires":[]},{"id":"8603e753.202d08","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnf-assign.log' />\n","comments":"","outputs":1,"x":469.1193313598633,"y":1437.488163948059,"z":"50509cff.314024","wires":[[]]},{"id":"cadde72f.768658","type":"set","name":"set ss.capability.execution-order[]","xml":"<set>\n<parameter name='ss.capability.execution-order[0]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[1]' value='mS-mac-address-assign' />\n<parameter name='ss.capability.execution-order[2]' value='eipam-ip-assign' />\n<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[4]' value='mS-vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[5]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[6]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[7]' value='generate-name' />\n<parameter name='ss.capability.execution-order_length' value='8' />","comments":"","x":533.2500381469727,"y":160.4285774230957,"z":"50509cff.314024","wires":[]},{"id":"8025d892.0ac388","type":"other","name":"DELETED","xml":"<outcome value='DELETED'>\n","comments":"","outputs":1,"x":855.0714416503906,"y":850.1785583496094,"z":"50509cff.314024","wires":[["3057289e.008328"]]},{"id":"61da759.184e28c","type":"set","name":"set ss.capability-type = vnf","xml":"<set>\n<parameter name='ss.capability-type' value='vnf' />\n","comments":"","x":512.8571395874023,"y":200.00000762939453,"z":"50509cff.314024","wires":[]},{"id":"6b6d2942.d47c48","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Failed to unassign self-serve vnf assignments because the status for ' + $ss.capability-name + ' is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`\"/>","comments":"","x":1237.1428833007812,"y":960.3929593222483,"z":"50509cff.314024","wires":[]},{"id":"3057289e.008328","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1011.5714340209961,"y":850.1785469055176,"z":"50509cff.314024","wires":[[]]},{"id":"acbf2cb7.1041","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":846.1428375244141,"y":908.3928604125977,"z":"50509cff.314024","wires":[["c1c0b7f6.69a4e8"]]},{"id":"70287cdc.85b194","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=\"`'SS: resource-resolution-data.status: ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`\"/>\n<parameter name=\"field2\" value=\"`'SS: ss.capability-name: ' + $ss.capability-name`\"/>","comments":"","outputs":1,"x":1216.4285888671875,"y":908.3929659979685,"z":"50509cff.314024","wires":[[]]},{"id":"c1c0b7f6.69a4e8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1032.8571319580078,"y":908.3929119110107,"z":"50509cff.314024","wires":[["70287cdc.85b194","6b6d2942.d47c48"]]},{"id":"1c8c4c56.6f0bc4","type":"for","name":"for each vnf","xml":"<for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1036.6666145324707,"y":1267.381091117859,"z":"50509cff.314024","wires":[["39ffbb9b.5384c4"]]},{"id":"48bdb965.fbf268","type":"comment","name":"Remove VNF from service data","info":"","comments":"","x":448.825382232666,"y":1225.9527435302734,"z":"50509cff.314024","wires":[]},{"id":"39ffbb9b.5384c4","type":"set","name":"move vnf to remove one","xml":"<set>\n\t<parameter name=\"$tmpidx\" value=\"`$idx - 1`\"/>\n\t<parameter name=\"service-data.vnfs.vnf[$tmpidx].\" value=\"$service-data.vnfs.vnf[$idx].\" />\n\t\n","comments":"","x":1270.2577476501465,"y":1266.4050426483154,"z":"50509cff.314024","wires":[]},{"id":"ee44abff.0a52c8","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":492.92447662353516,"y":1268.9607200622559,"z":"50509cff.314024","wires":[["3c166715.7796b8","62f98baa.f6f574"]]},{"id":"3c166715.7796b8","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":669.9245185852051,"y":1229.6273069381714,"z":"50509cff.314024","wires":[["8af99073.0156"]]},{"id":"8af99073.0156","type":"set","name":"Remove vnfs","xml":"<set>\n\t<parameter name=\"service-data.vnfs.\" value=\"\"/>\n\n","comments":"","x":833.5910148620605,"y":1229.6274061203003,"z":"50509cff.314024","wires":[]},{"id":"62f98baa.f6f574","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":671.4484100341797,"y":1313.103446006775,"z":"50509cff.314024","wires":[["b4f726ae.38e868"]]},{"id":"c1ef091a.99d9e8","type":"set","name":"set new vnf length","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf_length\" value=\"`$service-data.vnfs.vnf_length - 1`\"/>\n\n\t\n","comments":"","x":1056.220703125,"y":1357.9606647491455,"z":"50509cff.314024","wires":[]},{"id":"2c024236.55d4ae","type":"set","name":"Remove the last vnf in the list","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1].\" value=\"\"/>\n\n","comments":"","x":1091.92435836792,"y":1313.0716857910156,"z":"50509cff.314024","wires":[]},{"id":"b4f726ae.38e868","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":837.2577514648438,"y":1313.6272268295288,"z":"50509cff.314024","wires":[["1c8c4c56.6f0bc4","2c024236.55d4ae","c1ef091a.99d9e8"]]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
index 94b28d6f..1a107a3d 100755
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
@@ -1 +1 @@
-[{"id":"26435c0d.fc79a4","type":"dgstart","name":"DGSTART","outputs":1,"x":120,"y":77.02430057525635,"z":"656aafb.8a6395","wires":[["e2d1700f.ddcd"]]},{"id":"e2d1700f.ddcd","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":233.85713577270508,"y":116.83383846282959,"z":"656aafb.8a6395","wires":[["7041aa61.644a04"]]},{"id":"7041aa61.644a04","type":"method","name":"method vf-module-topology-operation-assign","xml":"<method rpc='vf-module-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":233.42862701416016,"y":157.02430057525635,"z":"656aafb.8a6395","wires":[["65acec70.9c56c4"]]},{"id":"c730118a.e21ce","type":"comment","name":"vf-module-topology-operation-assign","info":"","comments":"","x":525.3210983276367,"y":20,"z":"656aafb.8a6395","wires":[]},{"id":"6fb1dec4.0529f","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":525.1905097961426,"y":332.548122882843,"z":"656aafb.8a6395","wires":[["108c83b4.cef43c","ad04160f.641278"]]},{"id":"108c83b4.cef43c","type":"outcome","name":"CreateVfModuleInstance","xml":"<outcome value='CreateVfModuleInstance'>\n","comments":"","outputs":1,"x":787.2381248474121,"y":309.6910090446472,"z":"656aafb.8a6395","wires":[["1ba480fd.d952ef"]]},{"id":"ad04160f.641278","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":730.9047698974609,"y":355.07199811935425,"z":"656aafb.8a6395","wires":[["f06e1d11.aac0f"]]},{"id":"1ba480fd.d952ef","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":977.0952892303467,"y":309.69104051589966,"z":"656aafb.8a6395","wires":[[]]},{"id":"f06e1d11.aac0f","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":995.9047775268555,"y":355.40531063079834,"z":"656aafb.8a6395","wires":[]},{"id":"62441125.66a0b","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":572.5237770080566,"y":423.6910729408264,"z":"656aafb.8a6395","wires":[["107fd326.9ba41d","ca0f147f.907428"]]},{"id":"4ea2965.8808268","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":1013.9521980285645,"y":448.1195454597473,"z":"656aafb.8a6395","wires":[]},{"id":"107fd326.9ba41d","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":838.3094673156738,"y":404.0719037055969,"z":"656aafb.8a6395","wires":[["4f40032c.c4bacc"]]},{"id":"ca0f147f.907428","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":846.8808975219727,"y":448.3576169013977,"z":"656aafb.8a6395","wires":[["4ea2965.8808268"]]},{"id":"4f40032c.c4bacc","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":1013.309398651123,"y":403.21480417251587,"z":"656aafb.8a6395","wires":[]},{"id":"488e702.2bac09","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":567.6190414428711,"y":632.2624082565308,"z":"656aafb.8a6395","wires":[["24f9c122.2250be","d25bd1ae.c2c51"]]},{"id":"24f9c122.2250be","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":808.3333129882812,"y":609.4051485061646,"z":"656aafb.8a6395","wires":[["505fc81a.807868"]]},{"id":"d25bd1ae.c2c51","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":808.0951538085938,"y":650.3576669692993,"z":"656aafb.8a6395","wires":[["9ec01ab9.e2ba98"]]},{"id":"110bcecd.ba7661","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":154.5238037109375,"y":2918.929323196411,"z":"656aafb.8a6395","wires":[["e1906aa5.79edf8","4579baea.4e1ce4","99398bc4.52b678","deb3a0da.1b837","ec603470.f9c408","64628347.fcadac","24ff0c47.3546a4","bbb0684c.92c108","73ee4632.723818","6b10e668.07ccf8","ef4d2a4.c7047d8","93254957.8f37d8","d4ff85a5.3e2f38","fb3addee.0067e","74b7384e.7dc558","eb5208b9.6edea8","8fbc261.8df31d8","f9c64c2d.c2c64","c027e91b.5ae848","5866abdc.5ae8b4","5cfaa9c0.9d8738","a9429c24.2435a","dd018545.07e8e8","74133334.aced1c","bf94cb16.e2d428","f2c3fa39.f42268","df5aea18.782d88","3fd43ef9.658b62"]]},{"id":"505fc81a.807868","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":974.999927520752,"y":608.6909036636353,"z":"656aafb.8a6395","wires":[]},{"id":"9ec01ab9.e2ba98","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":970.3332977294922,"y":650.0242853164673,"z":"656aafb.8a6395","wires":[["25b275ee.8e053a"]]},{"id":"25b275ee.8e053a","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":1221.6665954589844,"y":649.6910133361816,"z":"656aafb.8a6395","wires":[["d30b08f1.d32668"]]},{"id":"d30b08f1.d32668","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1451.6666069030762,"y":649.0243263244629,"z":"656aafb.8a6395","wires":[["68c36e5e.1e03f"]]},{"id":"e2b3c75a.fbe358","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":516.6666641235352,"y":563.6909074783325,"z":"656aafb.8a6395","wires":[]},{"id":"dd7dd66d.514b18","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1773.3332443237305,"y":620.024284362793,"z":"656aafb.8a6395","wires":[]},{"id":"a941c95a.005118","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":506.6666717529297,"y":700.3576040267944,"z":"656aafb.8a6395","wires":[["d2524204.b0f77"]]},{"id":"d2524204.b0f77","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":685.000057220459,"y":699.6909799575806,"z":"656aafb.8a6395","wires":[["4e3ba237.282e2c"]]},{"id":"4e3ba237.282e2c","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":844.9999656677246,"y":699.0242834091187,"z":"656aafb.8a6395","wires":[]},{"id":"e1906aa5.79edf8","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":536.6667633056641,"y":1673.6910963058472,"z":"656aafb.8a6395","wires":[["69dd7fc2.bfa07","e3821c4a.5365d"]]},{"id":"69dd7fc2.bfa07","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":794.0477180480957,"y":1640.833869934082,"z":"656aafb.8a6395","wires":[["12e01545.41510b"]]},{"id":"12e01545.41510b","type":"set","name":"set vf-module-index=0","xml":"<set>\n<parameter name='vf-module-index' value='0' />\n","comments":"","x":981.6667556762695,"y":1641.500644683838,"z":"656aafb.8a6395","wires":[]},{"id":"e3821c4a.5365d","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":794.476261138916,"y":1705.119728088379,"z":"656aafb.8a6395","wires":[["3625b8e4.8a6ed8"]]},{"id":"431edeca.30bd2","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":1179.6668014526367,"y":1685.3101234436035,"z":"656aafb.8a6395","wires":[]},{"id":"261c711c.8a8afe","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":1138.7618942260742,"y":1729.4053535461426,"z":"656aafb.8a6395","wires":[["ffc7b05f.851d6"]]},{"id":"3625b8e4.8a6ed8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":931.1905403137207,"y":1705.1196537017822,"z":"656aafb.8a6395","wires":[["431edeca.30bd2","261c711c.8a8afe"]]},{"id":"ffc7b05f.851d6","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":1642.3809967041016,"y":1728.976764678955,"z":"656aafb.8a6395","wires":[["9819f262.00a9b"]]},{"id":"9819f262.00a9b","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2085.000045776367,"y":1728.5482158660889,"z":"656aafb.8a6395","wires":[["fa80d8c4.eff008"]]},{"id":"fa80d8c4.eff008","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":2236.904926300049,"y":1728.5482025146484,"z":"656aafb.8a6395","wires":[]},{"id":"c7fe0b36.b32f28","type":"comment","name":"make sure this VF module doesn't exist already","info":"","comments":"","x":1668.8333435058594,"y":1683.6042566299438,"z":"656aafb.8a6395","wires":[]},{"id":"4579baea.4e1ce4","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":547.3333435058594,"y":1784.690951347351,"z":"656aafb.8a6395","wires":[]},{"id":"99398bc4.52b678","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":553.8333625793457,"y":1897.1910581588745,"z":"656aafb.8a6395","wires":[]},{"id":"873da3a5.72cd5","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":1314.7856216430664,"y":2056.428984642029,"z":"656aafb.8a6395","wires":[]},{"id":"deb3a0da.1b837","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":513.8332824707031,"y":2170.3813247680664,"z":"656aafb.8a6395","wires":[["7cf3e2b0.e4015c"]]},{"id":"7cf3e2b0.e4015c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":659.1189727783203,"y":2170.381393432617,"z":"656aafb.8a6395","wires":[["20446503.96b8aa"]]},{"id":"20446503.96b8aa","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":806.261833190918,"y":2169.9528274536133,"z":"656aafb.8a6395","wires":[]},{"id":"ec603470.f9c408","type":"get-resource","name":"get-resource cloud region","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\"\n pfx='aai.cloud-region' local-only='false' >\n\n","comments":"","outputs":1,"x":552.6904983520508,"y":1970.5245962142944,"z":"656aafb.8a6395","wires":[["b56be644.999f38","db27dd5b.ccee4"]]},{"id":"db27dd5b.ccee4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":766.9366912841797,"y":1988.6754522323608,"z":"656aafb.8a6395","wires":[["aea5f281.3febe"]]},{"id":"aea5f281.3febe","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":941.9366645812988,"y":1988.6754884719849,"z":"656aafb.8a6395","wires":[]},{"id":"b56be644.999f38","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":775.8652877807617,"y":1946.9611854553223,"z":"656aafb.8a6395","wires":[["3fc25aad.735066"]]},{"id":"3fc25aad.735066","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":942.2145652770996,"y":1946.2667627334595,"z":"656aafb.8a6395","wires":[]},{"id":"64628347.fcadac","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":546.3095703125,"y":2654.2869262695312,"z":"656aafb.8a6395","wires":[]},{"id":"68c36e5e.1e03f","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1600.0000686645508,"y":647.9440250396729,"z":"656aafb.8a6395","wires":[["dd7dd66d.514b18","d5f2edac.9d2be"]]},{"id":"d5f2edac.9d2be","type":"break","name":"break","xml":"<break>\n","comments":"","x":1735.0000343322754,"y":669.6106109619141,"z":"656aafb.8a6395","wires":[]},{"id":"ba680463.606c28","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":928.1666221618652,"y":2211.7773180007935,"z":"656aafb.8a6395","wires":[]},{"id":"24ff0c47.3546a4","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":572.0236968994141,"y":2234.601761817932,"z":"656aafb.8a6395","wires":[["dea644df.085118","73169093.cd052"]]},{"id":"dea644df.085118","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":777.6903686523438,"y":2211.744725227356,"z":"656aafb.8a6395","wires":[["ba680463.606c28"]]},{"id":"73169093.cd052","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":779.1189651489258,"y":2256.0303163528442,"z":"656aafb.8a6395","wires":[["79238a6c.919764"]]},{"id":"79238a6c.919764","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":933.4047012329102,"y":2255.458888530731,"z":"656aafb.8a6395","wires":[]},{"id":"1f14efed.62082","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":929.1188926696777,"y":2300.3159942626953,"z":"656aafb.8a6395","wires":[]},{"id":"bbb0684c.92c108","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":544.6427154541016,"y":2323.1404991149902,"z":"656aafb.8a6395","wires":[["88d9b82d.799bb8","a27f6a.0dcca098"]]},{"id":"88d9b82d.799bb8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":778.6426887512207,"y":2300.2834310531616,"z":"656aafb.8a6395","wires":[["1f14efed.62082"]]},{"id":"a27f6a.0dcca098","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":780.0712852478027,"y":2344.56902217865,"z":"656aafb.8a6395","wires":[["c2e02ca.0b685d"]]},{"id":"c2e02ca.0b685d","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":934.3570213317871,"y":2343.997594356537,"z":"656aafb.8a6395","wires":[]},{"id":"62153199.201c2","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":926.2618255615234,"y":2389.173201560974,"z":"656aafb.8a6395","wires":[]},{"id":"73ee4632.723818","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":552.785587310791,"y":2411.997646331787,"z":"656aafb.8a6395","wires":[["26a8f04b.475c8","476c4b25.1c1b84"]]},{"id":"26a8f04b.475c8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":775.785572052002,"y":2389.1406087875366,"z":"656aafb.8a6395","wires":[["62153199.201c2"]]},{"id":"476c4b25.1c1b84","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":777.214168548584,"y":2433.426199913025,"z":"656aafb.8a6395","wires":[["c4b078c0.a8ed28"]]},{"id":"c4b078c0.a8ed28","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":931.4999046325684,"y":2432.854772090912,"z":"656aafb.8a6395","wires":[]},{"id":"e657442c.ead3c8","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":926.2618255615234,"y":2476.316023826599,"z":"656aafb.8a6395","wires":[]},{"id":"6b10e668.07ccf8","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":547.785587310791,"y":2499.140468597412,"z":"656aafb.8a6395","wires":[["f168f0ce.54b45","33cec373.42738c"]]},{"id":"f168f0ce.54b45","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":775.785572052002,"y":2476.2834310531616,"z":"656aafb.8a6395","wires":[["e657442c.ead3c8"]]},{"id":"33cec373.42738c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":777.214168548584,"y":2520.56902217865,"z":"656aafb.8a6395","wires":[["ea01df66.59c76"]]},{"id":"ea01df66.59c76","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":931.4999046325684,"y":2519.997594356537,"z":"656aafb.8a6395","wires":[]},{"id":"ef4d2a4.c7047d8","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":562.237922668457,"y":2571.6494579315186,"z":"656aafb.8a6395","wires":[]},{"id":"93254957.8f37d8","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":515.4285697937012,"y":1840.372633934021,"z":"656aafb.8a6395","wires":[]},{"id":"d4ff85a5.3e2f38","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":574.9443130493164,"y":2059.031279563904,"z":"656aafb.8a6395","wires":[["82c8e882.337268"]]},{"id":"82c8e882.337268","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n","comments":"","outputs":1,"x":822.6228561401367,"y":2058.7812089920044,"z":"656aafb.8a6395","wires":[["78be2657.4761c8"]]},{"id":"78be2657.4761c8","type":"outcome","name":"complex","xml":"<outcome value='complex'>\n","comments":"","outputs":1,"x":992.0871772766113,"y":2058.1740312576294,"z":"656aafb.8a6395","wires":[["292c6898.f5d278"]]},{"id":"f6d1d3fe.3f36b","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":1332.1823348999023,"y":2012.6026067733765,"z":"656aafb.8a6395","wires":[[]]},{"id":"292c6898.f5d278","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1151.8490371704102,"y":2059.2693948745728,"z":"656aafb.8a6395","wires":[["f6d1d3fe.3f36b","fd0333a4.b3c89","873da3a5.72cd5"]]},{"id":"fd0333a4.b3c89","type":"break","name":"break","xml":"<break>\n","comments":"","x":1301.8489990234375,"y":2102.6026916503906,"z":"656aafb.8a6395","wires":[]},{"id":"c622ee1f.60898","type":"execute","name":"execute PropertiesNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":530.7142791748047,"y":259.88143253326416,"z":"656aafb.8a6395","wires":[[]]},{"id":"5866abdc.5ae8b4","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":560.5953598022461,"y":5992.23706048727,"z":"656aafb.8a6395","wires":[]},{"id":"a9429c24.2435a","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":497.16666412353516,"y":6084.855390489101,"z":"656aafb.8a6395","wires":[]},{"id":"c027e91b.5ae848","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":501.4523696899414,"y":5944.5853652358055,"z":"656aafb.8a6395","wires":[]},{"id":"f9c64c2d.c2c64","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":546.3333740234375,"y":5896.3708772063255,"z":"656aafb.8a6395","wires":[]},{"id":"5cfaa9c0.9d8738","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":492.04761505126953,"y":6037.085206925869,"z":"656aafb.8a6395","wires":[[]]},{"id":"74b7384e.7dc558","type":"save","name":"update vf-module","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vf-module-name\" value=\"`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vf-module-object-path`\" />\n<parameter name=\"automated-assignment\" value=\"`$automated-assignment`\" />","comments":"","outputs":1,"x":540.4762268066406,"y":4220.039322853088,"z":"656aafb.8a6395","wires":[["652740cb.83ab2","4329d4e9.833ffc"]]},{"id":"93ef82f6.77bf8","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":1045.5239028930664,"y":4254.80075353384,"z":"656aafb.8a6395","wires":[]},{"id":"652740cb.83ab2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":715.5478668212891,"y":4188.419944763184,"z":"656aafb.8a6395","wires":[["ed63435e.aa384"]]},{"id":"4329d4e9.833ffc","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":724.1192398071289,"y":4257.03903478384,"z":"656aafb.8a6395","wires":[["abbcc2f3.09db4"]]},{"id":"bc498ebb.62e89","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":1050.5478210449219,"y":4206.563501358032,"z":"656aafb.8a6395","wires":[]},{"id":"fb3addee.0067e","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":562.1428718566895,"y":4012.89657497406,"z":"656aafb.8a6395","wires":[]},{"id":"35075c06.3ff5b4","type":"save","name":"save vf-module relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module:relationship-list\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n","comments":"","outputs":1,"x":1330.8332557678223,"y":5011.524610519409,"z":"656aafb.8a6395","wires":[["eebf0c8d.02687","17cb2186.384fde"]]},{"id":"eebf0c8d.02687","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1550.6665992736816,"y":4982.396354675293,"z":"656aafb.8a6395","wires":[["9626c0d4.cffb4"]]},{"id":"17cb2186.384fde","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1559.2381324768066,"y":5035.01549911499,"z":"656aafb.8a6395","wires":[["d7b5caa2.dbe748"]]},{"id":"a5942506.20edd8","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":1885.666732788086,"y":5002.206251144409,"z":"656aafb.8a6395","wires":[]},{"id":"eb5208b9.6edea8","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":524.1667404174805,"y":4826.191459655762,"z":"656aafb.8a6395","wires":[["2895f74a.780eb8"]]},{"id":"c51b1efc.3f796","type":"for","name":"for each vm-network","xml":"<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n","comments":"","outputs":1,"x":907.4999923706055,"y":5195.524995565414,"z":"656aafb.8a6395","wires":[["19879c24.7f2f24"]]},{"id":"2c0c296.d55dad6","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No l3-network found in AAI for network ID '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n","comments":"","x":1887.5001068115234,"y":5052.19079208374,"z":"656aafb.8a6395","wires":[]},{"id":"8fbc261.8df31d8","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":509.9285430908203,"y":5817.237373292446,"z":"656aafb.8a6395","wires":[["64726337.9e62cc"]]},{"id":"64726337.9e62cc","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":704.9285736083984,"y":5816.570381104946,"z":"656aafb.8a6395","wires":[["6bfd6084.d709f"]]},{"id":"ad3cf09c.9226f","type":"save","name":"save VIPR_CONFIGURATION","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )\" >","comments":"","outputs":1,"x":1096.5952758789062,"y":5839.2380313277245,"z":"656aafb.8a6395","wires":[["5e616199.78de3"]]},{"id":"b9d57fe1.533e5","type":"comment","name":"Not a failure","info":"","comments":"","x":1616.5951766967773,"y":5839.238036096096,"z":"656aafb.8a6395","wires":[]},{"id":"5e616199.78de3","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1306.5952606201172,"y":5839.238181054592,"z":"656aafb.8a6395","wires":[["26b1e0ff.8c0e"]]},{"id":"26b1e0ff.8c0e","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":1449.9287033081055,"y":5839.238018929958,"z":"656aafb.8a6395","wires":[[]]},{"id":"5588e4f4.192e3c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1479.928825378418,"y":5790.569732606411,"z":"656aafb.8a6395","wires":[["6ef1b6fa.74d458"]]},{"id":"47184014.145f","type":"comment","name":"Not a failure","info":"","comments":"","x":1803.2618789672852,"y":5788.903554856777,"z":"656aafb.8a6395","wires":[]},{"id":"6ef1b6fa.74d458","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":1625.9287605285645,"y":5790.570365846157,"z":"656aafb.8a6395","wires":[[]]},{"id":"6bfd6084.d709f","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":873.2619667053223,"y":5815.570225656033,"z":"656aafb.8a6395","wires":[["a8168d5b.f3523","ad3cf09c.9226f"]]},{"id":"a8168d5b.f3523","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":1186.5952911376953,"y":5790.904365479946,"z":"656aafb.8a6395","wires":[["5588e4f4.192e3c"]]},{"id":"ed63435e.aa384","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":873.8334350585938,"y":4188.190615653992,"z":"656aafb.8a6395","wires":[["bc498ebb.62e89","78341ff5.2c4ba"]]},{"id":"abbcc2f3.09db4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":874.8333511352539,"y":4254.85690587759,"z":"656aafb.8a6395","wires":[["93ef82f6.77bf8","78341ff5.2c4ba"]]},{"id":"9626c0d4.cffb4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1719.166603088379,"y":4982.190624237061,"z":"656aafb.8a6395","wires":[["a5942506.20edd8","b9195698.e1ca38"]]},{"id":"d7b5caa2.dbe748","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1714.166603088379,"y":5035.190466880798,"z":"656aafb.8a6395","wires":[["2c0c296.d55dad6","b9195698.e1ca38"]]},{"id":"dd018545.07e8e8","type":"execute","name":"execute RestApiCallNode - get preload-list","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-preload\" />\n\n","comments":"","outputs":1,"x":601.6666946411133,"y":2737.024694442749,"z":"656aafb.8a6395","wires":[["38fd8c9e.bc06d4","31fd432b.0f5fac"]]},{"id":"38fd8c9e.bc06d4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":865.0000101725259,"y":2700.3579107920323,"z":"656aafb.8a6395","wires":[["4a068e1a.966a4"]]},{"id":"31fd432b.0f5fac","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":868.3332977294922,"y":2775.3579063415527,"z":"656aafb.8a6395","wires":[["f560d3ad.ba84f"]]},{"id":"4a068e1a.966a4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1026.6666984558105,"y":2698.691195487976,"z":"656aafb.8a6395","wires":[["2f57bab0.882396"]]},{"id":"f560d3ad.ba84f","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1023.3333053588867,"y":2775.357748031616,"z":"656aafb.8a6395","wires":[["c91133f9.d9e49"]]},{"id":"2f57bab0.882396","type":"switchNode","name":"switch mdsal-preload.response-code","xml":"<switch test='`$mdsal-preload.response-code`'>\n","comments":"","outputs":1,"x":1255,"y":2698.6912364959717,"z":"656aafb.8a6395","wires":[["29f6cde1.82aa82","c5e747b2.1f3448"]]},{"id":"29f6cde1.82aa82","type":"outcome","name":"404 (not found)","xml":"<outcome value='404'>\n","comments":"","outputs":1,"x":1506.6667366027832,"y":2662.024610519409,"z":"656aafb.8a6395","wires":[["57da7d13.9d23e4"]]},{"id":"57da7d13.9d23e4","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-no-preload","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\n","comments":"","outputs":1,"x":1903.3332061767578,"y":2660.357738494873,"z":"656aafb.8a6395","wires":[["176979e3.8dfcd6"]]},{"id":"176979e3.8dfcd6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2273.333354949951,"y":2658.6912746429443,"z":"656aafb.8a6395","wires":[["21d1dcd4.4f6544"]]},{"id":"21d1dcd4.4f6544","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":2429.9999465942383,"y":2657.0245685577393,"z":"656aafb.8a6395","wires":[]},{"id":"c5e747b2.1f3448","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1481.6667747497559,"y":2718.691237449646,"z":"656aafb.8a6395","wires":[["95f3102e.43dbf"]]},{"id":"95f3102e.43dbf","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error retrieving preload-information\" />\n","comments":"","x":1646.6665840148926,"y":2717.0244903564453,"z":"656aafb.8a6395","wires":[]},{"id":"c91133f9.d9e49","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-preload","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\n","comments":"","outputs":1,"x":1386.6665954589844,"y":2777.024496078491,"z":"656aafb.8a6395","wires":[["91af88ba.737b58"]]},{"id":"91af88ba.737b58","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1742.3334579467773,"y":2775.3581142425537,"z":"656aafb.8a6395","wires":[["76f92896.248a58"]]},{"id":"76f92896.248a58","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":1897.333381652832,"y":2775.3581943511963,"z":"656aafb.8a6395","wires":[]},{"id":"2895f74a.780eb8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":714.6668090820312,"y":4827.024694442749,"z":"656aafb.8a6395","wires":[["c51b1efc.3f796","df1e2be4.7bff88"]]},{"id":"df1e2be4.7bff88","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":901.3335113525391,"y":4483.691401481628,"z":"656aafb.8a6395","wires":[["36bfaf08.699ea"]]},{"id":"93dc27d7.d2e7f8","type":"save","name":"save vnfc to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n","comments":"","outputs":1,"x":1264.6667137145996,"y":4310.691418647766,"z":"656aafb.8a6395","wires":[["d084a25f.130fa","f5b7c328.fea4e"]]},{"id":"36bfaf08.699ea","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1069.6668128967285,"y":4484.358228683472,"z":"656aafb.8a6395","wires":[["93dc27d7.d2e7f8","716e53c6.f8971c","5e637da9.e8c6f4","397a51e2.a9811e"]]},{"id":"d084a25f.130fa","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1453.6666946411133,"y":4286.358032166958,"z":"656aafb.8a6395","wires":[["9256f0a5.e0827"]]},{"id":"8809f864.0b9208","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error saving vnfc to AAI\" />\n","comments":"","x":1794.6669082641602,"y":4322.167888045311,"z":"656aafb.8a6395","wires":[]},{"id":"9256f0a5.e0827","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1620.8334426879883,"y":4302.152465760708,"z":"656aafb.8a6395","wires":[["8809f864.0b9208","6dd31c8a.306554"]]},{"id":"397a51e2.a9811e","type":"save","name":"save vnfc relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vf-module\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id +\n '/vf-modules/vf-module/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n","comments":"","outputs":1,"x":1276.3333778381348,"y":4408.691504478455,"z":"656aafb.8a6395","wires":[["b73184ef.8eab58","47b09b6b.b72904"]]},{"id":"43675438.e22aec","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating vnfc relationships in AAI\" />\n","comments":"","x":1786.3333129882812,"y":4400.358340263367,"z":"656aafb.8a6395","wires":[]},{"id":"ea558d44.ab434","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating vnfc relationships\" />\n","comments":"","x":1781.5002212524414,"y":4452.0095472335815,"z":"656aafb.8a6395","wires":[]},{"id":"1450e757.7e8919","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1608.1665687561035,"y":4382.009128570557,"z":"656aafb.8a6395","wires":[["43675438.e22aec","6dd31c8a.306554"]]},{"id":"43b26d4f.2168a4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1608.1666450500488,"y":4435.008887290955,"z":"656aafb.8a6395","wires":[["ea558d44.ab434","6dd31c8a.306554"]]},{"id":"b73184ef.8eab58","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1451.33345413208,"y":4382.0247983932495,"z":"656aafb.8a6395","wires":[["1450e757.7e8919"]]},{"id":"47b09b6b.b72904","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1459.904987335205,"y":4434.643942832947,"z":"656aafb.8a6395","wires":[["43b26d4f.2168a4"]]},{"id":"716e53c6.f8971c","type":"for","name":"for each vnfc-network-role","xml":"<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n","comments":"","outputs":1,"x":1283.0000038146973,"y":4670.357853889465,"z":"656aafb.8a6395","wires":[["5174a4c6.f867ec"]]},{"id":"74133334.aced1c","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":532.6667251586914,"y":3303.024682998657,"z":"656aafb.8a6395","wires":[["4fef35f2.d4b31c"]]},{"id":"da513051.0c80f","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":909.3334655761719,"y":3006.6916103363037,"z":"656aafb.8a6395","wires":[["39475bd5.415024"]]},{"id":"39475bd5.415024","type":"for","name":"for each vnfc-network-role","xml":"<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n","comments":"","outputs":1,"x":1122.1667785644531,"y":3006.5246181488037,"z":"656aafb.8a6395","wires":[["39bd0525.e9673a"]]},{"id":"39bd0525.e9673a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1315.5003280639648,"y":3005.8581142425537,"z":"656aafb.8a6395","wires":[["211a45be.e73e6a","3d73ced8.240982","9348f910.7316b8","dc00b3e.1e7765","1a36dc6b.f54da4","66e2bf1b.b4a97"]]},{"id":"211a45be.e73e6a","type":"set","name":"set found-network-role to false","xml":"<set>\n<parameter name='found-network-role' value='false' />\n","comments":"","x":1549.1669311523438,"y":2909.191512107849,"z":"656aafb.8a6395","wires":[]},{"id":"3d73ced8.240982","type":"for","name":"for each vnf-network","xml":"<for index='vnf-network-index' start='0'\n end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n","comments":"","outputs":1,"x":1517.5001831054688,"y":2957.5246047973633,"z":"656aafb.8a6395","wires":[["c4db9112.14214"]]},{"id":"9348f910.7316b8","type":"set","name":"set tmp.network-role","xml":"<set>\n<parameter name='tmp.network-role' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role`' />\n","comments":"","x":1520.8335189819336,"y":2862.5247631073,"z":"656aafb.8a6395","wires":[]},{"id":"c4db9112.14214","type":"switchNode","name":"network-roles match?","xml":"<switch test='`$tmp.network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n","comments":"","outputs":1,"x":1730.8334426879883,"y":2955.857936859131,"z":"656aafb.8a6395","wires":[["43a60930.0fb2c8"]]},{"id":"43a60930.0fb2c8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1910.8336563110352,"y":2954.1915950775146,"z":"656aafb.8a6395","wires":[["a2149f57.02558"]]},{"id":"a2149f57.02558","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2040.8334197998047,"y":2954.1913528442383,"z":"656aafb.8a6395","wires":[["8953ca67.9978f8","7d1c2cc.f6fa6d4"]]},{"id":"8953ca67.9978f8","type":"set","name":"set found-network-role to true","xml":"<set>\n<parameter name='found-network-role' value='true' />\n","comments":"","x":2237.500255584717,"y":2922.5246028900146,"z":"656aafb.8a6395","wires":[]},{"id":"7d1c2cc.f6fa6d4","type":"break","name":"break","xml":"<break>\n","comments":"","x":2167.500171661377,"y":2972.524850845337,"z":"656aafb.8a6395","wires":[]},{"id":"dc00b3e.1e7765","type":"switchNode","name":"switch found-network-role","xml":"<switch test='`$found-network-role`'>\n","comments":"","outputs":1,"x":1532.5001792907715,"y":3005.857961654663,"z":"656aafb.8a6395","wires":[["9701b094.853bb"]]},{"id":"9701b094.853bb","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1722.5002365112305,"y":3005.858205795288,"z":"656aafb.8a6395","wires":[["1a02e5e2.37764a"]]},{"id":"ffec08a5.88c838","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\"\n value=\"`'Cannot find VNF network role ' + $tmp.network-role`\" />\n","comments":"","x":2032.500099182129,"y":3004.5251054763794,"z":"656aafb.8a6395","wires":[]},{"id":"6787e7f7.3e3718","type":"comment","name":"Loop through and determine network and subnet ids, and store them in context memory","info":"","comments":"","x":984.1667251586914,"y":2901.191452026367,"z":"656aafb.8a6395","wires":[]},{"id":"1a36dc6b.f54da4","type":"set","name":"store network-id","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`' />\n","comments":"","x":1500.8334312438965,"y":3052.857961654663,"z":"656aafb.8a6395","wires":[]},{"id":"66e2bf1b.b4a97","type":"for","name":"for each vnfc-subnet-role","xml":"<for index='subnet-role-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n","comments":"","outputs":1,"x":1525.833366394043,"y":3206.1914081573486,"z":"656aafb.8a6395","wires":[["4b5ec7f4.4e5d08"]]},{"id":"4b5ec7f4.4e5d08","type":"for","name":"for each vnfc-address-family","xml":"<for index='address-family-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n","comments":"","outputs":1,"x":1770.8333587646484,"y":3206.1912994384766,"z":"656aafb.8a6395","wires":[["7266ee36.9fc2e"]]},{"id":"89d10c7.03b9cf","type":"set","name":"set found-subnet to false","xml":"<set>\n<parameter name='found-subnet' value='false' />\n","comments":"","x":2190.833366394043,"y":3152.8580465316772,"z":"656aafb.8a6395","wires":[]},{"id":"3b7448f8.d9ff38","type":"for","name":"for each vnf address family","xml":"<for silentFailure='true' index='vnf-address-family-index' start='0'\n end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n","comments":"","outputs":1,"x":2195.833251953125,"y":3199.524227142334,"z":"656aafb.8a6395","wires":[["fec50717.207ed8"]]},{"id":"b1a77703.c09158","type":"set","name":"set tmp.address-family and tmp.subnet-role","xml":"<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n<parameter name='tmp.subnet-role'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-subnet-role`' />\n","comments":"","x":2247.4999923706055,"y":3106.1912155151367,"z":"656aafb.8a6395","wires":[]},{"id":"fec50717.207ed8","type":"switchNode","name":"address-families match?","xml":"<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>\n","comments":"","outputs":1,"x":2442.499931335449,"y":3197.857805252075,"z":"656aafb.8a6395","wires":[["d38a96f4.39fe88"]]},{"id":"d38a96f4.39fe88","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2622.499897003174,"y":3197.858211517334,"z":"656aafb.8a6395","wires":[["cca1b8aa.7bfbf8"]]},{"id":"ee552abf.ebd808","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3089.1663818359375,"y":3194.5246362686157,"z":"656aafb.8a6395","wires":[["fb5002c1.eb703","7ece3f26.2fecd"]]},{"id":"fb5002c1.eb703","type":"set","name":"set found-subnet to true","xml":"<set>\n<parameter name='found-subnet' value='true' />\n","comments":"","x":3269.166664123535,"y":3164.524552345276,"z":"656aafb.8a6395","wires":[]},{"id":"7ece3f26.2fecd","type":"break","name":"break","xml":"<break>\n","comments":"","x":3215.8331336975098,"y":3212.8581342697144,"z":"656aafb.8a6395","wires":[]},{"id":"293030b5.eb0f5","type":"switchNode","name":"switch found-subnet","xml":"<switch test='`$found-subnet`'>\n","comments":"","outputs":1,"x":2172.499954223633,"y":3244.5243101119995,"z":"656aafb.8a6395","wires":[["6c505583.2996fc"]]},{"id":"6c505583.2996fc","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2350.833293914795,"y":3244.5245542526245,"z":"656aafb.8a6395","wires":[["35168b08.f767a4"]]},{"id":"a7c172c7.b1211","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Cannot find VNF address family '\n + $tmp.address-family\n + ' for subnet role '\n + $tmp.subnet-role`\" />\n","comments":"","x":2667.499782562256,"y":3241.524631500244,"z":"656aafb.8a6395","wires":[]},{"id":"d0c8a716.7b7cf8","type":"set","name":"store subnet-id (from sdnc-subnet-id)","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />\n","comments":"","x":2220.833122253418,"y":3289.8576459884644,"z":"656aafb.8a6395","wires":[]},{"id":"bf94cb16.e2d428","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\n","comments":"","outputs":1,"x":523.3333129882812,"y":3966.071620941162,"z":"656aafb.8a6395","wires":[[]]},{"id":"5174a4c6.f867ec","type":"for","name":"for each vnfc-subnetwork-role","xml":"<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n","comments":"","outputs":1,"x":1541.6667671203613,"y":4669.691248893738,"z":"656aafb.8a6395","wires":[["2c378b11.4bddb4"]]},{"id":"2c378b11.4bddb4","type":"for","name":"for each vnfc-address-family","xml":"<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n","comments":"","outputs":1,"x":1805.6667518615723,"y":4668.691336631775,"z":"656aafb.8a6395","wires":[["12b644ea.1cc82b"]]},{"id":"bcbaadbf.dbba4","type":"for","name":"for each vnfc-ip-address","xml":"<for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\n","comments":"","outputs":1,"x":2219.333179473877,"y":4730.357754707336,"z":"656aafb.8a6395","wires":[["76052f92.1b8d1"]]},{"id":"12b644ea.1cc82b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2018.3333778381348,"y":4668.691336631775,"z":"656aafb.8a6395","wires":[["84e0a123.150f7","bcbaadbf.dbba4"]]},{"id":"84e0a123.150f7","type":"set","name":"set tmp.address-family","xml":"<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n","comments":"","x":2218.333667755127,"y":4583.691409111023,"z":"656aafb.8a6395","wires":[]},{"id":"76052f92.1b8d1","type":"switchNode","name":"switch address family","xml":"<switch test='`$tmp.address-family`'>\n","comments":"","outputs":1,"x":2458.3332710266113,"y":4728.691576957703,"z":"656aafb.8a6395","wires":[["98314889.e73bb8","42639bc.b7f5764"]]},{"id":"98314889.e73bb8","type":"outcome","name":"ipv4","xml":"<outcome value='ipv4'>\n","comments":"","outputs":1,"x":2655.476276397705,"y":4632.262837409973,"z":"656aafb.8a6395","wires":[["39883e35.d1bea2"]]},{"id":"42639bc.b7f5764","type":"outcome","name":"ipv6","xml":"<outcome value='ipv6'>\n","comments":"","outputs":1,"x":2653.0953483581543,"y":4812.024868965149,"z":"656aafb.8a6395","wires":[["bfd7e037.4b715"]]},{"id":"d15e1933.103cb8","type":"comment","name":"Fixed IPs","info":"","comments":"","x":1390.0001665751133,"y":4610.35808467865,"z":"656aafb.8a6395","wires":[]},{"id":"265ee3cd.79724c","type":"save","name":"save l3-interface-ipv4-address-list object to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv4-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n","comments":"","outputs":1,"x":3098.8094062805176,"y":4580.595917383831,"z":"656aafb.8a6395","wires":[["d3e44cdf.4ddf"]]},{"id":"39883e35.d1bea2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2805.476276397705,"y":4632.262756029766,"z":"656aafb.8a6395","wires":[["265ee3cd.79724c","c6039477.bd3778"]]},{"id":"28b581c.b31507e","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv4-address-list object in AAI\" />\n","comments":"","x":3682.142925262451,"y":4598.929576555889,"z":"656aafb.8a6395","wires":[]},{"id":"45328b00.36e7d4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3512.309280395508,"y":4580.580409685772,"z":"656aafb.8a6395","wires":[["28b581c.b31507e","a3fa30dc.ae097"]]},{"id":"d3e44cdf.4ddf","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3355.4761657714844,"y":4580.596079508465,"z":"656aafb.8a6395","wires":[["45328b00.36e7d4"]]},{"id":"c6039477.bd3778","type":"save","name":"save l3-interface-ipv4-address-list relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv4-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n","comments":"","outputs":1,"x":3093.8096504211426,"y":4678.929336229961,"z":"656aafb.8a6395","wires":[["3cecedfa.c612b2","93e79eb8.b37ea"]]},{"id":"6212c320.740dac","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv4-address-list relationships in AAI\" />\n","comments":"","x":3680.47603225708,"y":4670.596007982891,"z":"656aafb.8a6395","wires":[]},{"id":"8bf9ee91.86e21","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv4-address-list relationships\" />\n","comments":"","x":3680.642894744873,"y":4720.580465952557,"z":"656aafb.8a6395","wires":[]},{"id":"34a6760c.cb568a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3513.975902557373,"y":4650.580381075542,"z":"656aafb.8a6395","wires":[["6212c320.740dac","a3fa30dc.ae097"]]},{"id":"6650bc97.17d3c4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3513.9759788513184,"y":4703.58013979594,"z":"656aafb.8a6395","wires":[["8bf9ee91.86e21","a3fa30dc.ae097"]]},{"id":"3cecedfa.c612b2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3357.1427879333496,"y":4650.596050898235,"z":"656aafb.8a6395","wires":[["34a6760c.cb568a"]]},{"id":"93e79eb8.b37ea","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":3365.7143211364746,"y":4703.2151953379325,"z":"656aafb.8a6395","wires":[["6650bc97.17d3c4"]]},{"id":"bc227347.5fb69","type":"save","name":"save l3-interface-ipv6-address-list object to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv6-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n","comments":"","outputs":1,"x":3097.6191444396973,"y":4759.643973350525,"z":"656aafb.8a6395","wires":[["1fb322aa.72fa5d"]]},{"id":"bfd7e037.4b715","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2804.2860145568848,"y":4811.31081199646,"z":"656aafb.8a6395","wires":[["bc227347.5fb69","f572b571.7d6058"]]},{"id":"1839ffe6.a2c79","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv6-address-list object in AAI\" />\n","comments":"","x":3680.952663421631,"y":4777.977632522583,"z":"656aafb.8a6395","wires":[]},{"id":"ee8a14f4.c59418","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3511.1190185546875,"y":4759.628465652466,"z":"656aafb.8a6395","wires":[["1839ffe6.a2c79","a3fa30dc.ae097"]]},{"id":"1fb322aa.72fa5d","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3354.285903930664,"y":4759.644135475159,"z":"656aafb.8a6395","wires":[["ee8a14f4.c59418"]]},{"id":"f572b571.7d6058","type":"save","name":"save l3-interface-ipv6-address-list relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv6-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n","comments":"","outputs":1,"x":3092.6193885803223,"y":4857.977392196655,"z":"656aafb.8a6395","wires":[["383116c9.6e3b7a","7fb50e74.bb6da"]]},{"id":"2666fdb.a988302","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv6-address-list relationships in AAI\" />\n","comments":"","x":3679.2857704162598,"y":4849.644063949585,"z":"656aafb.8a6395","wires":[]},{"id":"4c4c7b91.8f9554","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv6-address-list relationships\" />\n","comments":"","x":3679.4526329040527,"y":4899.6285219192505,"z":"656aafb.8a6395","wires":[]},{"id":"724dddd1.2bc264","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3512.7856407165527,"y":4829.628437042236,"z":"656aafb.8a6395","wires":[["2666fdb.a988302","a3fa30dc.ae097"]]},{"id":"12599dec.9c3eb2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3512.785717010498,"y":4882.628195762634,"z":"656aafb.8a6395","wires":[["4c4c7b91.8f9554","a3fa30dc.ae097"]]},{"id":"383116c9.6e3b7a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3355.9525260925293,"y":4829.644106864929,"z":"656aafb.8a6395","wires":[["724dddd1.2bc264"]]},{"id":"7fb50e74.bb6da","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":3364.5240592956543,"y":4882.2632513046265,"z":"656aafb.8a6395","wires":[["12599dec.9c3eb2"]]},{"id":"4fef35f2.d4b31c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":734.0000610351562,"y":3301.691195487976,"z":"656aafb.8a6395","wires":[["da513051.0c80f","a8f24b00.6e6ea8"]]},{"id":"19879c24.7f2f24","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1097.3333129882812,"y":5195.024434804916,"z":"656aafb.8a6395","wires":[["f58bd68b.96d2d8","35075c06.3ff5b4","1beb085d.4f4938","a9d5066.8dca3f8"]]},{"id":"b881adbd.34b62","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":1743.6668319702148,"y":5280.691266775131,"z":"656aafb.8a6395","wires":[["50e1c37e.6412bc"]]},{"id":"abdac62e.d1e218","type":"save","name":"save vip-ipv4-address-list object to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv4-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >\n<parameter name=\"vip-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`\" />\n<parameter name=\"vip-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n","comments":"","outputs":1,"x":1828.3333435058594,"y":5148.691194295883,"z":"656aafb.8a6395","wires":[["e508c954.f3e1a8","77e92049.e845e"]]},{"id":"1beb085d.4f4938","type":"for","name":"for each floating ipv4 address","xml":"<for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n","comments":"","outputs":1,"x":1336.3333358764648,"y":5206.691266775131,"z":"656aafb.8a6395","wires":[["84ebc3a1.1bd9a"]]},{"id":"84ebc3a1.1bd9a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1562.3333358764648,"y":5204.691266775131,"z":"656aafb.8a6395","wires":[["abdac62e.d1e218","e39d949a.8de478","b881adbd.34b62"]]},{"id":"6fb5a1ed.fdbd3","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error saving vip-ipv4-address-list in AAI\" />\n","comments":"","x":2390.3333435058594,"y":5138.691194295883,"z":"656aafb.8a6395","wires":[]},{"id":"146ffdae.698b32","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv4-address-list\" />\n","comments":"","x":2390.5002059936523,"y":5188.675652265549,"z":"656aafb.8a6395","wires":[]},{"id":"5b85e928.efe4b8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2223.8332138061523,"y":5118.675567388535,"z":"656aafb.8a6395","wires":[["6fb5a1ed.fdbd3","15f1245b.88e65c"]]},{"id":"92d5910a.67fa2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2223.8332901000977,"y":5171.6753261089325,"z":"656aafb.8a6395","wires":[["146ffdae.698b32","15f1245b.88e65c"]]},{"id":"e508c954.f3e1a8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2067.000099182129,"y":5118.691237211227,"z":"656aafb.8a6395","wires":[["5b85e928.efe4b8"]]},{"id":"77e92049.e845e","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2075.571632385254,"y":5171.310381650925,"z":"656aafb.8a6395","wires":[["92d5910a.67fa2"]]},{"id":"50e1c37e.6412bc","type":"save","name":"save vip-ipv4-address-list relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n","comments":"","outputs":1,"x":1990.666618347168,"y":5279.691755056381,"z":"656aafb.8a6395","wires":[["de4986c8.89d8c8","144fc410.ec0dac"]]},{"id":"49dd0458.91528c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationships in AAI\" />\n","comments":"","x":2560.3330268859863,"y":5271.691724598408,"z":"656aafb.8a6395","wires":[]},{"id":"d62e9338.a68f3","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationships\" />\n","comments":"","x":2560.4998893737793,"y":5321.676182568073,"z":"656aafb.8a6395","wires":[]},{"id":"6b0665c4.4b3d9c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2393.8328971862793,"y":5251.676097691059,"z":"656aafb.8a6395","wires":[["49dd0458.91528c","15f1245b.88e65c"]]},{"id":"c2b853df.f2b9a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2393.8329734802246,"y":5304.675856411457,"z":"656aafb.8a6395","wires":[["d62e9338.a68f3","15f1245b.88e65c"]]},{"id":"de4986c8.89d8c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2236.999782562256,"y":5251.691767513752,"z":"656aafb.8a6395","wires":[["6b0665c4.4b3d9c"]]},{"id":"144fc410.ec0dac","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2245.571315765381,"y":5304.310911953449,"z":"656aafb.8a6395","wires":[["c2b853df.f2b9a"]]},{"id":"cdcc9317.be9ce","type":"save","name":"save vip-ipv6-address-list object to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv6-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >\n<parameter name=\"vip-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`\" />\n<parameter name=\"vip-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n","comments":"","outputs":1,"x":1828.3333358764648,"y":5382.024274587631,"z":"656aafb.8a6395","wires":[["230dacf3.4a16a4","54ad1405.aa30cc"]]},{"id":"a9d5066.8dca3f8","type":"for","name":"for each floating ipv6 address","xml":"<for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n","comments":"","outputs":1,"x":1336.3333282470703,"y":5440.024347066879,"z":"656aafb.8a6395","wires":[["5199f1df.36f62"]]},{"id":"5199f1df.36f62","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1562.3333282470703,"y":5438.024347066879,"z":"656aafb.8a6395","wires":[["cdcc9317.be9ce","26b0e418.f619fc","a070538.5dbd6b"]]},{"id":"3318552.b80aeaa","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error saving vip-ipv6-address-list in AAI\" />\n","comments":"","x":2390.333335876465,"y":5372.024274587631,"z":"656aafb.8a6395","wires":[]},{"id":"1b255130.bd94cf","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv6-address-list\" />\n","comments":"","x":2390.500198364258,"y":5422.008732557297,"z":"656aafb.8a6395","wires":[]},{"id":"3381b5ad.78767a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2223.833206176758,"y":5352.008647680283,"z":"656aafb.8a6395","wires":[["3318552.b80aeaa","15f1245b.88e65c"]]},{"id":"ce31be4d.d70b5","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2223.833282470703,"y":5405.0084064006805,"z":"656aafb.8a6395","wires":[["1b255130.bd94cf","15f1245b.88e65c"]]},{"id":"230dacf3.4a16a4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2067.0000915527344,"y":5352.0243175029755,"z":"656aafb.8a6395","wires":[["3381b5ad.78767a"]]},{"id":"54ad1405.aa30cc","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2075.5716247558594,"y":5404.643461942673,"z":"656aafb.8a6395","wires":[["ce31be4d.d70b5"]]},{"id":"793d4d94.714a34","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating vip-ipv6-address-list relationships in AAI\" />\n","comments":"","x":2555.3332176208496,"y":5498.357821285725,"z":"656aafb.8a6395","wires":[]},{"id":"6a436f8e.78398","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv6-address-list relationships\" />\n","comments":"","x":2555.5000801086426,"y":5548.34227925539,"z":"656aafb.8a6395","wires":[]},{"id":"1c470c9d.ff22d3","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2388.8330879211426,"y":5478.342194378376,"z":"656aafb.8a6395","wires":[["793d4d94.714a34","15f1245b.88e65c"]]},{"id":"e202479d.1d6968","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2388.833164215088,"y":5531.341953098774,"z":"656aafb.8a6395","wires":[["6a436f8e.78398","15f1245b.88e65c"]]},{"id":"765444d8.0caaac","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2231.999973297119,"y":5478.357864201069,"z":"656aafb.8a6395","wires":[["1c470c9d.ff22d3"]]},{"id":"a0f773e5.64822","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2240.571506500244,"y":5530.977008640766,"z":"656aafb.8a6395","wires":[["e202479d.1d6968"]]},{"id":"a8f24b00.6e6ea8","type":"for","name":"for each vm-network","xml":"<for silentFailure='true' index='vm-network-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":935.9999923706055,"y":3582.3578214645386,"z":"656aafb.8a6395","wires":[["8dd3a0d0.b72fe"]]},{"id":"8dd3a0d0.b72fe","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1121.3333129882812,"y":3582.357699394226,"z":"656aafb.8a6395","wires":[["1b999958.1d4637","db6bf02.1b7f81","9dee4850.38f7f8","5aefc0c6.72b57"]]},{"id":"1b999958.1d4637","type":"for","name":"for each vnf network","xml":"<for index='vnf-network-index' start='0'\n end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n","comments":"","outputs":1,"x":1311.9999313354492,"y":3413.6908388137817,"z":"656aafb.8a6395","wires":[["af319386.d8bea"]]},{"id":"db6bf02.1b7f81","type":"set","name":"set tmp.network-role","xml":"<set>\n<parameter name='tmp.network-role' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-role`' />\n","comments":"","x":1313.6665649414062,"y":3372.024193763733,"z":"656aafb.8a6395","wires":[]},{"id":"af319386.d8bea","type":"switchNode","name":"network-roles match?","xml":"<switch test='`$tmp.network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n","comments":"","outputs":1,"x":1525.3331909179688,"y":3412.0241708755493,"z":"656aafb.8a6395","wires":[["83fc8e4a.66111"]]},{"id":"83fc8e4a.66111","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1705.3334045410156,"y":3410.357829093933,"z":"656aafb.8a6395","wires":[["f89f6fb1.ce177"]]},{"id":"f89f6fb1.ce177","type":"break","name":"break","xml":"<break>\n","comments":"","x":1831.9999160766602,"y":3410.3576650619507,"z":"656aafb.8a6395","wires":[]},{"id":"535bda3e.da5a64","type":"set","name":"set found-address-family to false","xml":"<set>\n<parameter name='found-address-family' value='false' />\n","comments":"","x":1960.3329772949219,"y":3504.023684501648,"z":"656aafb.8a6395","wires":[]},{"id":"c35fd68c.b1f3f8","type":"for","name":"for each vnf address family","xml":"<for silentFailure='true' index='vnf-address-family-index' start='0'\n end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n","comments":"","outputs":1,"x":1943.6662292480469,"y":3550.6900272369385,"z":"656aafb.8a6395","wires":[["5f1beee8.dced4"]]},{"id":"9dad225a.a23d2","type":"set","name":"set tmp.address-family to ipv4","xml":"<set>\n<parameter name='tmp.address-family' value='ipv4' />\n","comments":"","x":1953.6664199829102,"y":3459.0239267349243,"z":"656aafb.8a6395","wires":[]},{"id":"5f1beee8.dced4","type":"switchNode","name":"address-families match?","xml":"<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>\n","comments":"","outputs":1,"x":2190.332908630371,"y":3549.0236053466797,"z":"656aafb.8a6395","wires":[["81938e82.28d5b"]]},{"id":"81938e82.28d5b","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2370.333122253418,"y":3547.3572635650635,"z":"656aafb.8a6395","wires":[["63835f8b.ef06d"]]},{"id":"63835f8b.ef06d","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2500.3328857421875,"y":3547.357021331787,"z":"656aafb.8a6395","wires":[["1b769099.d3d3cf","6af0f6a6.18c998"]]},{"id":"1b769099.d3d3cf","type":"set","name":"set found-address-family to true","xml":"<set>\n<parameter name='found-address-family' value='true' />\n","comments":"","x":2708.66650390625,"y":3517.356855392456,"z":"656aafb.8a6395","wires":[]},{"id":"6af0f6a6.18c998","type":"break","name":"break","xml":"<break>\n","comments":"","x":2626.9996376037598,"y":3565.6905193328857,"z":"656aafb.8a6395","wires":[]},{"id":"f0c850c3.1ce61","type":"switchNode","name":"switch found-address-family","xml":"<switch test='`$found-address-family`'>\n","comments":"","outputs":1,"x":1943.6662826538086,"y":3599.02344417572,"z":"656aafb.8a6395","wires":[["ca5d557e.a14708"]]},{"id":"ca5d557e.a14708","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2128.666290283203,"y":3599.0236825942993,"z":"656aafb.8a6395","wires":[["69400aa4.fada84"]]},{"id":"86734b97.d60128","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Cannot find VNF address family '\n + $tmp.address-family\n + ' for network role '\n + $tmp.network-role`\" />\n","comments":"","x":2431.9995460510254,"y":3597.690411567688,"z":"656aafb.8a6395","wires":[]},{"id":"299ccd1c.a70782","type":"set","name":"store ipv4-subnet-id","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />\n","comments":"","x":1920.3330459594727,"y":3644.356943130493,"z":"656aafb.8a6395","wires":[]},{"id":"9dee4850.38f7f8","type":"switchNode","name":"switch floating-ip-v4_length > 0","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length &gt; 0`'>\n","comments":"","outputs":1,"x":1350.0001907348633,"y":3557.0246391296387,"z":"656aafb.8a6395","wires":[["7ae4ebf5.7539e4"]]},{"id":"7ae4ebf5.7539e4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1570.0000648498535,"y":3558.6911668777466,"z":"656aafb.8a6395","wires":[["159a0743.b26849"]]},{"id":"7266ee36.9fc2e","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1979.9999618530273,"y":3205.3578701019287,"z":"656aafb.8a6395","wires":[["b1a77703.c09158","89d10c7.03b9cf","3b7448f8.d9ff38","293030b5.eb0f5","d0c8a716.7b7cf8"]]},{"id":"159a0743.b26849","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1719.9999618530273,"y":3557.0243740081787,"z":"656aafb.8a6395","wires":[["9dad225a.a23d2","299ccd1c.a70782","535bda3e.da5a64","c35fd68c.b1f3f8","f0c850c3.1ce61"]]},{"id":"561a591b.9b4f18","type":"set","name":"set found-address-family to false","xml":"<set>\n<parameter name='found-address-family' value='false' />\n","comments":"","x":1958.3333358764648,"y":3733.6911220550537,"z":"656aafb.8a6395","wires":[]},{"id":"5c5af123.1a7de","type":"for","name":"for each vnf address family","xml":"<for silentFailure='true' index='vnf-address-family-index' start='0'\n end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n","comments":"","outputs":1,"x":1941.6665878295898,"y":3780.3574647903442,"z":"656aafb.8a6395","wires":[["88be915b.ce341"]]},{"id":"1a268d2e.ae5ee3","type":"set","name":"set tmp.address-family to ipv6","xml":"<set>\n<parameter name='tmp.address-family' value='ipv6' />\n","comments":"","x":1951.6667785644531,"y":3688.69136428833,"z":"656aafb.8a6395","wires":[]},{"id":"88be915b.ce341","type":"switchNode","name":"address-families match?","xml":"<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>\n","comments":"","outputs":1,"x":2188.333267211914,"y":3778.6910429000854,"z":"656aafb.8a6395","wires":[["10eb00c5.61646f"]]},{"id":"10eb00c5.61646f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2368.333480834961,"y":3777.0247011184692,"z":"656aafb.8a6395","wires":[["6480aa39.47ab24"]]},{"id":"6480aa39.47ab24","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2498.3332443237305,"y":3777.024458885193,"z":"656aafb.8a6395","wires":[["c8d1871.7e52978","b1b263f6.757c7"]]},{"id":"c8d1871.7e52978","type":"set","name":"set found-address-family to true","xml":"<set>\n<parameter name='found-address-family' value='true' />\n","comments":"","x":2706.666862487793,"y":3747.024292945862,"z":"656aafb.8a6395","wires":[]},{"id":"b1b263f6.757c7","type":"break","name":"break","xml":"<break>\n","comments":"","x":2624.9999961853027,"y":3795.3579568862915,"z":"656aafb.8a6395","wires":[]},{"id":"55422769.94a368","type":"switchNode","name":"switch found-address-family","xml":"<switch test='`$found-address-family`'>\n","comments":"","outputs":1,"x":1941.6666412353516,"y":3828.690881729126,"z":"656aafb.8a6395","wires":[["a368ce0f.2d2c9"]]},{"id":"a368ce0f.2d2c9","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2126.666648864746,"y":3828.691120147705,"z":"656aafb.8a6395","wires":[["bfa736d9.400938"]]},{"id":"a301e98.5098518","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Cannot find VNF address family '\n + $tmp.address-family\n + ' for network role '\n + $tmp.network-role`\" />\n","comments":"","x":2444.999954223633,"y":3827.357901573181,"z":"656aafb.8a6395","wires":[]},{"id":"b8e23b5c.5e7058","type":"set","name":"store ipv6-subnet-id","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />\n","comments":"","x":1918.3334045410156,"y":3874.024380683899,"z":"656aafb.8a6395","wires":[]},{"id":"5aefc0c6.72b57","type":"switchNode","name":"switch floating-ip-v6_length > 0","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length &gt; 0`'>\n","comments":"","outputs":1,"x":1348.000602722168,"y":3788.3587951660156,"z":"656aafb.8a6395","wires":[["18819685.2ef3c9"]]},{"id":"18819685.2ef3c9","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1568.0004234313965,"y":3788.3586044311523,"z":"656aafb.8a6395","wires":[["3f110736.222aa8"]]},{"id":"3f110736.222aa8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1718.0003204345703,"y":3786.6918115615845,"z":"656aafb.8a6395","wires":[["1a268d2e.ae5ee3","b8e23b5c.5e7058","561a591b.9b4f18","5c5af123.1a7de","55422769.94a368"]]},{"id":"cb68aeb2.207c1","type":"save","name":"save vip-ipv6-address-list relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n","comments":"","outputs":1,"x":1987.6668167114258,"y":5507.0242831707,"z":"656aafb.8a6395","wires":[["765444d8.0caaac","a0f773e5.64822"]]},{"id":"78341ff5.2c4ba","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":1218.6667251586914,"y":4158.69089025259,"z":"656aafb.8a6395","wires":[[]]},{"id":"6dd31c8a.306554","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":1966.6666946411133,"y":4275.02439725399,"z":"656aafb.8a6395","wires":[[]]},{"id":"b9195698.e1ca38","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":2088.6667251586914,"y":4947.024355828762,"z":"656aafb.8a6395","wires":[[]]},{"id":"15f1245b.88e65c","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":3112.6667251586914,"y":5101.024355828762,"z":"656aafb.8a6395","wires":[[]]},{"id":"a3fa30dc.ae097","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":4078.6667251586914,"y":4507.024355828762,"z":"656aafb.8a6395","wires":[[]]},{"id":"5e637da9.e8c6f4","type":"set","name":"set created_flag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\n","comments":"","x":1258.6667251586914,"y":4361.024355828762,"z":"656aafb.8a6395","wires":[]},{"id":"f58bd68b.96d2d8","type":"set","name":"set created-flag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\n","comments":"","x":1292.6667251586914,"y":5079.024355828762,"z":"656aafb.8a6395","wires":[]},{"id":"e39d949a.8de478","type":"set","name":"set created-ipv4-flag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\n","comments":"","x":1765.666690826416,"y":5207.024435698986,"z":"656aafb.8a6395","wires":[]},{"id":"26b0e418.f619fc","type":"set","name":"set created-ipv6-flag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\n","comments":"","x":1767.666690826416,"y":5443.024435698986,"z":"656aafb.8a6395","wires":[]},{"id":"f5b7c328.fea4e","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1458.6666946411133,"y":4336.024291932583,"z":"656aafb.8a6395","wires":[["9256f0a5.e0827"]]},{"id":"f2c3fa39.f42268","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-vlan-tagging-assign","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\n","comments":"","outputs":1,"x":685.6665420532227,"y":5704.357654511929,"z":"656aafb.8a6395","wires":[["71fbe8c7.acb798"]]},{"id":"71fbe8c7.acb798","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1029.99995803833,"y":5703.691149652004,"z":"656aafb.8a6395","wires":[["cdb7e69d.10a6f8"]]},{"id":"cdb7e69d.10a6f8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1184.9998321533203,"y":5703.6909455657005,"z":"656aafb.8a6395","wires":[["32eeeb9b.d1bbb4","8d1d7626.5fce58","e19306eb.5c38b8"]]},{"id":"32eeeb9b.d1bbb4","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":1529.9997634887695,"y":5652.024806916714,"z":"656aafb.8a6395","wires":[[]]},{"id":"8d1d7626.5fce58","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":1356.6665573120117,"y":5747.024484574795,"z":"656aafb.8a6395","wires":[]},{"id":"723699b0.0c1668","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":2933.333297729492,"y":2838.6909141540527,"z":"656aafb.8a6395","wires":[[]]},{"id":"1a02e5e2.37764a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1869.9999389648438,"y":3005.357699394226,"z":"656aafb.8a6395","wires":[["ffec08a5.88c838","723699b0.0c1668"]]},{"id":"35168b08.f767a4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2498.3331718444824,"y":3243.6911191940308,"z":"656aafb.8a6395","wires":[["a7c172c7.b1211","723699b0.0c1668"]]},{"id":"69400aa4.fada84","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2271.6666870117188,"y":3598.690951347351,"z":"656aafb.8a6395","wires":[["86734b97.d60128","723699b0.0c1668"]]},{"id":"bfa736d9.400938","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2274.9999389648438,"y":3828.690951347351,"z":"656aafb.8a6395","wires":[["a301e98.5098518","723699b0.0c1668"]]},{"id":"e19306eb.5c38b8","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\n","comments":"","outputs":1,"x":1356.6664581298828,"y":5700.3574494719505,"z":"656aafb.8a6395","wires":[[]]},{"id":"65acec70.9c56c4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":220.8928680419922,"y":508.5714416503906,"z":"656aafb.8a6395","wires":[["c622ee1f.60898","6fb1dec4.0529f","62441125.66a0b","e2b3c75a.fbe358","488e702.2bac09","a941c95a.005118","680a67ac.f6fd08","c61bcc80.d7888"]]},{"id":"62f0c3ca.57e7dc","type":"switchNode","name":"switch: param[].name","xml":"<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$p].name`\">\n","comments":"","outputs":1,"x":1114.4643325805664,"y":862.6906051635742,"z":"656aafb.8a6395","wires":[["61bc2ca2.ad18a4","2b6eed19.318972"]]},{"id":"aa0fa7ab.8025e8","type":"for","name":"for p in vf-module-input-parameters.param[]","xml":"<for silentFailure='true' index='p' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >\n","comments":"","outputs":1,"x":820.5714797973633,"y":863.190637588501,"z":"656aafb.8a6395","wires":[["62f0c3ca.57e7dc"]]},{"id":"150dc5a2.bf963a","type":"set","name":"set tmp.exist.vf_module_label = true","xml":"<set>\n<parameter name='tmp.exist.vf_module_label' value='true' />","comments":"","x":1656.3572616577148,"y":911.5477752685547,"z":"656aafb.8a6395","wires":[]},{"id":"a6cc427b.66186","type":"set","name":"set tmp.exist.sdnc-model-name = true","xml":"<set>\n<parameter name='tmp.exist.sdnc-model-name' value='true' />\n","comments":"","x":1659.0713691711426,"y":862.5477905273438,"z":"656aafb.8a6395","wires":[]},{"id":"680a67ac.f6fd08","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":499.8810043334961,"y":757.5001182556152,"z":"656aafb.8a6395","wires":[["aa0fa7ab.8025e8","aaa89921.844e38","49f206e1.beafa8"]]},{"id":"64580434.533b0c","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":484.1666946411133,"y":896.309648513794,"z":"656aafb.8a6395","wires":[]},{"id":"61bc2ca2.ad18a4","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":1370.6429083687917,"y":862.5953995840889,"z":"656aafb.8a6395","wires":[["a6cc427b.66186"]]},{"id":"2b6eed19.318972","type":"outcome","name":"vf_module_label","xml":"<outcome value='vf_module_label'>\n","comments":"","outputs":1,"x":1373.5000305175781,"y":912.0239715576172,"z":"656aafb.8a6395","wires":[["150dc5a2.bf963a"]]},{"id":"df5aea18.782d88","type":"switchNode","name":"switch from-preload","xml":"<switch test='`$from-preload`'>\n","comments":"","outputs":1,"x":543.5714416503906,"y":4080.8338327407837,"z":"656aafb.8a6395","wires":[["9e3a4c7.20f7cb","3eb1842b.07b66c"]]},{"id":"9e3a4c7.20f7cb","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":715.4761734008789,"y":4058.214853286743,"z":"656aafb.8a6395","wires":[["23f55617.a6809a"]]},{"id":"3eb1842b.07b66c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":717.1428260803223,"y":4103.214692115784,"z":"656aafb.8a6395","wires":[["44b086bf.0581a8"]]},{"id":"23f55617.a6809a","type":"set","name":"set automated-assignment to true","xml":"<set>\n<parameter name='automated-assignment' value='true' />\n","comments":"","x":930.4761581420898,"y":4056.5480241775513,"z":"656aafb.8a6395","wires":[]},{"id":"44b086bf.0581a8","type":"set","name":"set automated-assignment to false","xml":"<set>\n<parameter name='automated-assignment' value='false' />\n","comments":"","x":928.8094787597656,"y":4101.547944068909,"z":"656aafb.8a6395","wires":[]},{"id":"cca1b8aa.7bfbf8","type":"switchNode","name":"subnet-roles match?","xml":"<switch test='`$tmp.subnet-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].subnet-role`'>\n","comments":"","outputs":1,"x":2792.1427154541016,"y":3197.214653968811,"z":"656aafb.8a6395","wires":[["2548701.3a0df9"]]},{"id":"2548701.3a0df9","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2958.809356689453,"y":3195.8811960220337,"z":"656aafb.8a6395","wires":[["ee552abf.ebd808"]]},{"id":"dfd45ccd.c4422","type":"get-resource","name":"get VF_MODEL.sdnc_model_name","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT sdnc_model_name from VF_MODEL \n \tWHERE customization_uuid = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-customization-uuid \n \tAND sdnc_model_name is not null'\n pfx='db.vf-model-name'>\n\n","comments":"","outputs":1,"x":1287.5953979492188,"y":1306.6665954589844,"z":"656aafb.8a6395","wires":[["fd95d92.7e94c28","26b9ca0e.2c89c6","823653d0.65ac9"]]},{"id":"fd95d92.7e94c28","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1537.952522277832,"y":1217.0475358963013,"z":"656aafb.8a6395","wires":[["8fba96ee.8fee48"]]},{"id":"26b9ca0e.2c89c6","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1543.6667709350586,"y":1404.190447807312,"z":"656aafb.8a6395","wires":[["349a24c6.0478dc"]]},{"id":"8fba96ee.8fee48","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n","comments":"","x":1718.9525032043457,"y":1217.1904430389404,"z":"656aafb.8a6395","wires":[]},{"id":"89c4448.1656bb8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1039.440788269043,"y":1306.8568725585938,"z":"656aafb.8a6395","wires":[["dfd45ccd.c4422"]]},{"id":"5ca1b441.87f4cc","type":"call","name":"call self-serve-vf-module-assign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\n","comments":"","outputs":1,"x":2360.6305236816406,"y":946.6550559997559,"z":"656aafb.8a6395","wires":[["f1df99cb.fe0ae8"]]},{"id":"e3880e9a.6b928","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id`\" />\n","comments":"","x":2744.7019004821777,"y":946.6550064086914,"z":"656aafb.8a6395","wires":[]},{"id":"c61bcc80.d7888","type":"switchNode","name":"switch: tmp.exist.sdnc-model-name && tmp.exist.vf_module_label == true","xml":"<switch test=\"`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.vf_module_label == 'true'`\">\n","comments":"","outputs":1,"x":676.9404449462891,"y":1020.2619457244873,"z":"656aafb.8a6395","wires":[["89c4448.1656bb8","e054a7ea.0bc638"]]},{"id":"e054a7ea.0bc638","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1043.5478515625,"y":947.6190376281738,"z":"656aafb.8a6395","wires":[["3cc0bc38.f6e114"]]},{"id":"f1df99cb.fe0ae8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2580.9281044006348,"y":946.143087387085,"z":"656aafb.8a6395","wires":[["e3880e9a.6b928"]]},{"id":"621aeca7.9d6ba4","type":"get-resource","name":"get VF_MODULE_MODEL.vf-module-label","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT vf_module_label from VF_MODULE_MODEL \n \tWHERE vf_customization_uuid = $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n \tAND vf_module_label is not null '\n pfx='db.vf-module-label'>\n\n","comments":"","outputs":1,"x":1815.8335647583008,"y":1306.9048557281494,"z":"656aafb.8a6395","wires":[["defe2da.a8aefd","184bb121.e6155f","4cfef7ff.e18338"]]},{"id":"defe2da.a8aefd","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2091.190788269043,"y":1306.9999866485596,"z":"656aafb.8a6395","wires":[["e88f142c.6a2668"]]},{"id":"184bb121.e6155f","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2101.7621459960938,"y":1354.7142524719238,"z":"656aafb.8a6395","wires":[["349a24c6.0478dc"]]},{"id":"e88f142c.6a2668","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":2265.333297729492,"y":1307.5714321136475,"z":"656aafb.8a6395","wires":[]},{"id":"349a24c6.0478dc","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2275.167350769043,"y":1403.761962890625,"z":"656aafb.8a6395","wires":[["110bcecd.ba7661"]]},{"id":"4cfef7ff.e18338","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2095.5478591918945,"y":1257.9049110412598,"z":"656aafb.8a6395","wires":[["3cc0bc38.f6e114"]]},{"id":"823653d0.65ac9","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1541.6072845458984,"y":1306.666660308838,"z":"656aafb.8a6395","wires":[["621aeca7.9d6ba4"]]},{"id":"aaa89921.844e38","type":"set","name":"initialize tmp.exist.sdnc-model-name && tmp.exist.vf_module_label = false","xml":"<set>\n<parameter name='tmp.exist.sdnc-model-name' value='false' />\n<parameter name='tmp.exist.vf_module_label' value='false' />\n","comments":"","x":912.4643096923828,"y":757.7737798690796,"z":"656aafb.8a6395","wires":[]},{"id":"9d399f15.80c96","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":2307.499767303467,"y":1096.4999752044678,"z":"656aafb.8a6395","wires":[]},{"id":"e82c3ee8.852e5","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n","comments":"","outputs":1,"x":2299.5473098754883,"y":1050.9915189743042,"z":"656aafb.8a6395","wires":[[]]},{"id":"c5cea72e.a0e218","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":2370.2378273010254,"y":999.95241355896,"z":"656aafb.8a6395","wires":[]},{"id":"3cc0bc38.f6e114","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2081.3332557678223,"y":946.3332176208496,"z":"656aafb.8a6395","wires":[["5ca1b441.87f4cc","c5cea72e.a0e218","e82c3ee8.852e5","9d399f15.80c96"]]},{"id":"a070538.5dbd6b","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":1743.0951919555664,"y":5508.571428060532,"z":"656aafb.8a6395","wires":[["cb68aeb2.207c1"]]},{"id":"49f206e1.beafa8","type":"switchNode","name":"switch: vf-module-input-parameters.param_length","xml":"<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n","comments":"","outputs":1,"x":840.3214874267578,"y":806.2500638961792,"z":"656aafb.8a6395","wires":[["9757e46f.a990d8"]]},{"id":"9757e46f.a990d8","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1103.8929061889648,"y":806.5358037948608,"z":"656aafb.8a6395","wires":[["4b5c3601.c8dfa8"]]},{"id":"4b5c3601.c8dfa8","type":"set","name":"set vf-module-input-parameters.param_length = 0","xml":"<set>\n<parameter name='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length' value='0' />\n","comments":"","x":1377.6071472167969,"y":806.3929653167725,"z":"656aafb.8a6395","wires":[]},{"id":"3fd43ef9.658b62","type":"switchNode","name":"switch vf-module-name","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\n","comments":"","outputs":1,"x":538.5714263916016,"y":1565.7143383026123,"z":"656aafb.8a6395","wires":[["281f6295.d9b7ee"]]},{"id":"281f6295.d9b7ee","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":764.5714263916016,"y":1565.7143211364746,"z":"656aafb.8a6395","wires":[["82f1413d.5dc9d"]]},{"id":"82f1413d.5dc9d","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-information.vf-module-request-input.vf-module-name is a required input\" />\n","comments":"","x":915.9999923706055,"y":1565.714319229126,"z":"656aafb.8a6395","wires":[]},{"id":"cb63cf1e.5203","type":"comment","name":"MOVED vf-module-name validation from validate-vf-module-input","info":"","comments":"","x":538.5713958740234,"y":1531.428554534912,"z":"656aafb.8a6395","wires":[]}] \ No newline at end of file
+[{"id":"d697412.e1051c","type":"dgstart","name":"DGSTART","outputs":1,"x":101.66666412353516,"y":87.02430057525635,"z":"d8d4f820.a9f2c8","wires":[["74830689.2bb8b8"]]},{"id":"74830689.2bb8b8","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":215.52379989624023,"y":126.83383846282959,"z":"d8d4f820.a9f2c8","wires":[["fbd6fca2.0a4fd"]]},{"id":"fbd6fca2.0a4fd","type":"method","name":"method vf-module-topology-operation-assign","xml":"<method rpc='vf-module-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":215.0952911376953,"y":167.02430057525635,"z":"d8d4f820.a9f2c8","wires":[["860c887f.eaff48"]]},{"id":"3b29ae5f.fca272","type":"comment","name":"vf-module-topology-operation-assign","info":"","comments":"","x":506.9877624511719,"y":30,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"a0a0c247.e2df1","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":506.85717391967773,"y":342.548122882843,"z":"d8d4f820.a9f2c8","wires":[["1a4430a2.bfb6cf","f49ee525.5ebb08"]]},{"id":"1a4430a2.bfb6cf","type":"outcome","name":"CreateVfModuleInstance","xml":"<outcome value='CreateVfModuleInstance'>\n","comments":"","outputs":1,"x":768.9047889709473,"y":319.6910090446472,"z":"d8d4f820.a9f2c8","wires":[["2d67df99.0846a"]]},{"id":"f49ee525.5ebb08","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":712.5714340209961,"y":365.07199811935425,"z":"d8d4f820.a9f2c8","wires":[["bb7b3905.2e8568"]]},{"id":"2d67df99.0846a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":958.7619533538818,"y":319.69104051589966,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"bb7b3905.2e8568","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":977.5714416503906,"y":365.40531063079834,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"1dc8c520.10fcfb","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":554.1904411315918,"y":433.6910729408264,"z":"d8d4f820.a9f2c8","wires":[["50042b11.b73524","8e5bb245.dc98c"]]},{"id":"e3a918fc.2150c8","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":995.6188621520996,"y":458.1195454597473,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"50042b11.b73524","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":819.976131439209,"y":414.0719037055969,"z":"d8d4f820.a9f2c8","wires":[["e4a9ac95.1ca42"]]},{"id":"8e5bb245.dc98c","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":828.5475616455078,"y":458.3576169013977,"z":"d8d4f820.a9f2c8","wires":[["e3a918fc.2150c8"]]},{"id":"e4a9ac95.1ca42","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":994.9760627746582,"y":413.21480417251587,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"95a14b79.388078","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":549.2857055664062,"y":642.2624082565308,"z":"d8d4f820.a9f2c8","wires":[["83163162.dbba5","b02d0c8b.3043"]]},{"id":"83163162.dbba5","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":789.9999771118164,"y":619.4051485061646,"z":"d8d4f820.a9f2c8","wires":[["b214339a.32a9d"]]},{"id":"b02d0c8b.3043","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":789.7618179321289,"y":660.3576669692993,"z":"d8d4f820.a9f2c8","wires":[["5eb9d382.b3cd5c"]]},{"id":"1775cfdf.a41f2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":151.19046783447266,"y":3042.2626180648804,"z":"d8d4f820.a9f2c8","wires":[["b89e0deb.b46e6","53786678.5a8d28","754ec35d.ac04ec","94581ccd.aad7b","8c68c9db.5cc588","ddc11e24.6362","99bb54bb.4e1de8","d673bc0b.7722a","fa766a0e.be8068","1e8f4bba.a2f834","670e5324.66f2cc","e81eb42a.092d18","e006bec6.98363","3aa9dd9a.4f17c2","bf36d671.a2e478","47b4ab3e.ccdc34","c28b6c8e.f5ff4","f240bd12.78194","7f62cae0.731ea4","11827b45.0aafe5","8dd419f6.418c98","11dec1b.573e93e","194f4ea1.cd8cd1","bd330e1c.c356a","9691502a.3601c","9f27a4a4.73d8e8","d34b40c0.acb5e","6f8af175.c5f4d","9303fc78.a6fc8","f29eef5f.5b38a","a4ec6528.997b68"]]},{"id":"b214339a.32a9d","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":956.6665916442871,"y":618.6909036636353,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"5eb9d382.b3cd5c","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":951.9999618530273,"y":660.0242853164673,"z":"d8d4f820.a9f2c8","wires":[["16dc34f.6e6c7cb"]]},{"id":"16dc34f.6e6c7cb","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":1203.3332595825195,"y":659.6910133361816,"z":"d8d4f820.a9f2c8","wires":[["7246ce61.8d12"]]},{"id":"7246ce61.8d12","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1433.3332710266113,"y":659.0243263244629,"z":"d8d4f820.a9f2c8","wires":[["6a49172a.ca77c8"]]},{"id":"d7ec98f9.c11048","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":498.3333282470703,"y":573.6909074783325,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"8701ea4a.806da8","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1754.9999084472656,"y":630.024284362793,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"732b9e7f.347cb","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":488.33333587646484,"y":710.3576040267944,"z":"d8d4f820.a9f2c8","wires":[["49974f32.a534c"]]},{"id":"49974f32.a534c","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":666.6667213439941,"y":709.6909799575806,"z":"d8d4f820.a9f2c8","wires":[["297b2c5b.88b074"]]},{"id":"297b2c5b.88b074","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":826.6666297912598,"y":709.0242834091187,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"b89e0deb.b46e6","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":518.3334274291992,"y":1683.6910963058472,"z":"d8d4f820.a9f2c8","wires":[["99e7a20c.ec90c","7e5dd06a.b8e49"]]},{"id":"99e7a20c.ec90c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":775.7143821716309,"y":1650.833869934082,"z":"d8d4f820.a9f2c8","wires":[["53c8cce1.838234"]]},{"id":"53c8cce1.838234","type":"set","name":"set vf-module-index=0","xml":"<set>\n<parameter name='vf-module-index' value='0' />\n","comments":"","x":963.3334197998047,"y":1651.500644683838,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"7e5dd06a.b8e49","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":776.1429252624512,"y":1715.119728088379,"z":"d8d4f820.a9f2c8","wires":[["2058b808.9e9618"]]},{"id":"7178136b.1004cc","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":1161.3334655761719,"y":1695.3101234436035,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"cc973bab.9de8f8","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":1120.4285583496094,"y":1739.4053535461426,"z":"d8d4f820.a9f2c8","wires":[["ca6f6e2c.61cf2"]]},{"id":"2058b808.9e9618","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":912.8572044372559,"y":1715.1196537017822,"z":"d8d4f820.a9f2c8","wires":[["7178136b.1004cc","cc973bab.9de8f8"]]},{"id":"ca6f6e2c.61cf2","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":1624.0476608276367,"y":1738.976764678955,"z":"d8d4f820.a9f2c8","wires":[["48704ac7.f90304"]]},{"id":"48704ac7.f90304","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2066.6667098999023,"y":1738.5482158660889,"z":"d8d4f820.a9f2c8","wires":[["45970d91.c715f4"]]},{"id":"45970d91.c715f4","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":2218.571590423584,"y":1738.5482025146484,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"4eaa7c5d.587b54","type":"comment","name":"make sure this VF module doesn't exist already","info":"","comments":"","x":1650.5000076293945,"y":1693.6042566299438,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"53786678.5a8d28","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":529.0000076293945,"y":1794.690951347351,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"754ec35d.ac04ec","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":535.5000267028809,"y":1907.1910581588745,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"d3028953.69e588","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":1296.4522857666016,"y":2066.428984642029,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"94581ccd.aad7b","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":495.4999465942383,"y":2180.3813247680664,"z":"d8d4f820.a9f2c8","wires":[["b1708664.0cd408"]]},{"id":"b1708664.0cd408","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":640.7856369018555,"y":2180.381393432617,"z":"d8d4f820.a9f2c8","wires":[["c0313e8.026e4c"]]},{"id":"c0313e8.026e4c","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":787.9284973144531,"y":2179.9528274536133,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"8c68c9db.5cc588","type":"get-resource","name":"get-resource cloud region","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\"\n pfx='aai.cloud-region' local-only='false' >\n\n","comments":"","outputs":1,"x":534.3571624755859,"y":1980.5245962142944,"z":"d8d4f820.a9f2c8","wires":[["39cb751.b87068a","6f2bd269.f42b3c"]]},{"id":"6f2bd269.f42b3c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":748.6033554077148,"y":1998.6754522323608,"z":"d8d4f820.a9f2c8","wires":[["9ddf5480.595478"]]},{"id":"9ddf5480.595478","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":923.603328704834,"y":1998.6754884719849,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"39cb751.b87068a","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":757.5319519042969,"y":1956.9611854553223,"z":"d8d4f820.a9f2c8","wires":[["19351aac.eb7d55"]]},{"id":"19351aac.eb7d55","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":923.8812294006348,"y":1956.2667627334595,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"ddc11e24.6362","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":531.3096084594727,"y":2630.9536867141724,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"6a49172a.ca77c8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1581.666732788086,"y":657.9440250396729,"z":"d8d4f820.a9f2c8","wires":[["8701ea4a.806da8","63acc087.0c755"]]},{"id":"63acc087.0c755","type":"break","name":"break","xml":"<break>\n","comments":"","x":1716.6666984558105,"y":679.6106109619141,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"2124c285.813fae","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":909.8332862854004,"y":2221.7773180007935,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"99bb54bb.4e1de8","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":553.6903610229492,"y":2244.601761817932,"z":"d8d4f820.a9f2c8","wires":[["d32935b8.b3b048","631ec28f.61d50c"]]},{"id":"d32935b8.b3b048","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":759.3570327758789,"y":2221.744725227356,"z":"d8d4f820.a9f2c8","wires":[["2124c285.813fae"]]},{"id":"631ec28f.61d50c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":760.7856292724609,"y":2266.0303163528442,"z":"d8d4f820.a9f2c8","wires":[["f816c94e.c473c8"]]},{"id":"f816c94e.c473c8","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":915.0713653564453,"y":2265.458888530731,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"cd34bd6c.87b5d","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":910.7855567932129,"y":2310.3159942626953,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"d673bc0b.7722a","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":526.3093795776367,"y":2333.1404991149902,"z":"d8d4f820.a9f2c8","wires":[["60d2fe59.459d2","928bf9e9.c5b368"]]},{"id":"60d2fe59.459d2","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":760.3093528747559,"y":2310.2834310531616,"z":"d8d4f820.a9f2c8","wires":[["cd34bd6c.87b5d"]]},{"id":"928bf9e9.c5b368","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":761.7379493713379,"y":2354.56902217865,"z":"d8d4f820.a9f2c8","wires":[["73c2b57a.897a2c"]]},{"id":"73c2b57a.897a2c","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":916.0236854553223,"y":2353.997594356537,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"7ae5bcc6.094e44","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":907.9284896850586,"y":2399.173201560974,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"fa766a0e.be8068","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":534.4522514343262,"y":2421.997646331787,"z":"d8d4f820.a9f2c8","wires":[["bdcf8d77.56847","9872a71.4286758"]]},{"id":"bdcf8d77.56847","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":757.4522361755371,"y":2399.1406087875366,"z":"d8d4f820.a9f2c8","wires":[["7ae5bcc6.094e44"]]},{"id":"9872a71.4286758","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":758.8808326721191,"y":2443.426199913025,"z":"d8d4f820.a9f2c8","wires":[["e0f4baac.88f488"]]},{"id":"e0f4baac.88f488","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":913.1665687561035,"y":2442.854772090912,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"1f9d4369.6b287d","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":907.9284896850586,"y":2486.316023826599,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"1e8f4bba.a2f834","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":529.4522514343262,"y":2509.140468597412,"z":"d8d4f820.a9f2c8","wires":[["a5ef3524.a9ccf8","95091415.f6e848"]]},{"id":"a5ef3524.a9ccf8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":757.4522361755371,"y":2486.2834310531616,"z":"d8d4f820.a9f2c8","wires":[["1f9d4369.6b287d"]]},{"id":"95091415.f6e848","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":758.8808326721191,"y":2530.56902217865,"z":"d8d4f820.a9f2c8","wires":[["6c3e26f8.2ef8c8"]]},{"id":"6c3e26f8.2ef8c8","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":913.1665687561035,"y":2529.997594356537,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"670e5324.66f2cc","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":543.9045867919922,"y":2581.6494579315186,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"e81eb42a.092d18","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":497.0952339172363,"y":1850.372633934021,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"e006bec6.98363","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":556.6109771728516,"y":2069.031279563904,"z":"d8d4f820.a9f2c8","wires":[["6b95d4a7.ed04ec"]]},{"id":"6b95d4a7.ed04ec","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n","comments":"","outputs":1,"x":804.2895202636719,"y":2068.7812089920044,"z":"d8d4f820.a9f2c8","wires":[["284f1f3f.58e26"]]},{"id":"284f1f3f.58e26","type":"outcome","name":"complex","xml":"<outcome value='complex'>\n","comments":"","outputs":1,"x":973.7538414001465,"y":2068.1740312576294,"z":"d8d4f820.a9f2c8","wires":[["3b972741.476b28"]]},{"id":"875f8b.c7dfd078","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":1313.8489990234375,"y":2022.6026067733765,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"3b972741.476b28","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1133.5157012939453,"y":2069.2693948745728,"z":"d8d4f820.a9f2c8","wires":[["875f8b.c7dfd078","6eddea8b.b40c94","d3028953.69e588"]]},{"id":"6eddea8b.b40c94","type":"break","name":"break","xml":"<break>\n","comments":"","x":1283.5156631469727,"y":2112.6026916503906,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"e1c482e1.757c4","type":"execute","name":"execute PropertiesNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":512.3809432983398,"y":269.88143253326416,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"11827b45.0aafe5","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":454.2622718811035,"y":7582.237744748592,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"11dec1b.573e93e","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":390.8335762023926,"y":7674.856074750423,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"7f62cae0.731ea4","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":395.1192817687988,"y":7534.5860494971275,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"f240bd12.78194","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":440.0002861022949,"y":7486.371561467648,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"8dd419f6.418c98","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":385.71452713012695,"y":7627.085891187191,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"bf36d671.a2e478","type":"save","name":"update vf-module","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vf-module-name\" value=\"`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vf-module-object-path`\" />\n<parameter name=\"automated-assignment\" value=\"`$automated-assignment`\" />","comments":"","outputs":1,"x":459.1430130004883,"y":4688.373215317726,"z":"d8d4f820.a9f2c8","wires":[["992d1d10.a6ab4","a46522e3.ac13d"]]},{"id":"df4d839c.1c183","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":964.1906890869141,"y":4723.134645998478,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"992d1d10.a6ab4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":634.2146530151367,"y":4656.753837227821,"z":"d8d4f820.a9f2c8","wires":[["cd366b40.668258"]]},{"id":"a46522e3.ac13d","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":642.7860260009766,"y":4725.372927248478,"z":"d8d4f820.a9f2c8","wires":[["faec9c56.dee65"]]},{"id":"d034bc82.1d73f","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":969.2146072387695,"y":4674.89739382267,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"3aa9dd9a.4f17c2","type":"set","name":"set vf-module-object-path","xml":"<set>\n<parameter name='vf-module-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $vf-module-topology-operation-input.vf-module-information.vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n","comments":"","x":482.80982208251953,"y":4563.897444367409,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"18914e9d.88d881","type":"save","name":"save vf-module relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module:relationship-list\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n","comments":"","outputs":1,"x":1252.833568572998,"y":6246.525609731674,"z":"d8d4f820.a9f2c8","wires":[["e1592008.747ff","22b46edf.e5b2d2"]]},{"id":"e1592008.747ff","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1472.6669120788574,"y":6217.397353887558,"z":"d8d4f820.a9f2c8","wires":[["2bdf1b5.9c54de4"]]},{"id":"22b46edf.e5b2d2","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1481.2384452819824,"y":6270.016498327255,"z":"d8d4f820.a9f2c8","wires":[["f4337a2b.cb3258"]]},{"id":"c5f5b25d.c68de","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":1807.6670455932617,"y":6237.207250356674,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"47b4ab3e.ccdc34","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":432.50029373168945,"y":6011.859162569046,"z":"d8d4f820.a9f2c8","wires":[["901a1412.b37a68"]]},{"id":"3287a6e9.15137a","type":"for","name":"for each vm-network","xml":"<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n","comments":"","outputs":1,"x":829.5003051757812,"y":6430.525994777679,"z":"d8d4f820.a9f2c8","wires":[["fe7bc606.c38338"]]},{"id":"47be3ec9.50b15","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No l3-network found in AAI for network ID '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n","comments":"","x":1809.5004196166992,"y":6287.191791296005,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"c28b6c8e.f5ff4","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":406.92882919311523,"y":7378.905218064785,"z":"d8d4f820.a9f2c8","wires":[["e53e5c32.c733"]]},{"id":"e53e5c32.c733","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":601.9288597106934,"y":7378.238225877285,"z":"d8d4f820.a9f2c8","wires":[["6271da95.fffb44"]]},{"id":"8f23eeb2.7ddfb","type":"save","name":"save VIPR_CONFIGURATION","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )\" >","comments":"","outputs":1,"x":993.5955619812012,"y":7400.905876100063,"z":"d8d4f820.a9f2c8","wires":[["64a4a635.c1de68"]]},{"id":"17ea2325.6ec4ad","type":"comment","name":"Not a failure","info":"","comments":"","x":1513.5954627990723,"y":7400.905880868435,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"64a4a635.c1de68","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1203.595546722412,"y":7400.906025826931,"z":"d8d4f820.a9f2c8","wires":[["e740bcf1.a5747"]]},{"id":"e740bcf1.a5747","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":1346.9289894104004,"y":7400.905863702297,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"327fad2b.3d0ca2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1376.929111480713,"y":7352.23757737875,"z":"d8d4f820.a9f2c8","wires":[["b9ab0c40.a06e6"]]},{"id":"a4bcc8c.49ea038","type":"comment","name":"Not a failure","info":"","comments":"","x":1700.26216506958,"y":7350.571399629116,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"b9ab0c40.a06e6","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":1522.9290466308594,"y":7352.238210618496,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"6271da95.fffb44","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":770.2622528076172,"y":7377.238070428371,"z":"d8d4f820.a9f2c8","wires":[["4bb03b2a.868f64","8f23eeb2.7ddfb"]]},{"id":"4bb03b2a.868f64","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":1083.5955772399902,"y":7352.572210252285,"z":"d8d4f820.a9f2c8","wires":[["327fad2b.3d0ca2"]]},{"id":"cd366b40.668258","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":792.5002212524414,"y":4656.5245081186295,"z":"d8d4f820.a9f2c8","wires":[["d034bc82.1d73f","dd4614ae.702368"]]},{"id":"faec9c56.dee65","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":793.5001373291016,"y":4723.190798342228,"z":"d8d4f820.a9f2c8","wires":[["df4d839c.1c183","dd4614ae.702368"]]},{"id":"2bdf1b5.9c54de4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1641.1669158935547,"y":6217.191623449326,"z":"d8d4f820.a9f2c8","wires":[["c5f5b25d.c68de","d24c503d.94fad"]]},{"id":"f4337a2b.cb3258","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1636.1669158935547,"y":6270.191466093063,"z":"d8d4f820.a9f2c8","wires":[["47be3ec9.50b15","d24c503d.94fad"]]},{"id":"a309d0d6.bf143","type":"execute","name":"execute RestApiCallNode - get preload-list","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-preload\" />\n\n","comments":"","outputs":1,"x":978.3334121704102,"y":2726.5248308181763,"z":"d8d4f820.a9f2c8","wires":[["b1ceddfa.6ca5b","98588ef1.9cb99"]]},{"id":"b1ceddfa.6ca5b","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1241.6667277018228,"y":2689.8580471674595,"z":"d8d4f820.a9f2c8","wires":[["a356f284.dc8c2"]]},{"id":"98588ef1.9cb99","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1245.000015258789,"y":2764.85804271698,"z":"d8d4f820.a9f2c8","wires":[["252fa3fb.3c7afc"]]},{"id":"a356f284.dc8c2","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1403.3334159851074,"y":2688.1913318634033,"z":"d8d4f820.a9f2c8","wires":[["fddad708.fda4c8"]]},{"id":"252fa3fb.3c7afc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1400.0000228881836,"y":2764.8578844070435,"z":"d8d4f820.a9f2c8","wires":[["60d1dc49.37e5b4"]]},{"id":"fddad708.fda4c8","type":"switchNode","name":"switch mdsal-preload.response-code","xml":"<switch test='`$mdsal-preload.response-code`'>\n","comments":"","outputs":1,"x":1631.6667175292969,"y":2688.191372871399,"z":"d8d4f820.a9f2c8","wires":[["23eac36b.9fee9c","199e36c9.954ce9"]]},{"id":"23eac36b.9fee9c","type":"outcome","name":"404 (not found)","xml":"<outcome value='404'>\n","comments":"","outputs":1,"x":1883.33345413208,"y":2651.5247468948364,"z":"d8d4f820.a9f2c8","wires":[["ac08e510.b09af8"]]},{"id":"ac08e510.b09af8","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-no-preload","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\n","comments":"","outputs":1,"x":2279.9999237060547,"y":2649.8578748703003,"z":"d8d4f820.a9f2c8","wires":[["5aebe14a.20e1a"]]},{"id":"5aebe14a.20e1a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2650.000072479248,"y":2648.1914110183716,"z":"d8d4f820.a9f2c8","wires":[["af8fa6f8.47b568"]]},{"id":"92d86032.bda92","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":2958.333450317383,"y":2679.858147621155,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"199e36c9.954ce9","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1858.3335342407227,"y":2708.191237449646,"z":"d8d4f820.a9f2c8","wires":[["616c54.9bd543ac"]]},{"id":"5ed414bf.bfc72c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error retrieving preload-information\" />\n","comments":"","x":2171.6664390563965,"y":2724.8576612472534,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"60d1dc49.37e5b4","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-preload","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\n","comments":"","outputs":1,"x":1763.3333129882812,"y":2766.5246324539185,"z":"d8d4f820.a9f2c8","wires":[["b64da520.619978"]]},{"id":"b64da520.619978","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2119.000175476074,"y":2764.858250617981,"z":"d8d4f820.a9f2c8","wires":[["4fbb0a7.af041f4"]]},{"id":"30dea8b5.f55b68","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":2427.333427429199,"y":2786.5251455307007,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"901a1412.b37a68","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":623.0003623962402,"y":6012.692397356033,"z":"d8d4f820.a9f2c8","wires":[["3287a6e9.15137a","30b1e4a0.7d1d3c"]]},{"id":"30b1e4a0.7d1d3c","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":874.0004119873047,"y":5217.358488559723,"z":"d8d4f820.a9f2c8","wires":[["a0ec17cb.ddfe38"]]},{"id":"e60e02b2.796fd","type":"save","name":"save vnfc to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n","comments":"","outputs":1,"x":1250.000316619873,"y":5017.358997821808,"z":"d8d4f820.a9f2c8","wires":[["27c2a6b.a00715a","496b828.086087c"]]},{"id":"a0ec17cb.ddfe38","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1042.3337135314941,"y":5218.025315761566,"z":"d8d4f820.a9f2c8","wires":[["e60e02b2.796fd","a71fab62.7f1228","e1e37700.5352c8","aefb8469.9aaa88","697f82c4.6623dc","670d28d3.fa52d8"]]},{"id":"27c2a6b.a00715a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1441.0003128051758,"y":4993.025450229645,"z":"d8d4f820.a9f2c8","wires":[["70da8d01.b0b054"]]},{"id":"f25de2dc.81b99","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error saving vnfc to AAI\" />\n","comments":"","x":1780.0004653930664,"y":5027.168705821037,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"70da8d01.b0b054","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1606.1669998168945,"y":5007.153283536434,"z":"d8d4f820.a9f2c8","wires":[["f25de2dc.81b99","cc4e9fe7.acb19"]]},{"id":"aefb8469.9aaa88","type":"save","name":"save vnfc relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vf-module\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id +\n '/vf-modules/vf-module/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n","comments":"","outputs":1,"x":1266.9049987792969,"y":5126.311650753021,"z":"d8d4f820.a9f2c8","wires":[["85ea514f.8a858","b813c501.1fa968"]]},{"id":"e7559b37.1ee5e8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating vnfc relationships in AAI\" />\n","comments":"","x":1776.9049339294434,"y":5117.978486537933,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"76890288.fe12cc","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating vnfc relationships\" />\n","comments":"","x":1772.0718421936035,"y":5169.629693508148,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"80bd3a6a.5f03d8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1598.7381896972656,"y":5099.629274845123,"z":"d8d4f820.a9f2c8","wires":[["e7559b37.1ee5e8","cc4e9fe7.acb19"]]},{"id":"51aa1d6c.7c6b74","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1598.738265991211,"y":5152.629033565521,"z":"d8d4f820.a9f2c8","wires":[["76890288.fe12cc","cc4e9fe7.acb19"]]},{"id":"85ea514f.8a858","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1441.9050750732422,"y":5099.644944667816,"z":"d8d4f820.a9f2c8","wires":[["80bd3a6a.5f03d8"]]},{"id":"b813c501.1fa968","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1450.4766082763672,"y":5152.264089107513,"z":"d8d4f820.a9f2c8","wires":[["51aa1d6c.7c6b74"]]},{"id":"a71fab62.7f1228","type":"for","name":"for each vnfc-network-role","xml":"<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n","comments":"","outputs":1,"x":1264.381118774414,"y":5543.168058872223,"z":"d8d4f820.a9f2c8","wires":[["b322cbb.d612438"]]},{"id":"194f4ea1.cd8cd1","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\n","comments":"","outputs":1,"x":485.0000228881836,"y":2851.0718808174133,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"111a216a.3e270f","type":"for","name":"for each vnfc-subnetwork-role","xml":"<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n","comments":"","outputs":1,"x":1720.3336563110352,"y":5506.35849237442,"z":"d8d4f820.a9f2c8","wires":[["35562888.b34fa8"]]},{"id":"35562888.b34fa8","type":"for","name":"for each vnfc-address-family","xml":"<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n","comments":"","outputs":1,"x":1987.6669998168945,"y":5505.35898065567,"z":"d8d4f820.a9f2c8","wires":[["21c512d3.dbfdae"]]},{"id":"2ac7aead.c3d8c2","type":"for","name":"for each vnfc-ip-address","xml":"<for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\n","comments":"","outputs":1,"x":2419.6666107177734,"y":5572.024680137634,"z":"d8d4f820.a9f2c8","wires":[["27c6424e.845c5e"]]},{"id":"21c512d3.dbfdae","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2198.6667709350586,"y":5505.35843706131,"z":"d8d4f820.a9f2c8","wires":[["2ede288d.5a3018","2ac7aead.c3d8c2"]]},{"id":"2ede288d.5a3018","type":"set","name":"set tmp.address-family","xml":"<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n","comments":"","x":2418.6670989990234,"y":5425.358334541321,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"27c6424e.845c5e","type":"switchNode","name":"switch address family","xml":"<switch test='`$tmp.address-family`'>\n","comments":"","outputs":1,"x":2658.666702270508,"y":5570.3585023880005,"z":"d8d4f820.a9f2c8","wires":[["31736476.3cd16c","116c9e38.1c20a2"]]},{"id":"31736476.3cd16c","type":"outcome","name":"ipv4","xml":"<outcome value='ipv4'>\n","comments":"","outputs":1,"x":2855.8097076416016,"y":5473.929762840271,"z":"d8d4f820.a9f2c8","wires":[["db541b87.070258"]]},{"id":"116c9e38.1c20a2","type":"outcome","name":"ipv6","xml":"<outcome value='ipv6'>\n","comments":"","outputs":1,"x":2853.428779602051,"y":5653.691794395447,"z":"d8d4f820.a9f2c8","wires":[["3541126b.0824ee"]]},{"id":"296969ad.af43b6","type":"comment","name":"Fixed IPs","info":"","comments":"","x":1737.3336715698242,"y":5468.025869369507,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"3f16694b.e0c026","type":"save","name":"save l3-interface-ipv4-address-list object to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv4-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n","comments":"","outputs":1,"x":3299.142837524414,"y":5422.262842814129,"z":"d8d4f820.a9f2c8","wires":[["d3a31ea0.5e7ab"]]},{"id":"db541b87.070258","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3005.8097076416016,"y":5473.929681460064,"z":"d8d4f820.a9f2c8","wires":[["3f16694b.e0c026","e54c81f0.e74"]]},{"id":"183d1d3.618a9e3","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv4-address-list object in AAI\" />\n","comments":"","x":3882.4763565063477,"y":5440.596501986187,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"f747951e.38ee28","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3712.6427116394043,"y":5422.24733511607,"z":"d8d4f820.a9f2c8","wires":[["183d1d3.618a9e3","4c1a7c6e.e70f14"]]},{"id":"d3a31ea0.5e7ab","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3555.809597015381,"y":5422.263004938763,"z":"d8d4f820.a9f2c8","wires":[["f747951e.38ee28"]]},{"id":"e54c81f0.e74","type":"save","name":"save l3-interface-ipv4-address-list relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv4-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n","comments":"","outputs":1,"x":3294.143081665039,"y":5520.596261660259,"z":"d8d4f820.a9f2c8","wires":[["421706f7.2ef6d8","5f2068fe.10b6e8"]]},{"id":"a26afed8.e68c7","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv4-address-list relationships in AAI\" />\n","comments":"","x":3880.8094635009766,"y":5512.262933413189,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"65d28d25.dd0424","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv4-address-list relationships\" />\n","comments":"","x":3880.9763259887695,"y":5562.247391382854,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"a119a7b2.41bfd8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3714.3093338012695,"y":5492.24730650584,"z":"d8d4f820.a9f2c8","wires":[["a26afed8.e68c7","4c1a7c6e.e70f14"]]},{"id":"68d5b42e.ef934c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3714.309410095215,"y":5545.247065226238,"z":"d8d4f820.a9f2c8","wires":[["65d28d25.dd0424","4c1a7c6e.e70f14"]]},{"id":"421706f7.2ef6d8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3557.476219177246,"y":5492.262976328533,"z":"d8d4f820.a9f2c8","wires":[["a119a7b2.41bfd8"]]},{"id":"5f2068fe.10b6e8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":3566.047752380371,"y":5544.88212076823,"z":"d8d4f820.a9f2c8","wires":[["68d5b42e.ef934c"]]},{"id":"46a23047.5b1b9","type":"save","name":"save l3-interface-ipv6-address-list object to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv6-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n","comments":"","outputs":1,"x":3297.9525756835938,"y":5601.310898780823,"z":"d8d4f820.a9f2c8","wires":[["191cf9e6.3393b6"]]},{"id":"3541126b.0824ee","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3004.6194458007812,"y":5652.977737426758,"z":"d8d4f820.a9f2c8","wires":[["46a23047.5b1b9","5b3b7aaf.e55054"]]},{"id":"f7617430.207ec8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv6-address-list object in AAI\" />\n","comments":"","x":3881.2860946655273,"y":5619.644557952881,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"13f2bd5a.db12c3","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3711.452449798584,"y":5601.295391082764,"z":"d8d4f820.a9f2c8","wires":[["f7617430.207ec8","4c1a7c6e.e70f14"]]},{"id":"191cf9e6.3393b6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3554.6193351745605,"y":5601.3110609054565,"z":"d8d4f820.a9f2c8","wires":[["13f2bd5a.db12c3"]]},{"id":"5b3b7aaf.e55054","type":"save","name":"save l3-interface-ipv6-address-list relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv6-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n","comments":"","outputs":1,"x":3292.9528198242188,"y":5699.644317626953,"z":"d8d4f820.a9f2c8","wires":[["e2dd76a4.6b3eb8","e1b3f0b9.06247"]]},{"id":"5286a95f.c1b8f8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv6-address-list relationships in AAI\" />\n","comments":"","x":3879.6192016601562,"y":5691.310989379883,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"c65b3094.b4e8d","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv6-address-list relationships\" />\n","comments":"","x":3883.1194229125977,"y":5737.962005853653,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"e5a93916.86df88","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3713.119071960449,"y":5671.295362472534,"z":"d8d4f820.a9f2c8","wires":[["5286a95f.c1b8f8","4c1a7c6e.e70f14"]]},{"id":"61288878.8c3138","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3713.1191482543945,"y":5724.295121192932,"z":"d8d4f820.a9f2c8","wires":[["c65b3094.b4e8d","4c1a7c6e.e70f14"]]},{"id":"e2dd76a4.6b3eb8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3556.285957336426,"y":5671.311032295227,"z":"d8d4f820.a9f2c8","wires":[["e5a93916.86df88"]]},{"id":"e1b3f0b9.06247","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":3564.857490539551,"y":5723.930176734924,"z":"d8d4f820.a9f2c8","wires":[["61288878.8c3138"]]},{"id":"fe7bc606.c38338","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1019.333625793457,"y":6430.025434017181,"z":"d8d4f820.a9f2c8","wires":[["5ddb1d4d.723b24","18914e9d.88d881","7e9b3596.bcd9ec","fa1c5e95.b556f"]]},{"id":"a84b239.f1f1fe","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":1667.3338012695312,"y":6552.359181880951,"z":"d8d4f820.a9f2c8","wires":[["d1002173.07ce9"]]},{"id":"b46ec896.4c4018","type":"save","name":"save vip-ipv4-address-list object to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv4-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >\n<parameter name=\"vip-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`\" />\n<parameter name=\"vip-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n","comments":"","outputs":1,"x":1750.3336563110352,"y":6383.692193508148,"z":"d8d4f820.a9f2c8","wires":[["208183d4.79506c","b616b3d9.ec065"]]},{"id":"7e9b3596.bcd9ec","type":"for","name":"for each floating ipv4 address","xml":"<for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n","comments":"","outputs":1,"x":1258.3336486816406,"y":6441.692265987396,"z":"d8d4f820.a9f2c8","wires":[["d4cec7ee.9a1cb8"]]},{"id":"d4cec7ee.9a1cb8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1484.3336486816406,"y":6439.692265987396,"z":"d8d4f820.a9f2c8","wires":[["b46ec896.4c4018","40849ebf.e6f5c","a84b239.f1f1fe"]]},{"id":"92c56170.8fa1f","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error saving vip-ipv4-address-list in AAI\" />\n","comments":"","x":2312.333656311035,"y":6373.692193508148,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"bdfbc002.39b83","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv4-address-list\" />\n","comments":"","x":2312.500518798828,"y":6423.676651477814,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"7237a892.e2f4a8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2145.833526611328,"y":6353.6765666008,"z":"d8d4f820.a9f2c8","wires":[["92c56170.8fa1f","e9d5c469.8db3b8"]]},{"id":"84fddba6.7619c8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2145.8336029052734,"y":6406.6763253211975,"z":"d8d4f820.a9f2c8","wires":[["bdfbc002.39b83","e9d5c469.8db3b8"]]},{"id":"208183d4.79506c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1989.0004119873047,"y":6353.692236423492,"z":"d8d4f820.a9f2c8","wires":[["7237a892.e2f4a8"]]},{"id":"b616b3d9.ec065","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1997.5719451904297,"y":6406.31138086319,"z":"d8d4f820.a9f2c8","wires":[["84fddba6.7619c8"]]},{"id":"4095636f.001c2c","type":"save","name":"save vip-ipv4-address-list relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n","comments":"","outputs":1,"x":2086.0002517700195,"y":6496.358856678009,"z":"d8d4f820.a9f2c8","wires":[["e200655.899f198","df0531f4.d7d6a"]]},{"id":"990a61f1.2fe44","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationships in AAI\" />\n","comments":"","x":2655.666660308838,"y":6488.358826220036,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"6ded47db.686b78","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationships\" />\n","comments":"","x":2655.8336296081543,"y":6538.34299993515,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"55f518fb.047e78","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2489.166530609131,"y":6468.343199312687,"z":"d8d4f820.a9f2c8","wires":[["990a61f1.2fe44","e9d5c469.8db3b8"]]},{"id":"306058a5.9c7e68","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2489.166606903076,"y":6521.342958033085,"z":"d8d4f820.a9f2c8","wires":[["6ded47db.686b78","e9d5c469.8db3b8"]]},{"id":"e200655.899f198","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2332.3334159851074,"y":6468.35886913538,"z":"d8d4f820.a9f2c8","wires":[["55f518fb.047e78"]]},{"id":"df0531f4.d7d6a","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2340.9049491882324,"y":6520.978013575077,"z":"d8d4f820.a9f2c8","wires":[["306058a5.9c7e68"]]},{"id":"5d3e5ae1.ed9164","type":"save","name":"save vip-ipv6-address-list object to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv6-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >\n<parameter name=\"vip-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`\" />\n<parameter name=\"vip-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n","comments":"","outputs":1,"x":1753.6669845581055,"y":6707.024877071381,"z":"d8d4f820.a9f2c8","wires":[["988d6b9f.8034f8","182bd326.b3316d"]]},{"id":"fa1c5e95.b556f","type":"for","name":"for each floating ipv6 address","xml":"<for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n","comments":"","outputs":1,"x":1261.666976928711,"y":6764.024949550629,"z":"d8d4f820.a9f2c8","wires":[["cf9bee6f.0cc48"]]},{"id":"cf9bee6f.0cc48","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1487.666976928711,"y":6763.024949550629,"z":"d8d4f820.a9f2c8","wires":[["5d3e5ae1.ed9164","52753a40.3ac994","92b2a00c.30465"]]},{"id":"a0bbf16a.8422a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error saving vip-ipv6-address-list in AAI\" />\n","comments":"","x":2315.6669845581055,"y":6697.024877071381,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"5ac4a2f0.1969dc","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv6-address-list\" />\n","comments":"","x":2315.8338470458984,"y":6747.009335041046,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"525ea638.a26228","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2149.1668548583984,"y":6677.009250164032,"z":"d8d4f820.a9f2c8","wires":[["a0bbf16a.8422a","e9d5c469.8db3b8"]]},{"id":"10ac7d1d.4a7f53","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2149.1669311523438,"y":6730.00900888443,"z":"d8d4f820.a9f2c8","wires":[["5ac4a2f0.1969dc","e9d5c469.8db3b8"]]},{"id":"988d6b9f.8034f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1992.333740234375,"y":6677.024919986725,"z":"d8d4f820.a9f2c8","wires":[["525ea638.a26228"]]},{"id":"182bd326.b3316d","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2000.9052734375,"y":6729.644064426422,"z":"d8d4f820.a9f2c8","wires":[["10ac7d1d.4a7f53"]]},{"id":"a558b44a.9baf78","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating vip-ipv6-address-list relationships in AAI\" />\n","comments":"","x":2649.0002403259277,"y":6810.024927675724,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"d65ec88e.491d08","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv6-address-list relationships\" />\n","comments":"","x":2649.1671028137207,"y":6860.00938564539,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"42b87eaf.21b13","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2482.5001106262207,"y":6790.009300768375,"z":"d8d4f820.a9f2c8","wires":[["a558b44a.9baf78","e9d5c469.8db3b8"]]},{"id":"7de50dd9.b7a3a4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2482.500186920166,"y":6843.009059488773,"z":"d8d4f820.a9f2c8","wires":[["d65ec88e.491d08","e9d5c469.8db3b8"]]},{"id":"37de59f6.f9ae46","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2325.6669960021973,"y":6790.024970591068,"z":"d8d4f820.a9f2c8","wires":[["42b87eaf.21b13"]]},{"id":"8feaea6f.5e8168","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2334.2385292053223,"y":6842.6441150307655,"z":"d8d4f820.a9f2c8","wires":[["7de50dd9.b7a3a4"]]},{"id":"194d678b.fc6828","type":"save","name":"save vip-ipv6-address-list relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n","comments":"","outputs":1,"x":2081.333839416504,"y":6818.6913895606995,"z":"d8d4f820.a9f2c8","wires":[["37de59f6.f9ae46","8feaea6f.5e8168"]]},{"id":"dd4614ae.702368","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":1137.333511352539,"y":4627.024782717228,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"cc4e9fe7.acb19","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":1952.0002517700195,"y":4980.0252150297165,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"d24c503d.94fad","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":2010.6670379638672,"y":6182.025355041027,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"e9d5c469.8db3b8","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":2959.667167663574,"y":6301.025201320648,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"4c1a7c6e.e70f14","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":4279.000156402588,"y":5348.69128125906,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"e1e37700.5352c8","type":"set","name":"set created_flag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\n","comments":"","x":1244.0002822875977,"y":5066.025173604488,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"5ddb1d4d.723b24","type":"set","name":"set created-flag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\n","comments":"","x":1214.6670379638672,"y":6314.025355041027,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"40849ebf.e6f5c","type":"set","name":"set created-ipv4-flag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\n","comments":"","x":1687.6670036315918,"y":6442.025434911251,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"52753a40.3ac994","type":"set","name":"set created-ipv6-flag","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\n","comments":"","x":1693.0003395080566,"y":6768.025038182735,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"496b828.086087c","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1444.0002517700195,"y":5041.025109708309,"z":"d8d4f820.a9f2c8","wires":[["70da8d01.b0b054"]]},{"id":"bd330e1c.c356a","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-vlan-tagging-assign","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\n","comments":"","outputs":1,"x":577.6668167114258,"y":7106.025215625763,"z":"d8d4f820.a9f2c8","wires":[["adc70610.d32748"]]},{"id":"adc70610.d32748","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":922.0002326965332,"y":7105.358710765839,"z":"d8d4f820.a9f2c8","wires":[["48d918da.a6eeb8"]]},{"id":"48d918da.a6eeb8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1077.0001068115234,"y":7105.358506679535,"z":"d8d4f820.a9f2c8","wires":[["8fadb577.5a6828","f982f4df.2d8098","4303e7b0.8e59f8"]]},{"id":"8fadb577.5a6828","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":1425.333396911621,"y":7050.358926534653,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"f982f4df.2d8098","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":1253.666835784912,"y":7148.6921545267105,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"4303e7b0.8e59f8","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\n","comments":"","outputs":1,"x":1248.666732788086,"y":7102.025010585785,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"860c887f.eaff48","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":202.55953216552734,"y":518.5714416503906,"z":"d8d4f820.a9f2c8","wires":[["e1c482e1.757c4","a0a0c247.e2df1","1dc8c520.10fcfb","d7ec98f9.c11048","95a14b79.388078","732b9e7f.347cb","80a19b00.38d098"]]},{"id":"f29eef5f.5b38a","type":"switchNode","name":"switch from-preload","xml":"<switch test='`$from-preload`'>\n","comments":"","outputs":1,"x":506.90474700927734,"y":2917.500500679016,"z":"d8d4f820.a9f2c8","wires":[["cfa4393d.27bb98","54a80d0e.e5ab24"]]},{"id":"cfa4393d.27bb98","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":678.8094787597656,"y":2894.8815212249756,"z":"d8d4f820.a9f2c8","wires":[["14535724.d338b9"]]},{"id":"54a80d0e.e5ab24","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":680.476131439209,"y":2939.881360054016,"z":"d8d4f820.a9f2c8","wires":[["9c56ce90.6ec89"]]},{"id":"14535724.d338b9","type":"set","name":"set automated-assignment to true","xml":"<set>\n<parameter name='automated-assignment' value='true' />\n","comments":"","x":893.8094635009766,"y":2893.2146921157837,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"9c56ce90.6ec89","type":"set","name":"set automated-assignment to false","xml":"<set>\n<parameter name='automated-assignment' value='false' />\n","comments":"","x":892.1427841186523,"y":2938.214612007141,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"92b2a00c.30465","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":1668.4288711547852,"y":6866.9054617881775,"z":"d8d4f820.a9f2c8","wires":[["811c48e4.7c4c98"]]},{"id":"c08af869.955e08","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Test return\" />\n","comments":"","x":141.33345794677734,"y":7321.692536711693,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"9691502a.3601c","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":485.66684341430664,"y":4277.691383361816,"z":"d8d4f820.a9f2c8","wires":[["368022b8.1e4dfe"]]},{"id":"368022b8.1e4dfe","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":676.1669120788574,"y":4278.524618148804,"z":"d8d4f820.a9f2c8","wires":[["6f9ca115.6a637"]]},{"id":"6f9ca115.6a637","type":"for","name":"for each vm-network","xml":"<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n","comments":"","outputs":1,"x":877.6668434143066,"y":4277.691383361816,"z":"d8d4f820.a9f2c8","wires":[["bdd4d8e5.08a198"]]},{"id":"bdd4d8e5.08a198","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1067.5001640319824,"y":4277.190822601318,"z":"d8d4f820.a9f2c8","wires":[["d3ed42e6.8ebad"]]},{"id":"d3ed42e6.8ebad","type":"get-resource","name":"get-resource VFC_RELATED_NETWORK_ROLE","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid\n and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n","comments":"","outputs":1,"x":1357.0001373291016,"y":4275.691465377808,"z":"d8d4f820.a9f2c8","wires":[["b8ffa6bd.7527c8","7e002500.68059c"]]},{"id":"b8ffa6bd.7527c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1628.0000762939453,"y":4180.358167648315,"z":"d8d4f820.a9f2c8","wires":[["b873b0ad.eddc7"]]},{"id":"b873b0ad.eddc7","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1775.1905937194824,"y":4178.9061822891235,"z":"d8d4f820.a9f2c8","wires":[["9c47c7a5.43caf8","a3718191.034c9"]]},{"id":"7e002500.68059c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1616.3333282470703,"y":4400.024639129639,"z":"d8d4f820.a9f2c8","wires":[["15daeec8.1c2d81"]]},{"id":"c9b40208.98c5d","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2034.6665802001953,"y":4402.024394989014,"z":"d8d4f820.a9f2c8","wires":[["46cb0c.05d564f4","262afae2.895cb6","1c2f4ba5.9fec74","2fa84a28.7086b6","11f8b093.8cc66f","8c001003.badde","7bd8f9ca.1b7e48","16c4f557.6fba4b"]]},{"id":"9c47c7a5.43caf8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VFC_RELATED_NETWORK_ROLE table\" />\n","comments":"","x":1927.3334503173828,"y":4175.69141960144,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"262afae2.895cb6","type":"for","name":"for each vnf network","xml":"<for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n","comments":"","outputs":1,"x":2229.666717529297,"y":4269.358051300049,"z":"d8d4f820.a9f2c8","wires":[["983bbb86.402fa8"]]},{"id":"46cb0c.05d564f4","type":"set","name":"set found-related-network to false","xml":"<set>\n<parameter name='found-related-network' value='false' />\n","comments":"","x":2269.666793823242,"y":4211.024827957153,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"e01ef5f4.8efa28","type":"for","name":"for each related network","xml":"<for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >\n","comments":"","outputs":1,"x":2628.666679382324,"y":4246.024314880371,"z":"d8d4f820.a9f2c8","wires":[["4c63bd2c.6c9c24"]]},{"id":"983bbb86.402fa8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2417.666717529297,"y":4269.358051300049,"z":"d8d4f820.a9f2c8","wires":[["e01ef5f4.8efa28","a693b9e7.f21078"]]},{"id":"4c63bd2c.6c9c24","type":"switchNode","name":"switch network-role matches","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role\n == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>\n","comments":"","outputs":1,"x":2880.6665954589844,"y":4246.024391174316,"z":"d8d4f820.a9f2c8","wires":[["2df806f.57624fa"]]},{"id":"15daeec8.1c2d81","type":"for","name":"for each db related-network","xml":"<for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >\n","comments":"","outputs":1,"x":1820.6667022705078,"y":4400.691387176514,"z":"d8d4f820.a9f2c8","wires":[["c9b40208.98c5d"]]},{"id":"edc7aa54.3cbeb8","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":310.0002212524414,"y":7281.692536711693,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"2df806f.57624fa","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3080.6665954589844,"y":4244.024391174316,"z":"d8d4f820.a9f2c8","wires":[["4474c5a2.e2d63c"]]},{"id":"4474c5a2.e2d63c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3234.6665954589844,"y":4242.024391174316,"z":"d8d4f820.a9f2c8","wires":[["c065c0ff.39df","5388fe9.54752","c5e8ece7.2adc2"]]},{"id":"c065c0ff.39df","type":"set","name":"set found-related-network to true","xml":"<set>\n<parameter name='found-related-network' value='true' />\n","comments":"","x":3466.6667556762695,"y":4201.690975189209,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"5388fe9.54752","type":"break","name":"break","xml":"<break>\n","comments":"","x":3389.999931335449,"y":4288.357725143433,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"1c2f4ba5.9fec74","type":"switchNode","name":"switch found-related-network","xml":"<switch test='`$found-related-network`'>\n","comments":"","outputs":1,"x":2252.666648864746,"y":4345.024528503418,"z":"d8d4f820.a9f2c8","wires":[["922c6102.4c462"]]},{"id":"922c6102.4c462","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2446.666648864746,"y":4343.024528503418,"z":"d8d4f820.a9f2c8","wires":[["6435ac34.5e8394"]]},{"id":"fcd9beac.a26f7","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unable to find related network '\n + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`\" />\n","comments":"","x":2724.666648864746,"y":4341.024528503418,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"6435ac34.5e8394","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2576.666648864746,"y":4343.024528503418,"z":"d8d4f820.a9f2c8","wires":[["fcd9beac.a26f7","a3718191.034c9"]]},{"id":"a3718191.034c9","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":2669.333450317383,"y":4105.69141960144,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"2fa84a28.7086b6","type":"set","name":"set is-trunked and segmentation-id in vm-network","xml":"<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />\n","comments":"","x":2314.666648864746,"y":4393.024528503418,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"8c001003.badde","type":"switchNode","name":"switch rn-index","xml":"<switch test='`$rn-index`'>\n","comments":"","outputs":1,"x":2202.666648864746,"y":4501.024528503418,"z":"d8d4f820.a9f2c8","wires":[["532306e4.012e18"]]},{"id":"11f8b093.8cc66f","type":"set","name":"set rn-index to related network length","xml":"<set>\n<parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />\n","comments":"","x":2274.666648864746,"y":4445.024528503418,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"532306e4.012e18","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":2366.666648864746,"y":4501.024528503418,"z":"d8d4f820.a9f2c8","wires":[["bc3136f9.00a898"]]},{"id":"bc3136f9.00a898","type":"set","name":"set rn-index to 0","xml":"<set>\n<parameter name='rn-index' value='0' />\n","comments":"","x":2526.666648864746,"y":4501.024528503418,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"7bd8f9ca.1b7e48","type":"set","name":"set related-network data","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />\n","comments":"","x":2226.666648864746,"y":4553.024528503418,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"16c4f557.6fba4b","type":"set","name":"set new related network length","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n","comments":"","x":2244.666648864746,"y":4605.024528503418,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"a693b9e7.f21078","type":"switchNode","name":"switch found-related-network","xml":"<switch test='`$found-related-network`'>\n","comments":"","outputs":1,"x":2641.666702270508,"y":4293.691175460815,"z":"d8d4f820.a9f2c8","wires":[["c7e76177.8ad2f"]]},{"id":"c7e76177.8ad2f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2838.333564758301,"y":4293.691547393799,"z":"d8d4f820.a9f2c8","wires":[["fcba093c.17f4b8"]]},{"id":"fcba093c.17f4b8","type":"break","name":"break","xml":"<break>\n","comments":"","x":2968.333450317383,"y":4292.024671554565,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"c5e8ece7.2adc2","type":"set","name":"save indexes","xml":"<set>\n<parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />\n<parameter name='saved-related-network-index' value='`$related-network-index`' />\n","comments":"","x":3408.3336639404297,"y":4243.69154548645,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"e6e55ed7.b5ae4","type":"execute","name":"generate cp-instance-id","xml":"<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" >\n<parameter name=\"ctx-destination\" value=\"cp-instance-id\" />\n","comments":"","outputs":1,"x":1697.2381553649902,"y":5273.215598583221,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"32089266.b79fae","type":"save","name":"save cp to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"cp\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\" >\n<parameter name=\"cp-instance-id\" value=\"`$cp-instance-id`\" />\n<parameter name=\"port-id\" value=\"0\" />\n","comments":"","outputs":1,"x":1678.9047775268555,"y":5339.88210439682,"z":"d8d4f820.a9f2c8","wires":[["8d5f6283.2d9e3","4e1799ad.0a69a8"]]},{"id":"8d5f6283.2d9e3","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1867.9047584533691,"y":5315.548717916012,"z":"d8d4f820.a9f2c8","wires":[["83d7b171.24c35"]]},{"id":"83d7b171.24c35","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2035.0715065002441,"y":5331.343151509762,"z":"d8d4f820.a9f2c8","wires":[["bfa3a410.97da58","cc4e9fe7.acb19"]]},{"id":"4e1799ad.0a69a8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1872.9047584533691,"y":5365.214977681637,"z":"d8d4f820.a9f2c8","wires":[["83d7b171.24c35"]]},{"id":"bfa3a410.97da58","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error creating cp object in AAI\" />\n","comments":"","x":2200.571517944336,"y":5343.215356349945,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"b322cbb.d612438","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1473.7144775390625,"y":5542.500392436981,"z":"d8d4f820.a9f2c8","wires":[["7267c3a9.be41ec","111a216a.3e270f","e6e55ed7.b5ae4","32089266.b79fae","18f29b15.840555","fe4629aa.b32578"]]},{"id":"7267c3a9.be41ec","type":"set","name":"set connection point data","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'\n value='`$cp-instance-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'\n value='0' />\n","comments":"","x":1709.2383193969727,"y":5417.739674091339,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"26f373a1.24158c","type":"comment","name":"Floating IPs","info":"","comments":"","x":1270.0001373291016,"y":6400.02479237318,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"18f29b15.840555","type":"for","name":"for each vnf-network","xml":"<for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n","comments":"","outputs":1,"x":1693.3333206176758,"y":5814.025167942047,"z":"d8d4f820.a9f2c8","wires":[["3da1819b.3af66e"]]},{"id":"5cee5b98.556834","type":"save","name":"save cp relationship to l3-network","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`\" />\n","comments":"","outputs":1,"x":2331.6668014526367,"y":5813.691675662994,"z":"d8d4f820.a9f2c8","wires":[["da45193d.fc1f68","b38b3f6b.3e336"]]},{"id":"b0de669e.139cc8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2703.499839782715,"y":5787.009624004364,"z":"d8d4f820.a9f2c8","wires":[["c0093cc.df096c","f1d875ae.90d2a8"]]},{"id":"eb99894b.5827e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2703.49991607666,"y":5840.009382724762,"z":"d8d4f820.a9f2c8","wires":[["c0093cc.df096c","19f8f83c.c99788"]]},{"id":"da45193d.fc1f68","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2546.6667251586914,"y":5787.025293827057,"z":"d8d4f820.a9f2c8","wires":[["b0de669e.139cc8"]]},{"id":"b38b3f6b.3e336","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2555.2382583618164,"y":5839.644438266754,"z":"d8d4f820.a9f2c8","wires":[["eb99894b.5827e8"]]},{"id":"f1d875ae.90d2a8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network in AAI\" />\n","comments":"","x":2875.666648864746,"y":5809.691999912261,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"19f8f83c.c99788","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network\" />\n","comments":"","x":2870.8335571289062,"y":5861.343206882476,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"c0093cc.df096c","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":3077.33341217041,"y":5759.691998004913,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"fe4629aa.b32578","type":"for","name":"for each vm-network","xml":"<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n","comments":"","outputs":1,"x":1693.3334732055664,"y":5974.691523075104,"z":"d8d4f820.a9f2c8","wires":[["b89a6d2f.66e45"]]},{"id":"1905de4.1a18e22","type":"save","name":"save cp relationship to l3-network and vlan-tag","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vlan-tag\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vlan-tags/vlan-tag/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`\" />\n","comments":"","outputs":1,"x":2613.0004806518555,"y":5972.691518306732,"z":"d8d4f820.a9f2c8","wires":[["fb32e241.c8b6","e12d3175.6b5ad"]]},{"id":"96953cd3.edfa","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3019.833526611328,"y":5946.008817195893,"z":"d8d4f820.a9f2c8","wires":[["aae15a88.6077c8","c0093cc.df096c"]]},{"id":"6ffebc31.515dc4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3019.8336029052734,"y":5999.008575916291,"z":"d8d4f820.a9f2c8","wires":[["e515a829.8f9268","c0093cc.df096c"]]},{"id":"fb32e241.c8b6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2863.0004119873047,"y":5946.024487018586,"z":"d8d4f820.a9f2c8","wires":[["96953cd3.edfa"]]},{"id":"e12d3175.6b5ad","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2871.5719451904297,"y":5998.643631458283,"z":"d8d4f820.a9f2c8","wires":[["6ffebc31.515dc4"]]},{"id":"aae15a88.6077c8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network and vlan-tag in AAI\" />\n","comments":"","x":3192.0003356933594,"y":5968.69119310379,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"e515a829.8f9268","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network and vlan-tag\" />\n","comments":"","x":3187.1672439575195,"y":6020.342400074005,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"2f07f188.8c7d4e","type":"for","name":"for each related-network","xml":"<for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\n","comments":"","outputs":1,"x":2309.000312805176,"y":5972.6915192604065,"z":"d8d4f820.a9f2c8","wires":[["1905de4.1a18e22"]]},{"id":"9f27a4a4.73d8e8","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-generate-heat-parameters","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' >\n","comments":"","outputs":1,"x":575.6668815612793,"y":7190.69133657217,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"d34b40c0.acb5e","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />\n","comments":"","outputs":1,"x":397.0002098083496,"y":7238.691439568996,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"6f8af175.c5f4d","type":"switchNode","name":"switch input vf-module-name","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\n","comments":"","outputs":1,"x":540.0000381469727,"y":2699.5243406295776,"z":"d8d4f820.a9f2c8","wires":[["f56ba749.bae958","8c829c08.69ae3"]]},{"id":"f56ba749.bae958","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":740.0000305175781,"y":2677.0242433547974,"z":"d8d4f820.a9f2c8","wires":[["ac08e510.b09af8"]]},{"id":"8c829c08.69ae3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":741.4286422729492,"y":2727.1434659957886,"z":"d8d4f820.a9f2c8","wires":[["a309d0d6.bf143"]]},{"id":"120d110b.fa0a4f","type":"for","name":"for each vnfc-subnet-role","xml":"<for index='subnet-role-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >\n","comments":"","outputs":1,"x":1297.5001373291016,"y":3494.5240173339844,"z":"d8d4f820.a9f2c8","wires":[["e457493c.ba4918"]]},{"id":"e457493c.ba4918","type":"for","name":"for each vnfc-address-family","xml":"<for index='address-family-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n","comments":"","outputs":1,"x":1545.833396911621,"y":3494.5240173339844,"z":"d8d4f820.a9f2c8","wires":[["e51c0a0f.a8dec8"]]},{"id":"9303fc78.a6fc8","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":503.33331298828125,"y":3212.8573541641235,"z":"d8d4f820.a9f2c8","wires":[["a28abbd9.f89e88"]]},{"id":"a28abbd9.f89e88","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":685.0000915527344,"y":3211.5245027542114,"z":"d8d4f820.a9f2c8","wires":[["79c72ab2.cf0944"]]},{"id":"79c72ab2.cf0944","type":"for","name":"for each vnfc-network","xml":"<for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n","comments":"","outputs":1,"x":886.1666641235352,"y":3211.3571920394897,"z":"d8d4f820.a9f2c8","wires":[["102dab74.439d65"]]},{"id":"102dab74.439d65","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1098.3333358764648,"y":3210.3575525283813,"z":"d8d4f820.a9f2c8","wires":[["25f01b18.783cf4","fd79e5d2.d96098","357417ef.8538d8","120d110b.fa0a4f"]]},{"id":"25f01b18.783cf4","type":"set","name":"set vnf-network-index to -1","xml":"<set>\n<parameter name='vnf-network-index' value='-1' />\n","comments":"","x":1310.0000534057617,"y":3163.6907663345337,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"fd79e5d2.d96098","type":"for","name":"for each vnf-network","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n","comments":"","outputs":1,"x":1291.6668434143066,"y":3210.357518196106,"z":"d8d4f820.a9f2c8","wires":[["2f303352.1dbeac"]]},{"id":"2f303352.1dbeac","type":"switchNode","name":"switch network-roles match?","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>\n","comments":"","outputs":1,"x":1533.3333129882812,"y":3208.6910133361816,"z":"d8d4f820.a9f2c8","wires":[["a7d1950d.e6a2c8"]]},{"id":"a7d1950d.e6a2c8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1729.9999923706055,"y":3208.6909322738647,"z":"d8d4f820.a9f2c8","wires":[["c7ac8729.b50ed8"]]},{"id":"c7ac8729.b50ed8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1883.3332138061523,"y":3208.6908044815063,"z":"d8d4f820.a9f2c8","wires":[["3393e227.07efde","a113a692.b930a8","32275117.4ec7be"]]},{"id":"3393e227.07efde","type":"set","name":"set vnf-network-index","xml":"<set>\n<parameter name='vnf-network-index' value='`$idx`' />\n","comments":"","x":2090.000045776367,"y":3157.024182319641,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"a113a692.b930a8","type":"break","name":"break","xml":"<break>\n","comments":"","x":2044.9999618530273,"y":3247.024103164673,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"357417ef.8538d8","type":"switchNode","name":"switch vnf-network-index","xml":"<switch test='`$vnf-network-index`'>\n","comments":"","outputs":1,"x":1303.333381652832,"y":3270.3575201034546,"z":"d8d4f820.a9f2c8","wires":[["604d8586.092f6c"]]},{"id":"604d8586.092f6c","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":1495.0000228881836,"y":3270.3577642440796,"z":"d8d4f820.a9f2c8","wires":[["bd4d08d5.868f78"]]},{"id":"bd4d08d5.868f78","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1643.3332138061523,"y":3268.6908044815063,"z":"d8d4f820.a9f2c8","wires":[["98d80282.126d4","a9f7de8.688ca2"]]},{"id":"98d80282.126d4","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":2661.666679382324,"y":3090.3574323654175,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"a9f7de8.688ca2","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'VNFC network role '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n + ' is not found in VNF network list'\n `\" />\n\n\n\n","comments":"","x":1811.6665878295898,"y":3287.0240564346313,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"80d777f7.c5d5e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2334.999931335449,"y":3678.690655708313,"z":"d8d4f820.a9f2c8","wires":[["becbc572.fd1618","9c50301d.6f785","b268b257.f4937"]]},{"id":"becbc572.fd1618","type":"for","name":"for each subnet-data","xml":"<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n","comments":"","outputs":1,"x":2531.6666831970215,"y":3633.690574645996,"z":"d8d4f820.a9f2c8","wires":[["7dca4077.77c37"]]},{"id":"7dca4077.77c37","type":"switchNode","name":"address-families match?","xml":"<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n","comments":"","outputs":1,"x":2758.333309173584,"y":3633.690574645996,"z":"d8d4f820.a9f2c8","wires":[["a9dae646.6ff1c8"]]},{"id":"a9dae646.6ff1c8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2938.3332748413086,"y":3633.690980911255,"z":"d8d4f820.a9f2c8","wires":[["67a74b25.307554"]]},{"id":"83d1beed.92423","type":"set","name":"set tmp.address-family","xml":"<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n","comments":"","x":2363.333267211914,"y":3497.0240688323975,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"e51c0a0f.a8dec8","type":"switchNode","name":"switch vnfc-subnet-ip_length","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>\n","comments":"","outputs":1,"x":1808.333610534668,"y":3493.6911039352417,"z":"d8d4f820.a9f2c8","wires":[["8d18701d.ef01f","85fa3042.9cda2"]]},{"id":"8d18701d.ef01f","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":2010.0000648498535,"y":3430.357300758362,"z":"d8d4f820.a9f2c8","wires":[["d19662af.6bac4"]]},{"id":"85fa3042.9cda2","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2006.4288368225098,"y":3559.6430683135986,"z":"d8d4f820.a9f2c8","wires":[["1961795f.dc2bd7"]]},{"id":"d19662af.6bac4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2141.6666717529297,"y":3429.6907777786255,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"b6f1045b.d072f8","type":"set","name":"set subnet-id to -1","xml":"<set>\n<parameter name='subnet-id' value='-1' />\n","comments":"","x":3031.667190551758,"y":3795.358060836792,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"1961795f.dc2bd7","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2160.0002517700195,"y":3558.690700531006,"z":"d8d4f820.a9f2c8","wires":[["83d1beed.92423","80d777f7.c5d5e8"]]},{"id":"9bdb2ded.f7444","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4294.9996910095215,"y":3900.3579082489014,"z":"d8d4f820.a9f2c8","wires":[["60938fd6.1bcf4","e3ae893d.c0ba88"]]},{"id":"e3ae893d.c0ba88","type":"execute","name":"execute isInSameSubnet","xml":"<execute plugin=\"com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool\" method=\"isInSameSubnet\">\n\t<parameter name=\"firstIPAddr\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`\" />\n\t<parameter name=\"secondIPAddr\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`\" />\n\t<parameter name=\"subnet\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`\" />\n\t<parameter name=\"ipType\" value=\"`$ip-type`\" />\n","comments":"","outputs":1,"x":4503.333068847656,"y":3950.3577308654785,"z":"d8d4f820.a9f2c8","wires":[["233b597c.ea9566"]]},{"id":"60938fd6.1bcf4","type":"switchNode","name":"switch tmp.address-family","xml":"<switch test='`$tmp.address-family`'>\n","comments":"","outputs":1,"x":4505.000225067139,"y":3857.0247173309326,"z":"d8d4f820.a9f2c8","wires":[["f28d04ae.9f28d8","cad7129f.7e9d9"]]},{"id":"f28d04ae.9f28d8","type":"outcome","name":"ipv4","xml":"<outcome value='ipv4'>\n","comments":"","outputs":1,"x":4708.333487192789,"y":3830.3579476674395,"z":"d8d4f820.a9f2c8","wires":[["215c7a9d.8d6196"]]},{"id":"cad7129f.7e9d9","type":"outcome","name":"ipv6","xml":"<outcome value='ipv6'>\n","comments":"","outputs":1,"x":4708.333160400391,"y":3877.0244750976562,"z":"d8d4f820.a9f2c8","wires":[["1e185b8b.261eb4"]]},{"id":"215c7a9d.8d6196","type":"set","name":"set ip-type parameter to IPv4","xml":"<set>\n<parameter name='ip-type' value='IPv4' />\n","comments":"","x":4904.999973297119,"y":3828.691421508789,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"1e185b8b.261eb4","type":"set","name":"set ip-type parameter to IPv6","xml":"<set>\n<parameter name='ip-type' value='IPv6' />\n","comments":"","x":4909.999851226807,"y":3877.0244941711426,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"acdf1369.a6424","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4843.333099365234,"y":3950.0244941711426,"z":"d8d4f820.a9f2c8","wires":[["cc87bcba.11e08","8627223.9c8ede"]]},{"id":"cc87bcba.11e08","type":"set","name":"set subnet-id","xml":"<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n","comments":"","x":5021.66641998291,"y":3926.690980911255,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"8627223.9c8ede","type":"break","name":"break","xml":"<break>\n","comments":"","x":5006.666423797607,"y":3973.3579750061035,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"ee077a58.fea5e8","type":"switchNode","name":"switch subnet-id","xml":"<switch test='`$subnet-id`'>\n","comments":"","outputs":1,"x":3023.333065032959,"y":3957.0247955322266,"z":"d8d4f820.a9f2c8","wires":[["f44c2217.3d1b6"]]},{"id":"f44c2217.3d1b6","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":3179.9996299743652,"y":3957.024730682373,"z":"d8d4f820.a9f2c8","wires":[["feef8801.085708"]]},{"id":"feef8801.085708","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3328.332820892334,"y":3955.3577709198,"z":"d8d4f820.a9f2c8","wires":[["7ccf81b.d4ee28","98d80282.126d4"]]},{"id":"7ccf81b.d4ee28","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Not able to find VNF network subnet that contains address '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address\n `\" />\n\n\n\n","comments":"","x":3496.6661529541016,"y":3972.0242462158203,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"4528dd6c.a9d804","type":"set","name":"set subnet-id in vnfc-ip-assignments (temp variable)","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />\n","comments":"","x":3134.999710083008,"y":4033.691566467285,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"a4ec6528.997b68","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />\n","comments":"","outputs":1,"x":488.3333053588867,"y":3628.6908044815063,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"233b597c.ea9566","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4689.999671936035,"y":3950.3582191467285,"z":"d8d4f820.a9f2c8","wires":[["acdf1369.a6424"]]},{"id":"32275117.4ec7be","type":"set","name":"set network-id","xml":"<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />\n","comments":"","x":2066.666549682617,"y":3202.0242652893066,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"697f82c4.6623dc","type":"switchNode","name":"switch nfc-naming-code","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>\n","comments":"","outputs":1,"x":1265.000015258789,"y":4817.023993015289,"z":"d8d4f820.a9f2c8","wires":[["50205425.9c35fc","9c93cb86.d34418"]]},{"id":"50205425.9c35fc","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1449.9999618530273,"y":4792.023811817169,"z":"d8d4f820.a9f2c8","wires":[["ac2674b6.932cd8"]]},{"id":"9c93cb86.d34418","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1448.0952339172363,"y":4838.809639453888,"z":"d8d4f820.a9f2c8","wires":[["8143de63.51dcb"]]},{"id":"ac2674b6.932cd8","type":"set","name":"set tmp.nfc-naming-code to DEFAULT","xml":"<set>\n<parameter name='tmp.nfc-naming-code' value='DEFAULT' />\n","comments":"","x":1681.666732788086,"y":4790.357161998749,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"8143de63.51dcb","type":"set","name":"set tmp.nfc-naming-code","xml":"<set>\n<parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />\n","comments":"","x":1638.3332443237305,"y":4838.690659999847,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"670d28d3.fa52d8","type":"switchNode","name":"switch nfc-function","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>\n","comments":"","outputs":1,"x":1253.3333473205566,"y":4915.35716676712,"z":"d8d4f820.a9f2c8","wires":[["e92a0ff5.8a6ea","e967e0c7.141ea"]]},{"id":"e92a0ff5.8a6ea","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1449.9999542236328,"y":4890.356964588165,"z":"d8d4f820.a9f2c8","wires":[["76a914e8.973cac"]]},{"id":"e967e0c7.141ea","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1448.0952262878418,"y":4937.142792224884,"z":"d8d4f820.a9f2c8","wires":[["3373fcba.aac3f4"]]},{"id":"76a914e8.973cac","type":"set","name":"set tmp.nfc-function to DEFAULT","xml":"<set>\n<parameter name='tmp.nfc-function' value='DEFAULT' />\n","comments":"","x":1661.6667366027832,"y":4888.690173625946,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"3373fcba.aac3f4","type":"set","name":"set tmp.nfc-function","xml":"<set>\n<parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />\n","comments":"","x":1619.9998664855957,"y":4937.023834705353,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"6be404e7.1c59fc","type":"call","name":"call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback","xml":"<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n","comments":"","outputs":1,"x":2893.333335876465,"y":2572.0243005752563,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"af8fa6f8.47b568","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2799.999839782715,"y":2647.0243005752563,"z":"d8d4f820.a9f2c8","wires":[["92d86032.bda92","6be404e7.1c59fc"]]},{"id":"616c54.9bd543ac","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2004.9998931884766,"y":2707.024164199829,"z":"d8d4f820.a9f2c8","wires":[["5ed414bf.bfc72c","6be404e7.1c59fc"]]},{"id":"4fbb0a7.af041f4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2266.666757583618,"y":2762.0243310928345,"z":"d8d4f820.a9f2c8","wires":[["30dea8b5.f55b68","6be404e7.1c59fc"]]},{"id":"3da1819b.3af66e","type":"switchNode","name":"switch network-roles match?","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n","comments":"","outputs":1,"x":1926.6666641235352,"y":5814.02419424057,"z":"d8d4f820.a9f2c8","wires":[["5bc60ac9.3bed64"]]},{"id":"5bc60ac9.3bed64","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2125.0001335144043,"y":5813.691349506378,"z":"d8d4f820.a9f2c8","wires":[["5cee5b98.556834"]]},{"id":"b89a6d2f.66e45","type":"switchNode","name":"switch network-roles match?","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n","comments":"","outputs":1,"x":1930.0000076293945,"y":5973.690641880035,"z":"d8d4f820.a9f2c8","wires":[["c0561744.9d4c18"]]},{"id":"c0561744.9d4c18","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2128.3334770202637,"y":5973.3577971458435,"z":"d8d4f820.a9f2c8","wires":[["2f07f188.8c7d4e"]]},{"id":"d1002173.07ce9","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1833.3332901000977,"y":6552.02406167984,"z":"d8d4f820.a9f2c8","wires":[["4095636f.001c2c","2a7c471e.bfa718"]]},{"id":"811c48e4.7c4c98","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1835.0000381469727,"y":6867.024073123932,"z":"d8d4f820.a9f2c8","wires":[["194d678b.fc6828","6da03288.1d267c"]]},{"id":"2a7c471e.bfa718","type":"for","name":"for each vnfc-network-role","xml":"<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n","comments":"","outputs":1,"x":2050.0002365112305,"y":6610.357232570648,"z":"d8d4f820.a9f2c8","wires":[["90020433.313fe8"]]},{"id":"236d80f2.7fce8","type":"save","name":"save vip-ipv4-address-list relationship to cp","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n","comments":"","outputs":1,"x":2725.000160217285,"y":6610.357071399689,"z":"d8d4f820.a9f2c8","wires":[["2b368c9a.bff5e4","df56f320.6250b"]]},{"id":"929f1b52.c94ab8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n","comments":"","x":3283.333381652832,"y":6603.690479755402,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"b4cc6a73.7bdd38","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n","comments":"","x":3283.5003509521484,"y":6653.674653470516,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"d88b156d.70a7e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3116.833251953125,"y":6583.674852848053,"z":"d8d4f820.a9f2c8","wires":[["929f1b52.c94ab8","e9d5c469.8db3b8"]]},{"id":"d86a958b.b40418","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3116.8333282470703,"y":6636.674611568451,"z":"d8d4f820.a9f2c8","wires":[["b4cc6a73.7bdd38","e9d5c469.8db3b8"]]},{"id":"2b368c9a.bff5e4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2960.0001373291016,"y":6583.690522670746,"z":"d8d4f820.a9f2c8","wires":[["d88b156d.70a7e8"]]},{"id":"df56f320.6250b","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2968.5716705322266,"y":6636.309667110443,"z":"d8d4f820.a9f2c8","wires":[["d86a958b.b40418"]]},{"id":"6da03288.1d267c","type":"for","name":"for each vnfc-network-role","xml":"<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n","comments":"","outputs":1,"x":2051.666633605957,"y":6933.690641880035,"z":"d8d4f820.a9f2c8","wires":[["62b7e066.b4ffd"]]},{"id":"c59bd197.91ca9","type":"save","name":"save vip-ipv6-address-list relationship to cp","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n","comments":"","outputs":1,"x":2721.66658782959,"y":6932.023424625397,"z":"d8d4f820.a9f2c8","wires":[["401fd4be.c3123c","d3e470fe.e4267"]]},{"id":"3dfc3a55.f9e596","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n","comments":"","x":3279.9998092651367,"y":6925.35683298111,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"78886e01.aaaca","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n","comments":"","x":3280.166778564453,"y":6975.341006696224,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"8e1717a2.182698","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3113.4996795654297,"y":6905.341206073761,"z":"d8d4f820.a9f2c8","wires":[["3dfc3a55.f9e596"]]},{"id":"ed27346f.add1b8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3113.499755859375,"y":6958.340964794159,"z":"d8d4f820.a9f2c8","wires":[["78886e01.aaaca"]]},{"id":"401fd4be.c3123c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2956.6665649414062,"y":6905.356875896454,"z":"d8d4f820.a9f2c8","wires":[["8e1717a2.182698"]]},{"id":"d3e470fe.e4267","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2965.2380981445312,"y":6957.976020336151,"z":"d8d4f820.a9f2c8","wires":[["ed27346f.add1b8"]]},{"id":"90020433.313fe8","type":"switchNode","name":"switch network-roles match?","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n","comments":"","outputs":1,"x":2303.3333053588867,"y":6610.356909275055,"z":"d8d4f820.a9f2c8","wires":[["bbcc7c00.67b05"]]},{"id":"bbcc7c00.67b05","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2490.0001487731934,"y":6610.357396602631,"z":"d8d4f820.a9f2c8","wires":[["236d80f2.7fce8"]]},{"id":"62b7e066.b4ffd","type":"switchNode","name":"switch network-roles match?","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n","comments":"","outputs":1,"x":2299.999885559082,"y":6932.023649692535,"z":"d8d4f820.a9f2c8","wires":[["61433e8e.05e5f"]]},{"id":"61433e8e.05e5f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2486.6667289733887,"y":6932.024137020111,"z":"d8d4f820.a9f2c8","wires":[["c59bd197.91ca9"]]},{"id":"1850ab54.f65915","type":"switchNode","name":"switch: param[].name","xml":"<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$p].name`\">\n","comments":"","outputs":1,"x":1092.6785888671875,"y":928.000036239624,"z":"d8d4f820.a9f2c8","wires":[["867b00d4.84d36","a23fb886.63cae8"]]},{"id":"3b005b00.a35596","type":"for","name":"for p in vf-module-input-parameters.param[]","xml":"<for silentFailure='true' index='p' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >\n","comments":"","outputs":1,"x":798.7857360839844,"y":928.5000686645508,"z":"d8d4f820.a9f2c8","wires":[["1850ab54.f65915"]]},{"id":"994e44eb.cda288","type":"set","name":"set tmp.exist.vf_module_label = true","xml":"<set>\n<parameter name='tmp.exist.vf_module_label' value='true' />","comments":"","x":1634.571517944336,"y":976.8572063446045,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"949cc974.cc8408","type":"set","name":"set tmp.exist.sdnc-model-name = true","xml":"<set>\n<parameter name='tmp.exist.sdnc-model-name' value='true' />\n","comments":"","x":1637.2856254577637,"y":927.8572216033936,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"80a19b00.38d098","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":478.0952606201172,"y":822.809549331665,"z":"d8d4f820.a9f2c8","wires":[["3b005b00.a35596","cb18195c.6f2d48","95817df.ca9598","18b4c78a.d2faa8"]]},{"id":"8f2630b2.5922a","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":376.3809509277344,"y":775.6190795898438,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"867b00d4.84d36","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":1348.8571646554128,"y":927.9048306601387,"z":"d8d4f820.a9f2c8","wires":[["949cc974.cc8408"]]},{"id":"a23fb886.63cae8","type":"outcome","name":"vf_module_label","xml":"<outcome value='vf_module_label'>\n","comments":"","outputs":1,"x":1351.7142868041992,"y":977.333402633667,"z":"d8d4f820.a9f2c8","wires":[["994e44eb.cda288"]]},{"id":"409dae26.2ed94","type":"get-resource","name":"get VF_MODEL.sdnc_model_name","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT sdnc_model_name from VF_MODEL \n \tWHERE customization_uuid = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-customization-uuid \n \tAND sdnc_model_name is not null'\n pfx='db.vf-model-name'>\n\n","comments":"","outputs":1,"x":1497.8096466064453,"y":1401.975938796997,"z":"d8d4f820.a9f2c8","wires":[["d6d5d88b.eabb68","a4981e1e.9320f","2010a869.ad46e8"]]},{"id":"d6d5d88b.eabb68","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1748.1667709350586,"y":1312.356879234314,"z":"d8d4f820.a9f2c8","wires":[["dacb6066.5e513"]]},{"id":"a4981e1e.9320f","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1753.8810195922852,"y":1499.4997911453247,"z":"d8d4f820.a9f2c8","wires":[["42d9f159.049be"]]},{"id":"dacb6066.5e513","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n","comments":"","x":1929.1667518615723,"y":1312.4997863769531,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"959b16c5.cfdd28","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1249.6550369262695,"y":1402.1662158966064,"z":"d8d4f820.a9f2c8","wires":[["409dae26.2ed94"]]},{"id":"6869510a.76d46","type":"call","name":"call self-serve-vf-module-assign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\n","comments":"","outputs":1,"x":2570.844772338867,"y":1041.9643993377686,"z":"d8d4f820.a9f2c8","wires":[["5a051c2e.c847a4"]]},{"id":"b17d915c.29f83","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id`\" />\n","comments":"","x":2954.9161491394043,"y":1041.964349746704,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"18b4c78a.d2faa8","type":"switchNode","name":"switch: tmp.exist.sdnc-model-name && tmp.exist.vf_module_label == true","xml":"<switch test=\"`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.vf_module_label == 'true'`\">\n","comments":"","outputs":1,"x":887.1546936035156,"y":1115.5712890625,"z":"d8d4f820.a9f2c8","wires":[["959b16c5.cfdd28","59f967f4.589b18"]]},{"id":"59f967f4.589b18","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1253.7621002197266,"y":1042.9283809661865,"z":"d8d4f820.a9f2c8","wires":[["8f945edb.cca72"]]},{"id":"5a051c2e.c847a4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2791.1423530578613,"y":1041.4524307250977,"z":"d8d4f820.a9f2c8","wires":[["b17d915c.29f83"]]},{"id":"d7a65b96.fc6f88","type":"get-resource","name":"get VF_MODULE_MODEL.vf-module-label","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT vf_module_label from VF_MODULE_MODEL \n \tWHERE vf_customization_uuid = $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n \tAND vf_module_label is not null '\n pfx='db.vf-module-label'>\n\n","comments":"","outputs":1,"x":2026.0478134155273,"y":1402.214199066162,"z":"d8d4f820.a9f2c8","wires":[["e25f08a7.9318c8","7872d8b0.c039a8","3377bd66.e95b22"]]},{"id":"e25f08a7.9318c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2301.4050369262695,"y":1402.3093299865723,"z":"d8d4f820.a9f2c8","wires":[["e24e689c.636158"]]},{"id":"7872d8b0.c039a8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2311.9763946533203,"y":1450.0235958099365,"z":"d8d4f820.a9f2c8","wires":[["42d9f159.049be"]]},{"id":"e24e689c.636158","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":2475.5475463867188,"y":1402.8807754516602,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"42d9f159.049be","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2485.3815994262695,"y":1499.0713062286377,"z":"d8d4f820.a9f2c8","wires":[["1775cfdf.a41f2"]]},{"id":"3377bd66.e95b22","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2305.762107849121,"y":1353.2142543792725,"z":"d8d4f820.a9f2c8","wires":[["8f945edb.cca72"]]},{"id":"2010a869.ad46e8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1751.821533203125,"y":1401.9760036468506,"z":"d8d4f820.a9f2c8","wires":[["d7a65b96.fc6f88"]]},{"id":"cb18195c.6f2d48","type":"set","name":"initialize tmp.exist.sdnc-model-name && tmp.exist.vf_module_label = false","xml":"<set>\n<parameter name='tmp.exist.sdnc-model-name' value='false' />\n<parameter name='tmp.exist.vf_module_label' value='false' />\n","comments":"","x":890.6785659790039,"y":823.0832109451294,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"6060b17a.6d498","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":2517.7140159606934,"y":1191.8093185424805,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"77c14fbf.49c74","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n","comments":"","outputs":1,"x":2509.761558532715,"y":1146.300862312317,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"78ad4b36.5258c4","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":2580.452075958252,"y":1095.2617568969727,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"8f945edb.cca72","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2291.547504425049,"y":1041.6425609588623,"z":"d8d4f820.a9f2c8","wires":[["6869510a.76d46","78ad4b36.5258c4","77c14fbf.49c74","6060b17a.6d498"]]},{"id":"95817df.ca9598","type":"switchNode","name":"switch: vf-module-input-parameters.param_length","xml":"<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n","comments":"","outputs":1,"x":818.5357437133789,"y":871.559494972229,"z":"d8d4f820.a9f2c8","wires":[["9943f7c0.8dd638"]]},{"id":"9943f7c0.8dd638","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1082.107162475586,"y":871.8452348709106,"z":"d8d4f820.a9f2c8","wires":[["94052809.3a5b08"]]},{"id":"94052809.3a5b08","type":"set","name":"set vf-module-input-parameters.param_length = 0","xml":"<set>\n<parameter name='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length' value='0' />\n","comments":"","x":1355.821403503418,"y":871.7023963928223,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"a63dbeeb.4bce7","type":"comment","name":"First, count the subnets for this address family","info":"","comments":"","x":2665.000442504883,"y":3543.333065032959,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"c2f9e6e2.faa158","type":"for","name":"for each subnet-data","xml":"<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n","comments":"","outputs":1,"x":3038.3331298828125,"y":3838.333568572998,"z":"d8d4f820.a9f2c8","wires":[["827ca18b.bd2b"]]},{"id":"827ca18b.bd2b","type":"switchNode","name":"address-families match?","xml":"<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n","comments":"","outputs":1,"x":3264.999755859375,"y":3838.333568572998,"z":"d8d4f820.a9f2c8","wires":[["2e8f7728.5eef98"]]},{"id":"2e8f7728.5eef98","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3444.9997215270996,"y":3838.333974838257,"z":"d8d4f820.a9f2c8","wires":[["cbe63cfa.b3c54"]]},{"id":"9c50301d.6f785","type":"set","name":"set af-count to 0","xml":"<set>\n<parameter name='af-count' value='0' />\n","comments":"","x":2520.000015258789,"y":3584.9998168945312,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"7f2ed8e2.f43358","type":"set","name":"increment af-count","xml":"<set>\n<parameter name='af-count' value='`$af-count + 1`' />\n","comments":"","x":3268.333381652832,"y":3651.666566848755,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"67a74b25.307554","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3084.999755859375,"y":3633.333251953125,"z":"d8d4f820.a9f2c8","wires":[["7f2ed8e2.f43358","359913e8.4a2d5c"]]},{"id":"359913e8.4a2d5c","type":"set","name":"set subnet-id","xml":"<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n","comments":"","x":3249.999801635742,"y":3606.6665649414062,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"b268b257.f4937","type":"switchNode","name":"switch af-count","xml":"<switch test='`$af-count`'>\n","comments":"","outputs":1,"x":2510.0004272460938,"y":3821.6667337417603,"z":"d8d4f820.a9f2c8","wires":[["47f4cc28.12c994","67d8790a.7cb008"]]},{"id":"47f4cc28.12c994","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":2669.9999465942383,"y":3719.9999027252197,"z":"d8d4f820.a9f2c8","wires":[["676a6ca5.90afb4"]]},{"id":"676a6ca5.90afb4","type":"set","name":"set subnet-id in vnfc-ip-assignments (temp variable)","xml":"<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\n value='`$subnet-id`' />\n","comments":"","x":2943.333251953125,"y":3718.333251953125,"z":"d8d4f820.a9f2c8","wires":[]},{"id":"67d8790a.7cb008","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2669.9998626708984,"y":3921.6668224334717,"z":"d8d4f820.a9f2c8","wires":[["b86bec73.946bd"]]},{"id":"b86bec73.946bd","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2826.66650390625,"y":3921.66650390625,"z":"d8d4f820.a9f2c8","wires":[["b6f1045b.d072f8","c2f9e6e2.faa158","ee077a58.fea5e8","4528dd6c.a9d804"]]},{"id":"cbe63cfa.b3c54","type":"switchNode","name":"switch network-start-address","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>\n","comments":"","outputs":1,"x":3639.999900817871,"y":3836.6668186187744,"z":"d8d4f820.a9f2c8","wires":[["590d4d0f.430904","e49b4763.0e6e18"]]},{"id":"590d4d0f.430904","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":3836.666572570801,"y":3819.999988555908,"z":"d8d4f820.a9f2c8","wires":[["e0fe30f.45309d"]]},{"id":"e49b4763.0e6e18","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":3836.4285430908203,"y":3864.2857913970947,"z":"d8d4f820.a9f2c8","wires":[["bc070e16.b6321"]]},{"id":"e0fe30f.45309d","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3964.999828338623,"y":3819.333484649658,"z":"d8d4f820.a9f2c8","wires":[[]]},{"id":"bc070e16.b6321","type":"switchNode","name":"switch cidr-mask","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>\n","comments":"","outputs":1,"x":3991.6663360595703,"y":3863.332998275757,"z":"d8d4f820.a9f2c8","wires":[["e9be8551.036f28","293dac39.a696a4"]]},{"id":"e9be8551.036f28","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":4148.333011627197,"y":3824.999990463257,"z":"d8d4f820.a9f2c8","wires":[["1afe48f0.034447"]]},{"id":"293dac39.a696a4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":4146.428714752197,"y":3900.952304840088,"z":"d8d4f820.a9f2c8","wires":[["9bdb2ded.f7444"]]},{"id":"1afe48f0.034447","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":4276.6662673950195,"y":3824.333486557007,"z":"d8d4f820.a9f2c8","wires":[[]]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.json
index 191d4d65..8e51baef 100755
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.json
@@ -1 +1 @@
-[{"id":"da992f0d.44b67","type":"dgstart","name":"DGSTART","outputs":1,"x":107.14286041259766,"y":82.41365623474121,"z":"2ba0710a.b44d9e","wires":[["29e9e0f0.ab074"]]},{"id":"29e9e0f0.ab074","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":220.4285659790039,"y":122.65176773071289,"z":"2ba0710a.b44d9e","wires":[["dd50fd26.cc415"]]},{"id":"dd50fd26.cc415","type":"method","name":"method vf-module-topology-operation-changeassign","xml":"<method rpc='vf-module-topology-operation-changeassign' mode='sync'>\n","comments":"","outputs":1,"x":238.5714874267578,"y":162.4136562347412,"z":"2ba0710a.b44d9e","wires":[["79c3b148.07a3b"]]},{"id":"84faf9e0.06e608","type":"comment","name":"vf-module-topology-operation-changeassign","info":"","comments":"","x":501.4877166748047,"y":30,"z":"2ba0710a.b44d9e","wires":[]},{"id":"aa720c01.4c6e7","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":510.6666717529297,"y":261.2707939147949,"z":"2ba0710a.b44d9e","wires":[["3b4345f8.88f5da","9b9ac81b.174ef8"]]},{"id":"3b4345f8.88f5da","type":"outcome","name":"CreateVfModuleInstance","xml":"<outcome value='CreateVfModuleInstance'>\n","comments":"","outputs":1,"x":761.7142868041992,"y":238.41368007659912,"z":"2ba0710a.b44d9e","wires":[["ccd84558.5e15b8"]]},{"id":"9b9ac81b.174ef8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":705.380931854248,"y":283.79466915130615,"z":"2ba0710a.b44d9e","wires":[["a167f526.deb558"]]},{"id":"ccd84558.5e15b8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":951.5714511871338,"y":238.41371154785156,"z":"2ba0710a.b44d9e","wires":[[]]},{"id":"a167f526.deb558","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 'changeassign' then request-action must be 'CreateVfModuleInstance'\" />\n","comments":"","x":970.3809394836426,"y":284.12798166275024,"z":"2ba0710a.b44d9e","wires":[]},{"id":"79c3b148.07a3b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":168.80953979492188,"y":567.4135789871216,"z":"2ba0710a.b44d9e","wires":[["aa720c01.4c6e7","90150697.a2a2c8","ddad7416.ec53f8","7481a399.651aec","789b525a.90b4fc","1f5309e4.307236","330bb03c.c4cdb","1c2f9838.87e268","3b1e9078.a68f7","337b1a6d.584e26","314a3525.aeef7a"]]},{"id":"ddad7416.ec53f8","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":555.476188659668,"y":392.4136209487915,"z":"2ba0710a.b44d9e","wires":[["3fc75bd8.6f4574","1f664b90.09cc14"]]},{"id":"3fc75bd8.6f4574","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":796.1904602050781,"y":369.5563611984253,"z":"2ba0710a.b44d9e","wires":[["949ad32b.c8c7f"]]},{"id":"1f664b90.09cc14","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":795.9523010253906,"y":410.50887966156006,"z":"2ba0710a.b44d9e","wires":[["668a21d8.a0d4c"]]},{"id":"949ad32b.c8c7f","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":962.8570747375488,"y":368.842116355896,"z":"2ba0710a.b44d9e","wires":[]},{"id":"668a21d8.a0d4c","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":958.1904449462891,"y":410.175498008728,"z":"2ba0710a.b44d9e","wires":[["14976276.b78b0e"]]},{"id":"14976276.b78b0e","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":1209.5236625671387,"y":409.8421850204468,"z":"2ba0710a.b44d9e","wires":[["523c9343.8fbaac"]]},{"id":"523c9343.8fbaac","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1439.523754119873,"y":409.17553901672363,"z":"2ba0710a.b44d9e","wires":[["f5a35f00.3f44e"]]},{"id":"90150697.a2a2c8","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":499.52378845214844,"y":330.50879287719727,"z":"2ba0710a.b44d9e","wires":[]},{"id":"ac73b0ea.21603","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1761.1903915405273,"y":380.1754970550537,"z":"2ba0710a.b44d9e","wires":[]},{"id":"7481a399.651aec","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":491.1904716491699,"y":457.1754951477051,"z":"2ba0710a.b44d9e","wires":[["a2c7110a.b07f3"]]},{"id":"a2c7110a.b07f3","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":669.5238571166992,"y":456.5088710784912,"z":"2ba0710a.b44d9e","wires":[["14c1d831.ad77d8"]]},{"id":"14c1d831.ad77d8","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":829.5237655639648,"y":455.8421745300293,"z":"2ba0710a.b44d9e","wires":[]},{"id":"f5a35f00.3f44e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1587.8572158813477,"y":408.0952377319336,"z":"2ba0710a.b44d9e","wires":[["ac73b0ea.21603","27cfdd4f.df7ab2"]]},{"id":"27cfdd4f.df7ab2","type":"break","name":"break","xml":"<break>\n","comments":"","x":1722.8571815490723,"y":429.7618236541748,"z":"2ba0710a.b44d9e","wires":[]},{"id":"1f5309e4.307236","type":"switchNode","name":"switch service-data...vf-module_length","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n","comments":"","outputs":1,"x":563.8095016479492,"y":555.746992111206,"z":"2ba0710a.b44d9e","wires":[["80e850ee.91cd9","9214dd99.21076"]]},{"id":"80e850ee.91cd9","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":814.523811340332,"y":534.5563955307007,"z":"2ba0710a.b44d9e","wires":[["eec0405.a5d16c"]]},{"id":"9214dd99.21076","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":814.2856521606445,"y":575.5089139938354,"z":"2ba0710a.b44d9e","wires":[["f33c6312.8a8e1"]]},{"id":"eec0405.a5d16c","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 VF modules defined in MD-SAL for VNF ' + $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n","comments":"","x":981.1904258728027,"y":533.8421506881714,"z":"2ba0710a.b44d9e","wires":[]},{"id":"f33c6312.8a8e1","type":"for","name":"for each 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":976.523796081543,"y":575.1755323410034,"z":"2ba0710a.b44d9e","wires":[["ff8c25ec.120d28"]]},{"id":"ff8c25ec.120d28","type":"switchNode","name":"switch service data vf-module == input vf-module","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`'>\n","comments":"","outputs":1,"x":1282.8569564819336,"y":574.8422679901123,"z":"2ba0710a.b44d9e","wires":[["6d5e6d3d.3851f4"]]},{"id":"6d5e6d3d.3851f4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1552.8570098876953,"y":572.5088729858398,"z":"2ba0710a.b44d9e","wires":[["7503373e.1a2f08"]]},{"id":"789b525a.90b4fc","type":"set","name":"set vf-module-index to -1","xml":"<set>\n<parameter name='vf-module-index' value='-1' />\n","comments":"","x":519.5237731933594,"y":505.5088310241699,"z":"2ba0710a.b44d9e","wires":[]},{"id":"46be91f0.a8549","type":"set","name":"set vf-module-index to idx","xml":"<set>\n<parameter name='vf-module-index' value='`$idx`' />\n","comments":"","x":1882.8571014404297,"y":543.5088520050049,"z":"2ba0710a.b44d9e","wires":[]},{"id":"330bb03c.c4cdb","type":"switchNode","name":"switch vf-module-index","xml":"<switch test='`$vf-module-index`'>\n","comments":"","outputs":1,"x":516.1904754638672,"y":623.8422508239746,"z":"2ba0710a.b44d9e","wires":[["557bb4da.8e9aec"]]},{"id":"557bb4da.8e9aec","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":694.5238609313965,"y":623.1756267547607,"z":"2ba0710a.b44d9e","wires":[["6bf84696.1d93b8"]]},{"id":"6bf84696.1d93b8","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 VF module ID ' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' in MD-SAL'`\" />\n","comments":"","x":854.5237693786621,"y":622.5089302062988,"z":"2ba0710a.b44d9e","wires":[]},{"id":"7503373e.1a2f08","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1686.1905517578125,"y":571.4286127090454,"z":"2ba0710a.b44d9e","wires":[["46be91f0.a8549","b1e36853.28a4e8"]]},{"id":"b1e36853.28a4e8","type":"break","name":"break","xml":"<break>\n","comments":"","x":1821.190517425537,"y":593.0951986312866,"z":"2ba0710a.b44d9e","wires":[]},{"id":"1c2f9838.87e268","type":"set","name":"set order-status to Created","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='Created' />\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":525.4762001037598,"y":909.0803050994873,"z":"2ba0710a.b44d9e","wires":[]},{"id":"6832f202.dc2d6c","type":"switchNode","name":"switch order-status","xml":"<switch test='`$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","comments":"","outputs":1,"x":507.14281463623047,"y":714.7469882965088,"z":"2ba0710a.b44d9e","wires":[["758b5b66.face94","1f6160f.207619f"]]},{"id":"758b5b66.face94","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":679.1429100036621,"y":733.4613170623779,"z":"2ba0710a.b44d9e","wires":[["4fcc550b.db322c"]]},{"id":"4ebc5b7f.a7cbb4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":850.333366394043,"y":685.7470607757568,"z":"2ba0710a.b44d9e","wires":[[]]},{"id":"4fcc550b.db322c","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 is ' + $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 + ' instead of PendingDelete'`\" />\n","comments":"","x":864.8095664978027,"y":733.4613580703735,"z":"2ba0710a.b44d9e","wires":[]},{"id":"3b1e9078.a68f7","type":"set","name":"copy ONAP model information","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-information.onap-model-information.'\n value='$vf-module-topology-operation-input.vf-module-information.onap-model-information.' />\n\n","comments":"","x":537.142822265625,"y":862.4136772155762,"z":"2ba0710a.b44d9e","wires":[]},{"id":"337b1a6d.584e26","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":485.4761085510254,"y":957.4136009216309,"z":"2ba0710a.b44d9e","wires":[]},{"id":"1f6160f.207619f","type":"outcome","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":703.8095397949219,"y":684.9999704360962,"z":"2ba0710a.b44d9e","wires":[["4ebc5b7f.a7cbb4"]]},{"id":"314a3525.aeef7a","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":558.8095092773438,"y":795.7469310760498,"z":"2ba0710a.b44d9e","wires":[["decf8bc6.2dd9f8","aad15991.71cb48"]]},{"id":"ec18997a.e36f68","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":1000.2379302978516,"y":820.1754035949707,"z":"2ba0710a.b44d9e","wires":[]},{"id":"decf8bc6.2dd9f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":824.5951995849609,"y":776.1277618408203,"z":"2ba0710a.b44d9e","wires":[["3537c70d.082bb8"]]},{"id":"aad15991.71cb48","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":833.1666297912598,"y":820.4134750366211,"z":"2ba0710a.b44d9e","wires":[["ec18997a.e36f68"]]},{"id":"3537c70d.082bb8","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":999.5951309204102,"y":775.2706623077393,"z":"2ba0710a.b44d9e","wires":[]},{"id":"f3e2ca2e.68db28","type":"comment","name":"check removed with US622450","info":"","comments":"","x":462.8571472167969,"y":675.7142944335938,"z":"2ba0710a.b44d9e","wires":[]}] \ No newline at end of file
+[{"id":"66490f35.2a2f8","type":"dgstart","name":"DGSTART","outputs":1,"x":142.85714721679688,"y":72.41365623474121,"z":"f7201aa.a856ce8","wires":[["d82e6efe.ed2de"]]},{"id":"d82e6efe.ed2de","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":256.1428527832031,"y":112.65176773071289,"z":"f7201aa.a856ce8","wires":[["94176197.4fbcd"]]},{"id":"94176197.4fbcd","type":"method","name":"method vf-module-topology-operation-changeassign","xml":"<method rpc='vf-module-topology-operation-changeassign' mode='sync'>\n","comments":"","outputs":1,"x":274.28577423095703,"y":152.4136562347412,"z":"f7201aa.a856ce8","wires":[["1a397f44.2d14c1"]]},{"id":"7aaeccf.66ec034","type":"comment","name":"vf-module-topology-operation-changeassign","info":"","comments":"","x":537.2020034790039,"y":20,"z":"f7201aa.a856ce8","wires":[]},{"id":"78588014.928d5","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":546.3809585571289,"y":251.27079391479492,"z":"f7201aa.a856ce8","wires":[["301e7c80.59e4c4","e5b98d6d.e5d96"]]},{"id":"301e7c80.59e4c4","type":"outcome","name":"CreateVfModuleInstance","xml":"<outcome value='CreateVfModuleInstance'>\n","comments":"","outputs":1,"x":797.4285736083984,"y":228.41368007659912,"z":"f7201aa.a856ce8","wires":[["ba023ff0.a43a6"]]},{"id":"e5b98d6d.e5d96","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":741.0952186584473,"y":273.79466915130615,"z":"f7201aa.a856ce8","wires":[["314b1e69.b3c3b2"]]},{"id":"ba023ff0.a43a6","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":987.285737991333,"y":228.41371154785156,"z":"f7201aa.a856ce8","wires":[[]]},{"id":"314b1e69.b3c3b2","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 'changeassign' then request-action must be 'CreateVfModuleInstance'\" />\n","comments":"","x":1006.0952262878418,"y":274.12798166275024,"z":"f7201aa.a856ce8","wires":[]},{"id":"1a397f44.2d14c1","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":211.66669464111328,"y":447.41358184814453,"z":"f7201aa.a856ce8","wires":[["78588014.928d5","31e86525.9f0e8a","aa4e4085.c66c4","c9760f9e.f0078","2f8025f9.5e373a","eb8de969.99d1b8","8209ff3.06fd6","5a1cd88a.ad0f48"]]},{"id":"aa4e4085.c66c4","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":591.1904754638672,"y":382.4136209487915,"z":"f7201aa.a856ce8","wires":[["1d4e4517.5939bb","b21fdd89.9b71d"]]},{"id":"1d4e4517.5939bb","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":831.9047470092773,"y":359.5563611984253,"z":"f7201aa.a856ce8","wires":[["b34fefc7.e8c47"]]},{"id":"b21fdd89.9b71d","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":831.6665878295898,"y":400.50887966156006,"z":"f7201aa.a856ce8","wires":[["903ff10e.15556"]]},{"id":"b34fefc7.e8c47","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":998.571361541748,"y":358.842116355896,"z":"f7201aa.a856ce8","wires":[]},{"id":"903ff10e.15556","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":993.9047317504883,"y":400.175498008728,"z":"f7201aa.a856ce8","wires":[["6a7ebc9a.d78d54"]]},{"id":"6a7ebc9a.d78d54","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":1245.237949371338,"y":399.8421850204468,"z":"f7201aa.a856ce8","wires":[["31259bac.59db94"]]},{"id":"31259bac.59db94","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1475.2380409240723,"y":399.17553901672363,"z":"f7201aa.a856ce8","wires":[["2019d570.deed7a"]]},{"id":"31e86525.9f0e8a","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":535.2380752563477,"y":320.50879287719727,"z":"f7201aa.a856ce8","wires":[]},{"id":"a442b5af.5d4898","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1796.9046783447266,"y":370.1754970550537,"z":"f7201aa.a856ce8","wires":[]},{"id":"c9760f9e.f0078","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":526.9047584533691,"y":447.1754951477051,"z":"f7201aa.a856ce8","wires":[["3158e21.801721e"]]},{"id":"3158e21.801721e","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":705.2381439208984,"y":446.5088710784912,"z":"f7201aa.a856ce8","wires":[["ea5cc8a1.db2ab8"]]},{"id":"ea5cc8a1.db2ab8","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":865.2380523681641,"y":445.8421745300293,"z":"f7201aa.a856ce8","wires":[]},{"id":"2019d570.deed7a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1623.5715026855469,"y":398.0952377319336,"z":"f7201aa.a856ce8","wires":[["a442b5af.5d4898","b7e91f03.a2b6a"]]},{"id":"b7e91f03.a2b6a","type":"break","name":"break","xml":"<break>\n","comments":"","x":1758.5714683532715,"y":419.7618236541748,"z":"f7201aa.a856ce8","wires":[]},{"id":"eb8de969.99d1b8","type":"switchNode","name":"switch service-data...vf-module_length","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n","comments":"","outputs":1,"x":599.5237884521484,"y":545.746992111206,"z":"f7201aa.a856ce8","wires":[["b5da5af5.664808","57896c99.a5bc74"]]},{"id":"b5da5af5.664808","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":850.2380981445312,"y":524.5563955307007,"z":"f7201aa.a856ce8","wires":[["2bad7927.863b76"]]},{"id":"57896c99.a5bc74","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":849.9999389648438,"y":565.5089139938354,"z":"f7201aa.a856ce8","wires":[["3c8d9a3b.822fc6"]]},{"id":"2bad7927.863b76","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 VF modules defined in MD-SAL for VNF ' + $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n","comments":"","x":1016.904712677002,"y":523.8421506881714,"z":"f7201aa.a856ce8","wires":[]},{"id":"3c8d9a3b.822fc6","type":"for","name":"for each 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":1012.2380828857422,"y":565.1755323410034,"z":"f7201aa.a856ce8","wires":[["62d4266a.17a1f8"]]},{"id":"62d4266a.17a1f8","type":"switchNode","name":"switch service data vf-module == input vf-module","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`'>\n","comments":"","outputs":1,"x":1318.5712432861328,"y":564.8422679901123,"z":"f7201aa.a856ce8","wires":[["7c70c0da.5034e"]]},{"id":"7c70c0da.5034e","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1588.5712966918945,"y":562.5088729858398,"z":"f7201aa.a856ce8","wires":[["684d4cda.2dbd94"]]},{"id":"2f8025f9.5e373a","type":"set","name":"set vf-module-index to -1","xml":"<set>\n<parameter name='vf-module-index' value='-1' />\n","comments":"","x":555.2380599975586,"y":495.5088310241699,"z":"f7201aa.a856ce8","wires":[]},{"id":"d0d88d4.674af7","type":"set","name":"set vf-module-index to idx","xml":"<set>\n<parameter name='vf-module-index' value='`$idx`' />\n","comments":"","x":1918.571388244629,"y":533.5088520050049,"z":"f7201aa.a856ce8","wires":[]},{"id":"8209ff3.06fd6","type":"switchNode","name":"switch vf-module-index","xml":"<switch test='`$vf-module-index`'>\n","comments":"","outputs":1,"x":551.9047622680664,"y":613.8422508239746,"z":"f7201aa.a856ce8","wires":[["775a1509.e7ed2c"]]},{"id":"775a1509.e7ed2c","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":730.2381477355957,"y":613.1756267547607,"z":"f7201aa.a856ce8","wires":[["57b9ac1c.784bf4"]]},{"id":"57b9ac1c.784bf4","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 VF module ID ' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' in MD-SAL'`\" />\n","comments":"","x":890.2380561828613,"y":612.5089302062988,"z":"f7201aa.a856ce8","wires":[]},{"id":"684d4cda.2dbd94","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1721.9048385620117,"y":561.4286127090454,"z":"f7201aa.a856ce8","wires":[["d0d88d4.674af7","32ee2e53.ad6862"]]},{"id":"32ee2e53.ad6862","type":"break","name":"break","xml":"<break>\n","comments":"","x":1856.9048042297363,"y":583.0951986312866,"z":"f7201aa.a856ce8","wires":[]},{"id":"389e7e21.b1d722","type":"set","name":"set order-status to Created","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='Created' />\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":1068.3333930969238,"y":1186.2231769561768,"z":"f7201aa.a856ce8","wires":[]},{"id":"306ed3a5.3a0adc","type":"switchNode","name":"switch order-status","xml":"<switch test='`$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","comments":"","outputs":1,"x":1044.0000076293945,"y":991.8898601531982,"z":"f7201aa.a856ce8","wires":[["fe4acf16.276a","4e1dea6f.addda4"]]},{"id":"fe4acf16.276a","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1222.0001029968262,"y":1010.6041889190674,"z":"f7201aa.a856ce8","wires":[["f7740c28.2b78f"]]},{"id":"5f2099b.eb89868","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1393.190559387207,"y":962.8899326324463,"z":"f7201aa.a856ce8","wires":[[]]},{"id":"f7740c28.2b78f","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 is ' + $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 + ' instead of PendingDelete'`\" />\n","comments":"","x":1407.6667594909668,"y":1010.604229927063,"z":"f7201aa.a856ce8","wires":[]},{"id":"b5df0f86.cd001","type":"set","name":"copy ONAP model information","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-information.onap-model-information.'\n value='$vf-module-topology-operation-input.vf-module-information.onap-model-information.' />\n\n","comments":"","x":1079.000015258789,"y":1139.5565490722656,"z":"f7201aa.a856ce8","wires":[]},{"id":"cc17efed.d93b8","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":1028.3333015441895,"y":1234.5564727783203,"z":"f7201aa.a856ce8","wires":[]},{"id":"4e1dea6f.addda4","type":"outcome","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":1246.666732788086,"y":962.1428422927856,"z":"f7201aa.a856ce8","wires":[["5f2099b.eb89868"]]},{"id":"fc5ca1dd.b90e4","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":1097.6667022705078,"y":1072.8898029327393,"z":"f7201aa.a856ce8","wires":[["a3e60242.e470d","baeb8d49.57db7"]]},{"id":"c24261ec.55df9","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":1543.0951232910156,"y":1097.3182754516602,"z":"f7201aa.a856ce8","wires":[]},{"id":"a3e60242.e470d","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1367.452392578125,"y":1053.2706336975098,"z":"f7201aa.a856ce8","wires":[["d5b72b80.003a38"]]},{"id":"baeb8d49.57db7","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1376.0238227844238,"y":1097.5563468933105,"z":"f7201aa.a856ce8","wires":[["c24261ec.55df9"]]},{"id":"d5b72b80.003a38","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":1542.4523239135742,"y":1052.4135341644287,"z":"f7201aa.a856ce8","wires":[]},{"id":"8362775b.738408","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1005.7143402099609,"y":952.8571662902832,"z":"f7201aa.a856ce8","wires":[]},{"id":"4aacc14d.e97f1","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":855.035774230957,"y":735.7143287658691,"z":"f7201aa.a856ce8","wires":[["810c4738.433dc8"]]},{"id":"810c4738.433dc8","type":"call","name":"call self-serve-vfmodule-changeassign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vfmodule-changeassign' mode='sync' >\n","comments":"","outputs":1,"x":1102.4999313354492,"y":735.8929252624512,"z":"f7201aa.a856ce8","wires":[["9e368f22.93e6e","bdc15fb7.126b2"]]},{"id":"9e368f22.93e6e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1352.2499160766602,"y":736.1429138183594,"z":"f7201aa.a856ce8","wires":[["7c7410c4.5f2cd"]]},{"id":"7c7410c4.5f2cd","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error while updating self-serve vf-module resources with error: '+ $error-message`\" />\n","comments":"","x":1511.8213424682617,"y":735.7858085632324,"z":"f7201aa.a856ce8","wires":[]},{"id":"d24e3df.ed663c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":857.1428756713867,"y":779.9999694824219,"z":"f7201aa.a856ce8","wires":[["90e8814a.c278f"]]},{"id":"f86e0f5b.20fd9","type":"comment","name":"self-serve FORKING LOGIC","info":"","comments":"","x":337.14293670654297,"y":691.4285774230957,"z":"f7201aa.a856ce8","wires":[]},{"id":"90e8814a.c278f","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":794.285774230957,"y":1072.8571395874023,"z":"f7201aa.a856ce8","wires":[["fc5ca1dd.b90e4","b5df0f86.cd001","389e7e21.b1d722","cc17efed.d93b8"]]},{"id":"5a1cd88a.ad0f48","type":"switchNode","name":"switch: sdnc-generated-cloud-resources","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.sdnc-generated-cloud-resources`'>\n","comments":"","outputs":1,"x":600.0000305175781,"y":735.7143325805664,"z":"f7201aa.a856ce8","wires":[["4aacc14d.e97f1","d24e3df.ed663c"]]},{"id":"bdc15fb7.126b2","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1358.5713691711426,"y":779.9999866485596,"z":"f7201aa.a856ce8","wires":[["2fd0a76d.ce94c8"]]},{"id":"2fd0a76d.ce94c8","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":1515.71435546875,"y":780,"z":"f7201aa.a856ce8","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.json
index f22c022d..7732bac9 100755
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.json
@@ -1 +1 @@
-[{"id":"ef42c66b.3dfe28","type":"dgstart","name":"DGSTART","outputs":1,"x":102.85714721679688,"y":80.98508262634277,"z":"5b67a0de.c1191","wires":[["d058f552.773d88"]]},{"id":"d058f552.773d88","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":218.14285278320312,"y":120.5565299987793,"z":"5b67a0de.c1191","wires":[["f16f3e1d.c41f4"]]},{"id":"f16f3e1d.c41f4","type":"method","name":"method vf-module-topology-operation-unassign","xml":"<method rpc='vf-module-topology-operation-unassign' mode='sync'>\n","comments":"","outputs":1,"x":224.95244598388672,"y":160.9850788116455,"z":"5b67a0de.c1191","wires":[["a61f59cb.b2a0f8"]]},{"id":"63457f36.a0099","type":"comment","name":"vf-module-topology-operation-unassign","info":"","comments":"","x":497.2020034790039,"y":28.571426391601562,"z":"5b67a0de.c1191","wires":[]},{"id":"d0a30d4d.0df84","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":506.3809585571289,"y":259.8422203063965,"z":"5b67a0de.c1191","wires":[["286c8282.164dee","46a465e0.79a2dc"]]},{"id":"286c8282.164dee","type":"outcome","name":"DeleteVfModuleInstance","xml":"<outcome value='DeleteVfModuleInstance'>\n","comments":"","outputs":1,"x":768.4285736083984,"y":236.98510646820068,"z":"5b67a0de.c1191","wires":[["e6a80960.aadf88"]]},{"id":"46a465e0.79a2dc","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":712.0952186584473,"y":282.3660955429077,"z":"5b67a0de.c1191","wires":[["201f9acb.f9a0c6"]]},{"id":"e6a80960.aadf88","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":958.285737991333,"y":236.98513793945312,"z":"5b67a0de.c1191","wires":[[]]},{"id":"201f9acb.f9a0c6","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 'deactivate' then request-action must be 'DeleteVfModuleInstance'\" />\n","comments":"","x":977.0952262878418,"y":282.6994080543518,"z":"5b67a0de.c1191","wires":[]},{"id":"a61f59cb.b2a0f8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":126.19048309326172,"y":544.3183727264404,"z":"5b67a0de.c1191","wires":[["d0a30d4d.0df84","783364b6.6904cc","e6cab1bb.99be3","61397b35.1bab24","1add5b5f.d4eb55","6de9253c.11193c","48995b46.021df4","e2eff761.4bbdf8","bd0ec889.7e7588","8cb124a1.258a58","c72a7ac6.668cf8","c2fdd3aa.623e","86f3563e.50aea8","29e2cbda.b6f204","6ad45119.09e6e","f8285267.508dc"]]},{"id":"e6cab1bb.99be3","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":552.8571319580078,"y":404.318395614624,"z":"5b67a0de.c1191","wires":[["e850c155.14d9","94b90f2e.f54da"]]},{"id":"e850c155.14d9","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":793.571403503418,"y":381.4611358642578,"z":"5b67a0de.c1191","wires":[["c95d8e3c.02d6d"]]},{"id":"94b90f2e.f54da","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":793.3332443237305,"y":422.4136543273926,"z":"5b67a0de.c1191","wires":[["fbba99b5.d636c8"]]},{"id":"c95d8e3c.02d6d","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":960.2380180358887,"y":380.7468910217285,"z":"5b67a0de.c1191","wires":[]},{"id":"fbba99b5.d636c8","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":955.5713882446289,"y":422.08027267456055,"z":"5b67a0de.c1191","wires":[["1d38ac25.ac4374"]]},{"id":"1d38ac25.ac4374","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":1206.9046058654785,"y":421.7469596862793,"z":"5b67a0de.c1191","wires":[["d0831ba0.3cd008"]]},{"id":"d0831ba0.3cd008","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1436.904697418213,"y":421.08031368255615,"z":"5b67a0de.c1191","wires":[["5f48041a.63d50c"]]},{"id":"783364b6.6904cc","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":501.9047546386719,"y":335.7468948364258,"z":"5b67a0de.c1191","wires":[]},{"id":"91307255.722ca","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1758.5713348388672,"y":392.08027172088623,"z":"5b67a0de.c1191","wires":[]},{"id":"61397b35.1bab24","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":491.9047622680664,"y":472.4135913848877,"z":"5b67a0de.c1191","wires":[["9df4c462.b59e38"]]},{"id":"9df4c462.b59e38","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":670.2381477355957,"y":471.7469673156738,"z":"5b67a0de.c1191","wires":[["c5f1b68.18c2948"]]},{"id":"c5f1b68.18c2948","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":830.2380561828613,"y":471.0802707672119,"z":"5b67a0de.c1191","wires":[]},{"id":"5f48041a.63d50c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1585.2381591796875,"y":420.0000123977661,"z":"5b67a0de.c1191","wires":[["91307255.722ca","2cb9f7a8.b8ebd8"]]},{"id":"2cb9f7a8.b8ebd8","type":"break","name":"break","xml":"<break>\n","comments":"","x":1720.238124847412,"y":441.6665983200073,"z":"5b67a0de.c1191","wires":[]},{"id":"6de9253c.11193c","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":516.1904449462891,"y":594.3183994293213,"z":"5b67a0de.c1191","wires":[["69656837.f07e48","eff3e23.a78002"]]},{"id":"69656837.f07e48","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":700.2380828857422,"y":573.1278038024902,"z":"5b67a0de.c1191","wires":[["f062a39d.b6fa"]]},{"id":"eff3e23.a78002","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":699.9999237060547,"y":614.080322265625,"z":"5b67a0de.c1191","wires":[["59a3035.20c9dfc"]]},{"id":"f062a39d.b6fa","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 VF modules defined in MD-SAL for VNF ' + $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n","comments":"","x":866.9046974182129,"y":572.4135589599609,"z":"5b67a0de.c1191","wires":[]},{"id":"59a3035.20c9dfc","type":"for","name":"for each 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":862.2380676269531,"y":613.746940612793,"z":"5b67a0de.c1191","wires":[["b620cec7.82ead"]]},{"id":"b620cec7.82ead","type":"switchNode","name":"switch service data vf-module == input vf-module","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`'>\n","comments":"","outputs":1,"x":1168.5712280273438,"y":613.4136762619019,"z":"5b67a0de.c1191","wires":[["7e8af19c.886a5"]]},{"id":"7e8af19c.886a5","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1438.5712814331055,"y":611.0802812576294,"z":"5b67a0de.c1191","wires":[["b7f034b3.b621e8"]]},{"id":"1add5b5f.d4eb55","type":"set","name":"set vf-module-index to -1","xml":"<set>\n<parameter name='vf-module-index' value='-1' />\n","comments":"","x":521.9047393798828,"y":529.0802574157715,"z":"5b67a0de.c1191","wires":[]},{"id":"167f6da.3ade892","type":"set","name":"set vf-module-index to idx","xml":"<set>\n<parameter name='vf-module-index' value='`$idx`' />\n","comments":"","x":1768.5713729858398,"y":582.0802602767944,"z":"5b67a0de.c1191","wires":[]},{"id":"48995b46.021df4","type":"switchNode","name":"switch vf-module-index","xml":"<switch test='`$vf-module-index`'>\n","comments":"","outputs":1,"x":513.5714225769043,"y":665.7469701766968,"z":"5b67a0de.c1191","wires":[["5c3ff9de.44bb78"]]},{"id":"5c3ff9de.44bb78","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":691.9048080444336,"y":665.0803461074829,"z":"5b67a0de.c1191","wires":[["7bd45ad0.114894"]]},{"id":"7bd45ad0.114894","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 VF module ID ' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' in MD-SAL'`\" />\n","comments":"","x":851.9047164916992,"y":664.413649559021,"z":"5b67a0de.c1191","wires":[]},{"id":"b7f034b3.b621e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1571.9048233032227,"y":610.000020980835,"z":"5b67a0de.c1191","wires":[["167f6da.3ade892","8443b090.2daf6"]]},{"id":"8443b090.2daf6","type":"break","name":"break","xml":"<break>\n","comments":"","x":1706.9047889709473,"y":631.6666069030762,"z":"5b67a0de.c1191","wires":[]},{"id":"892a56a9.303a58","type":"switchNode","name":"switch order-status","xml":"<switch test='`$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","comments":"","outputs":1,"x":502.8571243286133,"y":734.3184070587158,"z":"5b67a0de.c1191","wires":[["9285d8d3.d319a8","95b7cb21.1f05f8"]]},{"id":"9285d8d3.d319a8","type":"outcome","name":"Created","xml":"<outcome value='Created'>\n","comments":"","outputs":1,"x":681.1905097961426,"y":709.3184490203857,"z":"5b67a0de.c1191","wires":[["a5b8b544.86dbb8"]]},{"id":"95b7cb21.1f05f8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":677.8571128845215,"y":754.3183898925781,"z":"5b67a0de.c1191","wires":[["a74c3534.fd0f58"]]},{"id":"a5b8b544.86dbb8","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 not be Created\" />\n","comments":"","x":849.5237503051758,"y":709.3183784484863,"z":"5b67a0de.c1191","wires":[]},{"id":"a74c3534.fd0f58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":852.8571243286133,"y":753.9850654602051,"z":"5b67a0de.c1191","wires":[[]]},{"id":"bd0ec889.7e7588","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":629.5238494873047,"y":850.9850578308105,"z":"5b67a0de.c1191","wires":[["beb8bd2a.4a234"]]},{"id":"e2eff761.4bbdf8","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":499.52381896972656,"y":804.3183898925781,"z":"5b67a0de.c1191","wires":[]},{"id":"beb8bd2a.4a234","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":934.5237579345703,"y":849.3183574676514,"z":"5b67a0de.c1191","wires":[["662d57d9.522928"]]},{"id":"662d57d9.522928","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\" />\n","comments":"","x":1124.5237846374512,"y":849.1280927658081,"z":"5b67a0de.c1191","wires":[]},{"id":"86f3563e.50aea8","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":562.8571472167969,"y":945.9850788116455,"z":"5b67a0de.c1191","wires":[["a2d0cafc.365ad8"]]},{"id":"a2d0cafc.365ad8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":799.5237731933594,"y":945.9850215911865,"z":"5b67a0de.c1191","wires":[["7f146f30.6259a"]]},{"id":"7f146f30.6259a","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\" />\n","comments":"","x":989.5237998962402,"y":945.7947568893433,"z":"5b67a0de.c1191","wires":[]},{"id":"8cb124a1.258a58","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":494.5238037109375,"y":990.9850397109985,"z":"5b67a0de.c1191","wires":[["e87db48e.4a5268"]]},{"id":"e87db48e.4a5268","type":"for","name":"for each vm","xml":"<for silentFailure='true' index='vm-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\n","comments":"","outputs":1,"x":689.5238342285156,"y":990.3180475234985,"z":"5b67a0de.c1191","wires":[["af538482.333f58"]]},{"id":"be98fd19.fa07","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1396.190902709961,"y":988.6506500244141,"z":"5b67a0de.c1191","wires":[["1a47c8d9.c80497"]]},{"id":"24a33e60.d3d282","type":"comment","name":"Not a failure","info":"","comments":"","x":1674.5238990783691,"y":986.9844522476196,"z":"5b67a0de.c1191","wires":[]},{"id":"1a47c8d9.c80497","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":1542.1908378601074,"y":988.6512832641602,"z":"5b67a0de.c1191","wires":[[]]},{"id":"af538482.333f58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":857.8572273254395,"y":989.317892074585,"z":"5b67a0de.c1191","wires":[["12e7b0fe.3d6a6f"]]},{"id":"12e7b0fe.3d6a6f","type":"delete","name":"delete any 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 = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >","comments":"","outputs":1,"x":1144.523941040039,"y":988.9853219985962,"z":"5b67a0de.c1191","wires":[["be98fd19.fa07"]]},{"id":"838f69b9.58a6a8","type":"for","name":"for each vf module","xml":"<for index='idx' start='`$vf-module-index + 1`' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n","comments":"","outputs":1,"x":1068.3649291992188,"y":1619.651578426361,"z":"5b67a0de.c1191","wires":[["60fee760.6f5948"]]},{"id":"7761a206.13b90c","type":"comment","name":"Remove VF Module from service data","info":"","comments":"","x":447.1904296875,"y":1574.890018939972,"z":"5b67a0de.c1191","wires":[]},{"id":"60fee760.6f5948","type":"set","name":"move vf module to remove one","xml":"<set>\n\t<parameter name=\"tmpidx\" value=\"`$idx - 1`\"/>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmpidx].\" value=\"$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].\" />\n\t\n","comments":"","x":1311.9560623168945,"y":1618.6755442619324,"z":"5b67a0de.c1191","wires":[]},{"id":"c72a7ac6.668cf8","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":514.6228485107422,"y":1630.9932494163513,"z":"5b67a0de.c1191","wires":[["b9bfc718.c37be8","cd1dd4e9.b606c8"]]},{"id":"b9bfc718.c37be8","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":709.9562149047852,"y":1581.8978562355042,"z":"5b67a0de.c1191","wires":[["f977d1d1.c527e"]]},{"id":"f977d1d1.c527e","type":"set","name":"Remove vf modules","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.\" value=\"\"/>\n\n","comments":"","x":881.9559860229492,"y":1581.8979754447937,"z":"5b67a0de.c1191","wires":[]},{"id":"cd1dd4e9.b606c8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":708.6229705810547,"y":1676.6596655845642,"z":"5b67a0de.c1191","wires":[["a88e0432.333698"]]},{"id":"fa887e6e.ecc74","type":"set","name":"set new vf module length","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length\" value=\"`$lastidx`\"/>\n\n\t\n","comments":"","x":1087.2524642944336,"y":1747.3740553855896,"z":"5b67a0de.c1191","wires":[]},{"id":"bcf186df.a18ec8","type":"set","name":"Remove the last vf module in the list","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lastidx].\" value=\"\"/>\n","comments":"","x":1122.9560775756836,"y":1703.4851927757263,"z":"5b67a0de.c1191","wires":[]},{"id":"a88e0432.333698","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":865.8609008789062,"y":1675.8976674079895,"z":"5b67a0de.c1191","wires":[["838f69b9.58a6a8","bcf186df.a18ec8","fa887e6e.ecc74","15a93259.6757ce"]]},{"id":"c2fdd3aa.623e","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":487.1904602050781,"y":1807.5088725090027,"z":"5b67a0de.c1191","wires":[]},{"id":"29e2cbda.b6f204","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":491.1904602050781,"y":896.9047203063965,"z":"5b67a0de.c1191","wires":[]},{"id":"15a93259.6757ce","type":"set","name":"set lastidx","xml":"<set>\n<parameter name='lastidx' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`' />\n","comments":"EIPAM plug-in needs this attribute set with this name","x":1041.0952453613281,"y":1659.8898921012878,"z":"5b67a0de.c1191","wires":[]},{"id":"e824533b.f1a97","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":1513.3570709228516,"y":1308.0714979171753,"z":"5b67a0de.c1191","wires":[["c4b2eea1.4d80f"]]},{"id":"c4b2eea1.4d80f","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":1697.6427764892578,"y":1308.0714845657349,"z":"5b67a0de.c1191","wires":[["3da2c63e.60caaa"]]},{"id":"27e1e4c.0d3421c","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 = $aai.instance-group.instance-group[$ig-index].id\" >","comments":"","outputs":1,"x":2127.6427307128906,"y":1307.881142616272,"z":"5b67a0de.c1191","wires":[[]]},{"id":"262889ce.11f6b6","type":"set","name":"set status variable","xml":"<set>\n<parameter name='tmp.status' value=\"`'PENDING_DELETE_' + $aai.instance-group.instance-group[$ig-index].id`\" />\n","comments":"","x":1997.642692565918,"y":1261.2145147323608,"z":"5b67a0de.c1191","wires":[]},{"id":"70154422.eceb0c","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":2062.6427001953125,"y":1352.8811864852905,"z":"5b67a0de.c1191","wires":[[]]},{"id":"68a97dc0.9e79b4","type":"comment","name":"roll back EIPAM floating addresses","info":"","comments":"","x":2106.928421020508,"y":1215.0243409474688,"z":"5b67a0de.c1191","wires":[]},{"id":"6ad45119.09e6e","type":"switchNode","name":"switch network-instance-group-function","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[0].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function`'>\n","comments":"","outputs":1,"x":561.1904830932617,"y":1123.5714311599731,"z":"5b67a0de.c1191","wires":[["78d3972b.dcca58","e57c9eb6.ec585"]]},{"id":"78d3972b.dcca58","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":786.1904525756836,"y":1091.904764175415,"z":"5b67a0de.c1191","wires":[["87fca876.3556d8"]]},{"id":"e57c9eb6.ec585","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":785.9523162841797,"y":1162.857159614563,"z":"5b67a0de.c1191","wires":[["13ee6f1d.03ba61"]]},{"id":"87fca876.3556d8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":912.8571891784668,"y":1090.2380962371826,"z":"5b67a0de.c1191","wires":[[]]},{"id":"13ee6f1d.03ba61","type":"get-resource","name":"get-resource instance group","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n resource=\"instance-groups\" \n key=\"instance-group.instance-group-function = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[0].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function\n AND instance-group.instance-group-type = 'L3-NETWORK'\"\n pfx='aai.instance-group' local-only='false' >\n\n","comments":"","outputs":1,"x":982.0238723754883,"y":1161.9047365188599,"z":"5b67a0de.c1191","wires":[["718f3db5.71b6e4"]]},{"id":"718f3db5.71b6e4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1183.690502166748,"y":1162.7381105422974,"z":"5b67a0de.c1191","wires":[["71308ae6.49d8c4"]]},{"id":"8ee09b6d.6b7648","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1333.6904907226562,"y":1361.0716438293457,"z":"5b67a0de.c1191","wires":[["e824533b.f1a97","33645ae3.fb2c56"]]},{"id":"3da2c63e.60caaa","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1823.6904106140137,"y":1307.7381982803345,"z":"5b67a0de.c1191","wires":[["262889ce.11f6b6","27e1e4c.0d3421c","70154422.eceb0c"]]},{"id":"33645ae3.fb2c56","type":"for","name":"for each network-instance-group","xml":"<for index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n","comments":"","outputs":1,"x":1533.6904220581055,"y":1416.071533203125,"z":"5b67a0de.c1191","wires":[["2d035f6f.76a97"]]},{"id":"2d035f6f.76a97","type":"switchNode","name":"network-instance-group-ids match?","xml":"<switch test='`$aai.instance-group.instance-group[$ig-index].id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n","comments":"","outputs":1,"x":1838.6902618408203,"y":1416.0715789794922,"z":"5b67a0de.c1191","wires":[["3d2e877b.9d4ba8"]]},{"id":"3d2e877b.9d4ba8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2060.357032775879,"y":1414.7383575439453,"z":"5b67a0de.c1191","wires":[["9348b4f3.6b18a8"]]},{"id":"9348b4f3.6b18a8","type":"for","name":"for each network","xml":"<for index='network-index' start='0' end='`$service-data.network-instance-groups.network-instance-group[$nig-index].networks.network_length`' >\n","comments":"","outputs":1,"x":2216.0713691711426,"y":1413.452483177185,"z":"5b67a0de.c1191","wires":[["7e561649.5ff568"]]},{"id":"7e561649.5ff568","type":"set","name":"clear vlan-tag-id and set network-status to unassigned","xml":"<set>\n<parameter name='service-data.network-instance-groups.network-instance-group[$nig-index].networks.network[$network-index].vlan-tag-id'\n value='' />\n<parameter name='service-data.network-instance-groups.network-instance-group[$nig-index].networks.network[$network-index].network-status'\n value='unassigned' />\n","comments":"","x":2527.499801635742,"y":1412.0239458084106,"z":"5b67a0de.c1191","wires":[]},{"id":"71308ae6.49d8c4","type":"for","name":"for each returned instance-group","xml":"<for index='ig-index' start='0' end='`$aai.instance-group.instance-group_length`' >\n","comments":"","outputs":1,"x":1407.1905059814453,"y":1159.7381143569946,"z":"5b67a0de.c1191","wires":[["e8cd59c1.f78268"]]},{"id":"e8cd59c1.f78268","type":"for","name":"for each relationship","xml":"<for index='rel-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship_length`' >\n","comments":"","outputs":1,"x":1658.8571472167969,"y":1158.7381134033203,"z":"5b67a0de.c1191","wires":[["4421cf44.a8694"]]},{"id":"4421cf44.a8694","type":"for","name":"for each relationship-data","xml":"<for index='reldata-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data_length`' >\n","comments":"","outputs":1,"x":1885.5238189697266,"y":1158.0714874267578,"z":"5b67a0de.c1191","wires":[["b68ab651.5c5668"]]},{"id":"b68ab651.5c5668","type":"switchNode","name":"switch relationship-key == service-instance.service-instance-id","xml":"<switch test=\"`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-key\n == 'service-instance.service-instance-id'`\">\n","comments":"","outputs":1,"x":2243.857406616211,"y":1158.071406364441,"z":"5b67a0de.c1191","wires":[["c36caaa6.259718"]]},{"id":"c36caaa6.259718","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2540.5238647460938,"y":1158.0714387893677,"z":"5b67a0de.c1191","wires":[["143545fd.16713a"]]},{"id":"143545fd.16713a","type":"switchNode","name":"switch relationship-value == this service-instance-id","xml":"<switch test='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-value\n == $service-data.service-information.service-instance-id`'>\n","comments":"","outputs":1,"x":2805.5236892700195,"y":1158.0714082717896,"z":"5b67a0de.c1191","wires":[["d8dc66f3.86a4a8"]]},{"id":"d8dc66f3.86a4a8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3065.5236587524414,"y":1158.0713987350464,"z":"5b67a0de.c1191","wires":[["8ee09b6d.6b7648"]]},{"id":"f8285267.508dc","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0'\n end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":493.6904602050781,"y":1508.4850826263428,"z":"5b67a0de.c1191","wires":[["aaba4d09.53267"]]},{"id":"aaba4d09.53267","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":670.3572006225586,"y":1507.8662776947021,"z":"5b67a0de.c1191","wires":[["bbf5185b.cb6e88"]]},{"id":"bbf5185b.cb6e88","type":"save","name":"delete vnfc in A&AI","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc\"\n key=\"vnfc.vnfc-name = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\">\n","comments":"","outputs":1,"x":855.119026184082,"y":1507.0566759109497,"z":"5b67a0de.c1191","wires":[[]]},{"id":"7835733b.e5fecc","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1057.142837524414,"y":724.2857279777527,"z":"5b67a0de.c1191","wires":[]}] \ No newline at end of file
+[{"id":"c5287c43.5f3f1","type":"dgstart","name":"DGSTART","outputs":1,"x":122.85714721679688,"y":88.12794303894043,"z":"edca08.43dcd5f8","wires":[["76ae7991.2e2dd8"]]},{"id":"76ae7991.2e2dd8","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":238.14285278320312,"y":127.69939041137695,"z":"edca08.43dcd5f8","wires":[["1e8b6d56.4e5da3"]]},{"id":"1e8b6d56.4e5da3","type":"method","name":"method vf-module-topology-operation-unassign","xml":"<method rpc='vf-module-topology-operation-unassign' mode='sync'>\n","comments":"","outputs":1,"x":244.95244598388672,"y":168.12793922424316,"z":"edca08.43dcd5f8","wires":[["46c1a821.48d258"]]},{"id":"603dc095.e3be5","type":"comment","name":"vf-module-topology-operation-unassign","info":"","comments":"","x":517.2020034790039,"y":35.71428680419922,"z":"edca08.43dcd5f8","wires":[]},{"id":"877764f1.c72548","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":526.3809585571289,"y":266.98508071899414,"z":"edca08.43dcd5f8","wires":[["f225ee87.6fc45","ef1800ab.a957d"]]},{"id":"f225ee87.6fc45","type":"outcome","name":"DeleteVfModuleInstance","xml":"<outcome value='DeleteVfModuleInstance'>\n","comments":"","outputs":1,"x":788.4285736083984,"y":244.12796688079834,"z":"edca08.43dcd5f8","wires":[["a08696bd.a802e8"]]},{"id":"ef1800ab.a957d","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":732.0952186584473,"y":289.50895595550537,"z":"edca08.43dcd5f8","wires":[["3cfd6dc.f729e92"]]},{"id":"a08696bd.a802e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":978.285737991333,"y":244.12799835205078,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"3cfd6dc.f729e92","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 'deactivate' then request-action must be 'DeleteVfModuleInstance'\" />\n","comments":"","x":997.0952262878418,"y":289.84226846694946,"z":"edca08.43dcd5f8","wires":[]},{"id":"18261499.1e3fdb","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":145.47624969482422,"y":1185.0326652526855,"z":"edca08.43dcd5f8","wires":[["1e283363.50d6bd","213ab44b.d5f03c","ebb914a6.6be4e8","25e098c.2ec0168","f494cdbd.9a967","212261c0.2d1dee","45c51d4.c2a85e4","dde9da09.b2a228","73a90d31.ecce84","edfc93db.b0f24"]]},{"id":"265413e1.39158c","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":572.8571319580078,"y":411.4612560272217,"z":"edca08.43dcd5f8","wires":[["f74b05d0.b35e18","aedec041.8c0be"]]},{"id":"f74b05d0.b35e18","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":813.571403503418,"y":388.60399627685547,"z":"edca08.43dcd5f8","wires":[["39fc82f5.e1dcbe"]]},{"id":"aedec041.8c0be","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":813.3332443237305,"y":429.55651473999023,"z":"edca08.43dcd5f8","wires":[["2eb38eb5.7124a2"]]},{"id":"39fc82f5.e1dcbe","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":980.2380180358887,"y":387.8897514343262,"z":"edca08.43dcd5f8","wires":[]},{"id":"2eb38eb5.7124a2","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":975.5713882446289,"y":429.2231330871582,"z":"edca08.43dcd5f8","wires":[["9f5d1912.359358"]]},{"id":"9f5d1912.359358","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":1226.9046058654785,"y":428.88982009887695,"z":"edca08.43dcd5f8","wires":[["c1d5555a.ade058"]]},{"id":"c1d5555a.ade058","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1456.904697418213,"y":428.2231740951538,"z":"edca08.43dcd5f8","wires":[["aa0b499c.760688"]]},{"id":"1f8899f9.b231e6","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":521.9047546386719,"y":342.88975524902344,"z":"edca08.43dcd5f8","wires":[]},{"id":"6aace9e1.3842a8","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1778.5713348388672,"y":399.2231321334839,"z":"edca08.43dcd5f8","wires":[]},{"id":"a5cd088e.80d568","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":511.9047622680664,"y":479.55645179748535,"z":"edca08.43dcd5f8","wires":[["2349c495.c77f4c"]]},{"id":"2349c495.c77f4c","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":690.2381477355957,"y":478.8898277282715,"z":"edca08.43dcd5f8","wires":[["9f767a43.0011a8"]]},{"id":"9f767a43.0011a8","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":850.2380561828613,"y":478.22313117980957,"z":"edca08.43dcd5f8","wires":[]},{"id":"aa0b499c.760688","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1605.2381591796875,"y":427.14287281036377,"z":"edca08.43dcd5f8","wires":[["6aace9e1.3842a8","1cf1261c.75af7a"]]},{"id":"1cf1261c.75af7a","type":"break","name":"break","xml":"<break>\n","comments":"","x":1740.238124847412,"y":448.809458732605,"z":"edca08.43dcd5f8","wires":[]},{"id":"f4f336f5.5dea88","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":536.1904449462891,"y":601.461259841919,"z":"edca08.43dcd5f8","wires":[["3896bab6.2db326","7cb8d84.f65b628"]]},{"id":"3896bab6.2db326","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":720.2380828857422,"y":580.2706642150879,"z":"edca08.43dcd5f8","wires":[["791c3ec1.974fb"]]},{"id":"7cb8d84.f65b628","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":719.9999237060547,"y":621.2231826782227,"z":"edca08.43dcd5f8","wires":[["6d076e62.18418"]]},{"id":"791c3ec1.974fb","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 VF modules defined in MD-SAL for VNF ' + $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n","comments":"","x":886.9046974182129,"y":579.5564193725586,"z":"edca08.43dcd5f8","wires":[]},{"id":"6d076e62.18418","type":"for","name":"for each 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":882.2380676269531,"y":620.8898010253906,"z":"edca08.43dcd5f8","wires":[["90fe8f40.82619"]]},{"id":"90fe8f40.82619","type":"switchNode","name":"switch service data vf-module == input vf-module","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`'>\n","comments":"","outputs":1,"x":1188.5712280273438,"y":620.5565366744995,"z":"edca08.43dcd5f8","wires":[["7a4bf724.30d268"]]},{"id":"7a4bf724.30d268","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1458.5712814331055,"y":618.223141670227,"z":"edca08.43dcd5f8","wires":[["4519a894.e67f48"]]},{"id":"47fc1d3b.5c4464","type":"set","name":"set vf-module-index to -1","xml":"<set>\n<parameter name='vf-module-index' value='-1' />\n","comments":"","x":541.9047393798828,"y":536.2231178283691,"z":"edca08.43dcd5f8","wires":[]},{"id":"f8fd364b.a66e28","type":"set","name":"set vf-module-index to idx","xml":"<set>\n<parameter name='vf-module-index' value='`$idx`' />\n","comments":"","x":1788.5713729858398,"y":589.2231206893921,"z":"edca08.43dcd5f8","wires":[]},{"id":"4a2fa4b4.4280bc","type":"switchNode","name":"switch vf-module-index","xml":"<switch test='`$vf-module-index`'>\n","comments":"","outputs":1,"x":533.5714225769043,"y":672.8898305892944,"z":"edca08.43dcd5f8","wires":[["fff4784.69d9688"]]},{"id":"fff4784.69d9688","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":711.9048080444336,"y":672.2232065200806,"z":"edca08.43dcd5f8","wires":[["a0822a4d.3ed978"]]},{"id":"a0822a4d.3ed978","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 VF module ID ' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' in MD-SAL'`\" />\n","comments":"","x":871.9047164916992,"y":671.5565099716187,"z":"edca08.43dcd5f8","wires":[]},{"id":"4519a894.e67f48","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1591.9048233032227,"y":617.1428813934326,"z":"edca08.43dcd5f8","wires":[["f8fd364b.a66e28","a4e65803.370178"]]},{"id":"a4e65803.370178","type":"break","name":"break","xml":"<break>\n","comments":"","x":1726.9047889709473,"y":638.8094673156738,"z":"edca08.43dcd5f8","wires":[]},{"id":"ef5a5aa5.646fa8","type":"switchNode","name":"switch order-status","xml":"<switch test='`$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","comments":"","outputs":1,"x":522.1428909301758,"y":988.366044998169,"z":"edca08.43dcd5f8","wires":[["e22e4cda.57e45","5acfa32e.6102ac"]]},{"id":"e22e4cda.57e45","type":"outcome","name":"Created","xml":"<outcome value='Created'>\n","comments":"","outputs":1,"x":697.976261138916,"y":950.8660769462585,"z":"edca08.43dcd5f8","wires":[["8903485a.9e52b8"]]},{"id":"5acfa32e.6102ac","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":697.142879486084,"y":1008.3660278320312,"z":"edca08.43dcd5f8","wires":[["92f3b1b9.5f215"]]},{"id":"8903485a.9e52b8","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 not be Created\" />\n","comments":"","x":866.3095016479492,"y":950.8660063743591,"z":"edca08.43dcd5f8","wires":[]},{"id":"92f3b1b9.5f215","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":872.1428909301758,"y":1008.0327033996582,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"213ab44b.d5f03c","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":648.8096160888672,"y":1105.0326957702637,"z":"edca08.43dcd5f8","wires":[["cdaabcdd.8298f"]]},{"id":"1e283363.50d6bd","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":518.8095855712891,"y":1058.3660278320312,"z":"edca08.43dcd5f8","wires":[]},{"id":"cdaabcdd.8298f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":953.8095245361328,"y":1103.3659954071045,"z":"edca08.43dcd5f8","wires":[["8bce0bc3.868868"]]},{"id":"8bce0bc3.868868","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\" />\n","comments":"","x":1143.8095512390137,"y":1103.1757307052612,"z":"edca08.43dcd5f8","wires":[]},{"id":"212261c0.2d1dee","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":582.1429138183594,"y":1200.0327167510986,"z":"edca08.43dcd5f8","wires":[["31fbed3d.bb13d2"]]},{"id":"31fbed3d.bb13d2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":818.8095397949219,"y":1200.0326595306396,"z":"edca08.43dcd5f8","wires":[["cd365e8a.c7ba6"]]},{"id":"cd365e8a.c7ba6","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\" />\n","comments":"","x":1008.8095664978027,"y":1199.8423948287964,"z":"edca08.43dcd5f8","wires":[]},{"id":"ebb914a6.6be4e8","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":513.8095703125,"y":1245.0326776504517,"z":"edca08.43dcd5f8","wires":[["81a4a3c8.aa3a3"]]},{"id":"81a4a3c8.aa3a3","type":"for","name":"for each vm","xml":"<for silentFailure='true' index='vm-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\n","comments":"","outputs":1,"x":708.8096008300781,"y":1244.3656854629517,"z":"edca08.43dcd5f8","wires":[["fb5f9b43.404218"]]},{"id":"9293b60a.f4f688","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1415.4766693115234,"y":1242.6982879638672,"z":"edca08.43dcd5f8","wires":[["8c5f749e.c355b8"]]},{"id":"cb8e4288.88df1","type":"comment","name":"Not a failure","info":"","comments":"","x":1693.8096656799316,"y":1241.0320901870728,"z":"edca08.43dcd5f8","wires":[]},{"id":"8c5f749e.c355b8","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":1561.47660446167,"y":1242.6989212036133,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"fb5f9b43.404218","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":877.142993927002,"y":1243.365530014038,"z":"edca08.43dcd5f8","wires":[["200c5e71.a0fd62"]]},{"id":"200c5e71.a0fd62","type":"delete","name":"delete any 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 = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >","comments":"","outputs":1,"x":1163.8097076416016,"y":1243.0329599380493,"z":"edca08.43dcd5f8","wires":[["9293b60a.f4f688"]]},{"id":"35e0d06b.13a2e","type":"for","name":"for each vf module","xml":"<for index='idx' start='`$vf-module-index + 1`' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n","comments":"","outputs":1,"x":1089.3173828125,"y":2350.3656997680664,"z":"edca08.43dcd5f8","wires":[["3aee46f3.7a0fca"]]},{"id":"fcb0b642.11b048","type":"comment","name":"Remove VF Module from service data","info":"","comments":"","x":468.14288330078125,"y":2305.6041402816772,"z":"edca08.43dcd5f8","wires":[]},{"id":"3aee46f3.7a0fca","type":"set","name":"move vf module to remove one","xml":"<set>\n\t<parameter name=\"tmpidx\" value=\"`$idx - 1`\"/>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmpidx].\" value=\"$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].\" />\n\t\n","comments":"","x":1332.9085159301758,"y":2349.3896656036377,"z":"edca08.43dcd5f8","wires":[]},{"id":"25e098c.2ec0168","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":535.5753021240234,"y":2361.7073707580566,"z":"edca08.43dcd5f8","wires":[["27d9353f.6c425a","b11ba20f.3a1d3"]]},{"id":"27d9353f.6c425a","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":730.9086685180664,"y":2312.6119775772095,"z":"edca08.43dcd5f8","wires":[["9f2354ed.139ef8"]]},{"id":"9f2354ed.139ef8","type":"set","name":"Remove vf modules","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.\" value=\"\"/>\n\n","comments":"","x":902.9084396362305,"y":2312.612096786499,"z":"edca08.43dcd5f8","wires":[]},{"id":"b11ba20f.3a1d3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":729.5754241943359,"y":2407.3737869262695,"z":"edca08.43dcd5f8","wires":[["f4ca2943.e1d358"]]},{"id":"47204c51.64f514","type":"set","name":"set new vf module length","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length\" value=\"`$lastidx`\"/>\n\n\t\n","comments":"","x":1108.2049179077148,"y":2478.088176727295,"z":"edca08.43dcd5f8","wires":[]},{"id":"2011f2de.dfeffe","type":"set","name":"Remove the last vf module in the list","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lastidx].\" value=\"\"/>\n","comments":"","x":1143.9085311889648,"y":2434.1993141174316,"z":"edca08.43dcd5f8","wires":[]},{"id":"f4ca2943.e1d358","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":886.8133544921875,"y":2406.611788749695,"z":"edca08.43dcd5f8","wires":[["35e0d06b.13a2e","2011f2de.dfeffe","47204c51.64f514","d696060d.904598"]]},{"id":"f494cdbd.9a967","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n","comments":"","x":508.1429138183594,"y":2538.222993850708,"z":"edca08.43dcd5f8","wires":[]},{"id":"45c51d4.c2a85e4","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":510.4762268066406,"y":1150.9523582458496,"z":"edca08.43dcd5f8","wires":[]},{"id":"d696060d.904598","type":"set","name":"set lastidx","xml":"<set>\n<parameter name='lastidx' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`' />\n","comments":"EIPAM plug-in needs this attribute set with this name","x":1062.0476989746094,"y":2390.604013442993,"z":"edca08.43dcd5f8","wires":[]},{"id":"8933ba69.750ac8","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":1532.642837524414,"y":1562.1191358566284,"z":"edca08.43dcd5f8","wires":[["1a7ae9f.bfc7216"]]},{"id":"1a7ae9f.bfc7216","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":1716.9285430908203,"y":1562.119122505188,"z":"edca08.43dcd5f8","wires":[["f468ff3e.ef554"]]},{"id":"c3cb6173.44b2","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 = $aai.instance-group.instance-group[$ig-index].id\" >","comments":"","outputs":1,"x":2146.928497314453,"y":1561.928780555725,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"1f27993e.173167","type":"set","name":"set status variable","xml":"<set>\n<parameter name='tmp.status' value=\"`'PENDING_DELETE_' + $aai.instance-group.instance-group[$ig-index].id`\" />\n","comments":"","x":2016.9284591674805,"y":1515.262152671814,"z":"edca08.43dcd5f8","wires":[]},{"id":"e5c1c0e6.96de7","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":2081.928466796875,"y":1606.9288244247437,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"c3990fef.4555a","type":"comment","name":"roll back EIPAM floating addresses","info":"","comments":"","x":2126.2141876220703,"y":1469.071978886922,"z":"edca08.43dcd5f8","wires":[]},{"id":"dde9da09.b2a228","type":"switchNode","name":"switch network-instance-group-function","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[0].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function`'>\n","comments":"","outputs":1,"x":580.4762496948242,"y":1377.6190690994263,"z":"edca08.43dcd5f8","wires":[["4f97f8c2.a0deb8","ca85af42.0739b"]]},{"id":"4f97f8c2.a0deb8","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":805.4762191772461,"y":1345.9524021148682,"z":"edca08.43dcd5f8","wires":[["6a988e2a.0b0cc"]]},{"id":"ca85af42.0739b","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":805.2380828857422,"y":1416.904797554016,"z":"edca08.43dcd5f8","wires":[["db124cac.14fa7"]]},{"id":"6a988e2a.0b0cc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":932.1429557800293,"y":1344.2857341766357,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"db124cac.14fa7","type":"get-resource","name":"get-resource instance group","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n resource=\"instance-groups\" \n key=\"instance-group.instance-group-function = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[0].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function\n AND instance-group.instance-group-type = 'L3-NETWORK'\"\n pfx='aai.instance-group' local-only='false' >\n\n","comments":"","outputs":1,"x":1001.3096389770508,"y":1415.952374458313,"z":"edca08.43dcd5f8","wires":[["384eeb8f.ffb444"]]},{"id":"384eeb8f.ffb444","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1202.9762687683105,"y":1416.7857484817505,"z":"edca08.43dcd5f8","wires":[["c0ba523c.0e6c9"]]},{"id":"8d423e6c.0cf62","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1352.9762573242188,"y":1615.1192817687988,"z":"edca08.43dcd5f8","wires":[["8933ba69.750ac8","afb7d78e.98b0b8"]]},{"id":"f468ff3e.ef554","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1842.9761772155762,"y":1561.7858362197876,"z":"edca08.43dcd5f8","wires":[["1f27993e.173167","c3cb6173.44b2","e5c1c0e6.96de7"]]},{"id":"afb7d78e.98b0b8","type":"for","name":"for each network-instance-group","xml":"<for index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n","comments":"","outputs":1,"x":1552.976188659668,"y":1670.1191711425781,"z":"edca08.43dcd5f8","wires":[["6df47669.2779f8"]]},{"id":"6df47669.2779f8","type":"switchNode","name":"network-instance-group-ids match?","xml":"<switch test='`$aai.instance-group.instance-group[$ig-index].id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n","comments":"","outputs":1,"x":1857.9760284423828,"y":1670.1192169189453,"z":"edca08.43dcd5f8","wires":[["c936fde6.ea6b5"]]},{"id":"c936fde6.ea6b5","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2079.6427993774414,"y":1668.7859954833984,"z":"edca08.43dcd5f8","wires":[["d40f9836.6816c8"]]},{"id":"d40f9836.6816c8","type":"for","name":"for each network","xml":"<for index='network-index' start='0' end='`$service-data.network-instance-groups.network-instance-group[$nig-index].networks.network_length`' >\n","comments":"","outputs":1,"x":2235.357135772705,"y":1667.5001211166382,"z":"edca08.43dcd5f8","wires":[["73a6e453.2dc27c"]]},{"id":"73a6e453.2dc27c","type":"set","name":"clear vlan-tag-id and set network-status to unassigned","xml":"<set>\n<parameter name='service-data.network-instance-groups.network-instance-group[$nig-index].networks.network[$network-index].vlan-tag-id'\n value='' />\n<parameter name='service-data.network-instance-groups.network-instance-group[$nig-index].networks.network[$network-index].network-status'\n value='unassigned' />\n","comments":"","x":2546.7855682373047,"y":1666.0715837478638,"z":"edca08.43dcd5f8","wires":[]},{"id":"c0ba523c.0e6c9","type":"for","name":"for each returned instance-group","xml":"<for index='ig-index' start='0' end='`$aai.instance-group.instance-group_length`' >\n","comments":"","outputs":1,"x":1426.4762725830078,"y":1413.7857522964478,"z":"edca08.43dcd5f8","wires":[["b27bb7c.bac2148"]]},{"id":"b27bb7c.bac2148","type":"for","name":"for each relationship","xml":"<for index='rel-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship_length`' >\n","comments":"","outputs":1,"x":1678.1429138183594,"y":1412.7857513427734,"z":"edca08.43dcd5f8","wires":[["5676aa24.301644"]]},{"id":"5676aa24.301644","type":"for","name":"for each relationship-data","xml":"<for index='reldata-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data_length`' >\n","comments":"","outputs":1,"x":1904.809585571289,"y":1412.119125366211,"z":"edca08.43dcd5f8","wires":[["722edf98.fcc32"]]},{"id":"722edf98.fcc32","type":"switchNode","name":"switch relationship-key == service-instance.service-instance-id","xml":"<switch test=\"`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-key\n == 'service-instance.service-instance-id'`\">\n","comments":"","outputs":1,"x":2263.1431732177734,"y":1412.119044303894,"z":"edca08.43dcd5f8","wires":[["bb7adcc6.be445"]]},{"id":"bb7adcc6.be445","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2559.8096313476562,"y":1412.1190767288208,"z":"edca08.43dcd5f8","wires":[["565dbbdc.5b1974"]]},{"id":"565dbbdc.5b1974","type":"switchNode","name":"switch relationship-value == this service-instance-id","xml":"<switch test='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-value\n == $service-data.service-information.service-instance-id`'>\n","comments":"","outputs":1,"x":2824.809455871582,"y":1412.1190462112427,"z":"edca08.43dcd5f8","wires":[["3623dcb7.0ba5a4"]]},{"id":"3623dcb7.0ba5a4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3084.809425354004,"y":1412.1190366744995,"z":"edca08.43dcd5f8","wires":[["8d423e6c.0cf62"]]},{"id":"73a90d31.ecce84","type":"for","name":"for each vm-type","xml":"<for silentFailure='true' index='vm-type-index' start='0'\n end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n","comments":"","outputs":1,"x":521.3095855712891,"y":1980.865927696228,"z":"edca08.43dcd5f8","wires":[["5d05a061.91ad9"]]},{"id":"db962940.0240b8","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":872.9763526916504,"y":2075.247173309326,"z":"edca08.43dcd5f8","wires":[["733586cf.315098"]]},{"id":"407d8547.27ee9c","type":"save","name":"delete vnfc in A&AI","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc\"\n key=\"vnfc.vnfc-name = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\">\n","comments":"","outputs":1,"x":1184.404857635498,"y":2117.770721435547,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"4dea7724.e6e7c8","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1076.4286041259766,"y":978.3333659172058,"z":"edca08.43dcd5f8","wires":[]},{"id":"bd116d68.1b7b1","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":1480.4758567810059,"y":2065.032509803772,"z":"edca08.43dcd5f8","wires":[["2161ecb4.8612d4","4b228352.15c6ec"]]},{"id":"4b228352.15c6ec","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n","comments":"","outputs":1,"x":1792.7615928649902,"y":2089.604027748108,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"2161ecb4.8612d4","type":"set","name":"set variables for deleting VNFC name","xml":"<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$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<parameter name='naming-policy-generate-name-input.vm-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vnfc-index]`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n","comments":"","x":1712.5235481262207,"y":2042.4610977172852,"z":"edca08.43dcd5f8","wires":[]},{"id":"334d1abd.bce5c6","type":"switchNode","name":"switch vnfc-name","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`'>\n","comments":"","outputs":1,"x":1180.80952835083,"y":2038.3657665252686,"z":"edca08.43dcd5f8","wires":[["97de8700.c67958","abf72ed3.2ae3d"]]},{"id":"97de8700.c67958","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1350.8095054626465,"y":2008.3657999038696,"z":"edca08.43dcd5f8","wires":[["8aceccf2.324bf"]]},{"id":"abf72ed3.2ae3d","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1350.8094635009766,"y":2064.5563135147095,"z":"edca08.43dcd5f8","wires":[["bd116d68.1b7b1"]]},{"id":"8aceccf2.324bf","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1480.8093490600586,"y":2006.6991519927979,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"d790b9f2.093218","type":"comment","name":"Rollback any generated VM and VNFC names","info":"","comments":"","x":569.1426620483398,"y":1933.3659381866455,"z":"edca08.43dcd5f8","wires":[]},{"id":"5d05a061.91ad9","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":685.2138137817383,"y":1981.2712144851685,"z":"edca08.43dcd5f8","wires":[["b4709ea8.e1a46","db962940.0240b8","d8542c95.9e6d4"]]},{"id":"b4709ea8.e1a46","type":"for","name":"for each vm-name","xml":"<for silentFailure='true' index='vm-name-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name_length`' >\n","comments":"","outputs":1,"x":893.5470504760742,"y":1901.2714567184448,"z":"edca08.43dcd5f8","wires":[["c63cd25e.7f96c"]]},{"id":"c63cd25e.7f96c","type":"switchNode","name":"switch vm-name","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-name-index]`'>\n","comments":"","outputs":1,"x":1088.5470962524414,"y":1902.9380960464478,"z":"edca08.43dcd5f8","wires":[["c87987a3.006058","ac104589.688508"]]},{"id":"c87987a3.006058","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1241.8804092407227,"y":1874.6047620773315,"z":"edca08.43dcd5f8","wires":[["b2c06f9a.6b335"]]},{"id":"b2c06f9a.6b335","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1371.8802528381348,"y":1872.9381141662598,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"1835d1da.8d6fbe","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":1373.5471572875977,"y":1932.9380750656128,"z":"edca08.43dcd5f8","wires":[["6872fb60.d87f74","6b9ed6d8.a03198"]]},{"id":"ac104589.688508","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1243.8807640075684,"y":1932.4618787765503,"z":"edca08.43dcd5f8","wires":[["1835d1da.8d6fbe"]]},{"id":"6b9ed6d8.a03198","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n","comments":"","outputs":1,"x":1673.5470352172852,"y":1957.9380750656128,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"6872fb60.d87f74","type":"set","name":"set variables for deleting VM name","xml":"<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VM' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$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<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n","comments":"","x":1588.3089294433594,"y":1910.7951068878174,"z":"edca08.43dcd5f8","wires":[]},{"id":"733586cf.315098","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1020.476261138916,"y":2074.032554626465,"z":"edca08.43dcd5f8","wires":[["334d1abd.bce5c6","407d8547.27ee9c"]]},{"id":"edfc93db.b0f24","type":"switchNode","name":"switch vf-module-name","xml":"<switch test='`$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-name`'>\n","comments":"","outputs":1,"x":533.8095474243164,"y":1771.6993923187256,"z":"edca08.43dcd5f8","wires":[["8273d9f2.da4e78","2f2f0cce.6db7a4"]]},{"id":"8273d9f2.da4e78","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":710.4761734008789,"y":1797.5326251983643,"z":"edca08.43dcd5f8","wires":[["b6cced29.52f11"]]},{"id":"2f2f0cce.6db7a4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":712.5714340209961,"y":1746.3185300827026,"z":"edca08.43dcd5f8","wires":[["68d97b79.44c654"]]},{"id":"68d97b79.44c654","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":835.1428527832031,"y":1744.699390411377,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"b6cced29.52f11","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":857.4761390686035,"y":1798.0326652526855,"z":"edca08.43dcd5f8","wires":[["8de0ac4a.3fc46","8e085c7d.0b77e"]]},{"id":"8e085c7d.0b77e","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-unique-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-unique-name' mode='sync' >\n","comments":"","outputs":1,"x":1207.1428298950195,"y":1818.3659992218018,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"8de0ac4a.3fc46","type":"set","name":"set variables for deleting VF module name","xml":"<set>\n<parameter name='generate-unique-name-input.name-table-type' value='VF_MODULE_INSTANCE' />\n<parameter name='generate-unique-name-input.context-id' value='`$vf-module-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.action' value='DELETE' />\n","comments":"","x":1120.2377624511719,"y":1774.0802898406982,"z":"edca08.43dcd5f8","wires":[]},{"id":"d8542c95.9e6d4","type":"for","name":"for each vm-network","xml":"<for silentFailure='true' index='network-role-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n","comments":"","outputs":1,"x":897.1428756713867,"y":2213.365894317627,"z":"edca08.43dcd5f8","wires":[["9dbaf8be.2c5a78"]]},{"id":"9dbaf8be.2c5a78","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":1086.9761962890625,"y":2212.865333557129,"z":"edca08.43dcd5f8","wires":[["b9e9da24.8c82f8"]]},{"id":"b9e9da24.8c82f8","type":"for","name":"for each vnfc","xml":"<for silentFailure='true' index='vnfc-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n","comments":"","outputs":1,"x":1240.9762573242188,"y":2211.5321588516235,"z":"edca08.43dcd5f8","wires":[["e2b9d78b.cc4bf8"]]},{"id":"e2b9d78b.cc4bf8","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":1399.309642791748,"y":2211.5321521759033,"z":"edca08.43dcd5f8","wires":[["bc08d54a.866b08","f2f380ca.fd766"]]},{"id":"bc08d54a.866b08","type":"for","name":"for each floating ipv4 address","xml":"<for silentFailure='true' index='ipv4-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n","comments":"","outputs":1,"x":1604.1426620483398,"y":2180.698776245117,"z":"edca08.43dcd5f8","wires":[["84da1564.384538"]]},{"id":"f2f380ca.fd766","type":"for","name":"for each floating ipv6 address","xml":"<for silentFailure='true' index='ipv6-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n","comments":"","outputs":1,"x":1604.8092575073242,"y":2237.6985359191895,"z":"edca08.43dcd5f8","wires":[["f7a702cd.67dd4"]]},{"id":"84da1564.384538","type":"delete","name":"delete vip-ipv4-address-list from A&AI","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n resource=\"vip-ipv4-address-list\" \n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >","comments":"","outputs":1,"x":1908.1426620483398,"y":2180.698776245117,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"f7a702cd.67dd4","type":"delete","name":"delete vip-ipv6-address-list from A&AI","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n resource=\"vip-ipv6-address-list\" \n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >","comments":"","outputs":1,"x":1906.8092575073242,"y":2236.365406036377,"z":"edca08.43dcd5f8","wires":[[]]},{"id":"46c1a821.48d258","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":187.14285278320312,"y":479.99999618530273,"z":"edca08.43dcd5f8","wires":[["877764f1.c72548","1f8899f9.b231e6","265413e1.39158c","a5cd088e.80d568","47fc1d3b.5c4464","f4f336f5.5dea88","4a2fa4b4.4280bc","b03149b9.a4a018"]]},{"id":"b03149b9.a4a018","type":"switchNode","name":"switch: sdnc-generated-cloud-resources","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.sdnc-generated-cloud-resources`'>\n","comments":"","outputs":1,"x":584.2857055664062,"y":745.7142944335938,"z":"edca08.43dcd5f8","wires":[["f52095ab.b5aa28","4cbc82c3.2a450c"]]},{"id":"f52095ab.b5aa28","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":844.0357513427734,"y":745.7142963409424,"z":"edca08.43dcd5f8","wires":[["a838eae6.120f88"]]},{"id":"a838eae6.120f88","type":"call","name":"call self-serve-vf-module-unassign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-unassign' mode='sync' >\n","comments":"","outputs":1,"x":1063.0713653564453,"y":745.4642925262451,"z":"edca08.43dcd5f8","wires":[["48b43ca2.72b954","6980526.c2eb1ac"]]},{"id":"48b43ca2.72b954","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1307.8213500976562,"y":745.7142810821533,"z":"edca08.43dcd5f8","wires":[["737083a6.fa25bc"]]},{"id":"737083a6.fa25bc","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error while unassigning self-serve vf-moldule esources with error: '+ $error-message`\" />\n","comments":"","x":1473.3927764892578,"y":745.3571758270264,"z":"edca08.43dcd5f8","wires":[]},{"id":"4cbc82c3.2a450c","type":"other","name":"Other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":845.4285278320312,"y":789.1269626617432,"z":"edca08.43dcd5f8","wires":[["18261499.1e3fdb"]]},{"id":"6980526.c2eb1ac","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1312.428524017334,"y":796.2698154449463,"z":"edca08.43dcd5f8","wires":[["9574322f.8a1c2"]]},{"id":"9574322f.8a1c2","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":1480.9999389648438,"y":795.8412570953369,"z":"edca08.43dcd5f8","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json
index 2eac997a..70ee60ae 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json
@@ -1 +1 @@
-[{"id":"f07e5af5.2a81a8","type":"dgstart","name":"DGSTART","outputs":1,"x":100,"y":80.74699592590332,"z":"4e44f4dc.d3fbac","wires":[["7dfb89c0.30c288"]]},{"id":"7dfb89c0.30c288","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":215.28570556640625,"y":122.65177536010742,"z":"4e44f4dc.d3fbac","wires":[["1bd914ea.94267b"]]},{"id":"1bd914ea.94267b","type":"method","name":"method vnf-topology-operation-assign","xml":"<method rpc='vnf-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":188.09530639648438,"y":165.41365909576416,"z":"4e44f4dc.d3fbac","wires":[["11bf25d2.bdb8da"]]},{"id":"2e619ce7.bf2e34","type":"comment","name":"vnf-topology-operation-assign","info":"","comments":"","x":476.0115280151367,"y":30,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"b32ac93e.aaa508","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":486.3809509277344,"y":313.8898277282715,"z":"4e44f4dc.d3fbac","wires":[["95fe5c1b.234a3","1c086997.eb74d6"]]},{"id":"95fe5c1b.234a3","type":"outcome","name":"CreateVnfInstance","xml":"<outcome value='CreateVnfInstance'>\n","comments":"","outputs":1,"x":740.0952453613281,"y":291.0327091217041,"z":"4e44f4dc.d3fbac","wires":[["b3d6c559.f5a1f8"]]},{"id":"1c086997.eb74d6","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":702.0952110290527,"y":336.7470369338989,"z":"4e44f4dc.d3fbac","wires":[["3d3a9ebb.853872"]]},{"id":"b3d6c559.f5a1f8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":924.9523735046387,"y":291.0327386856079,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"3d3a9ebb.853872","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVnfInstance'\" />\n","comments":"","x":942.0952186584473,"y":336.746994972229,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"ae713fba.3df7f","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":186.07147216796875,"y":1577.7707920074463,"z":"4e44f4dc.d3fbac","wires":[["78a8ab8d.e4a224","766c94ea.b9611c","434cb265.75e27c","a6c6204f.95895","b69f4291.61fa5","f416891b.c49b38","b1c5abc7.29b208","c969fd25.a5dbc","5551cb18.77a4d4","27e79a76.199b26","68282397.14338c","4cef2e4e.2eeb7","b4645e2b.83793","19423cf4.442143","59cc3158.776f9","2eaa370.dfe9cca","ab5ed0d2.dee8c","2dd176ed.0041ba","acbd5170.3e4c4","60684400.780c7c","31bebad4.8a5896","438000d4.31b1e","6f6caf00.d957c","277ce9ee.277656","56e0bd4b.bd3f64","58f81e72.df87b","719fd6d4.9a4d78","1fd770ea.bfd8af","183d18f7.8083e7","537d84c0.249e5c","4cc45d68.737674","ed7dcd3d.7a64c","d4e45ae3.95e8e8","569d159b.7974ac"]]},{"id":"3e444c8d.9a16f4","type":"get-resource","name":"get-resource VF_MODEL","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n","comments":"","outputs":1,"x":498.7142562866211,"y":405.0326976776123,"z":"4e44f4dc.d3fbac","wires":[["474b191f.eb1888","e8e33d1a.e987"]]},{"id":"f4e1f5bf.f95318","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n","comments":"","x":940.1427345275879,"y":428.46118354797363,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"474b191f.eb1888","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":699.4999542236328,"y":385.413535118103,"z":"4e44f4dc.d3fbac","wires":[["bd82a433.1ab928"]]},{"id":"e8e33d1a.e987","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":708.0713844299316,"y":429.6992483139038,"z":"4e44f4dc.d3fbac","wires":[["f4e1f5bf.f95318"]]},{"id":"bd82a433.1ab928","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n","comments":"","x":939.4999351501465,"y":383.5564422607422,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"78a8ab8d.e4a224","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":532.3809204101562,"y":1155.9851322174072,"z":"4e44f4dc.d3fbac","wires":[["120eef5e.ea3881","a22c3ff8.e2fb3"]]},{"id":"120eef5e.ea3881","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":758.0952491760254,"y":1123.1279201507568,"z":"4e44f4dc.d3fbac","wires":[["b7dbc5c1.1c67c8"]]},{"id":"b7dbc5c1.1c67c8","type":"set","name":"set vnf-index=0","xml":"<set>\n<parameter name='vnf-index' value='0' />\n","comments":"","x":922.3809700012207,"y":1122.1279983520508,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"a22c3ff8.e2fb3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":759.523811340332,"y":1187.4137382507324,"z":"4e44f4dc.d3fbac","wires":[["41b7f789.ac4538"]]},{"id":"93cbad48.90b08","type":"set","name":"set vnf-index = vnf_length","xml":"<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n","comments":"","x":1098.3809661865234,"y":1165.699426651001,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"a06ff958.ca8818","type":"for","name":"for each existing VNF","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1083.8094787597656,"y":1211.6993656158447,"z":"4e44f4dc.d3fbac","wires":[["8b898020.e1666"]]},{"id":"41b7f789.ac4538","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":895.2380714416504,"y":1187.413703918457,"z":"4e44f4dc.d3fbac","wires":[["93cbad48.90b08","a06ff958.ca8818"]]},{"id":"8b898020.e1666","type":"switchNode","name":"switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n","comments":"","outputs":1,"x":1438.0952453613281,"y":1211.270845413208,"z":"4e44f4dc.d3fbac","wires":[["b372ccf2.90f5f"]]},{"id":"b372ccf2.90f5f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1732.3810005187988,"y":1210.8423299789429,"z":"4e44f4dc.d3fbac","wires":[["2889470.ea41bba"]]},{"id":"2889470.ea41bba","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists'`\" />\n","comments":"","x":1880.9523620605469,"y":1210.8422775268555,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"11adb872.3cc0d8","type":"comment","name":"make sure this VNF doesn't exist already","info":"","comments":"","x":1425.2379760742188,"y":1168.8422756195068,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"766c94ea.b9611c","type":"set","name":"set vnf-topology data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n","comments":"","x":498.0952033996582,"y":1687.6518993377686,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"434cb265.75e27c","type":"switchNode","name":"switch input vnf-name","xml":"<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-name`'>\n","comments":"","outputs":1,"x":510.59522247314453,"y":2049.770956993103,"z":"4e44f4dc.d3fbac","wires":[["e8e240a8.b6802","9b1fc0be.8fa7"]]},{"id":"a6c6204f.95895","type":"get-resource","name":"get-resource cloud region","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\n\t\t depth='all'\"\n pfx='aai.cloud-region' local-only='false' >\n\n","comments":"","outputs":1,"x":542.738166809082,"y":2945.7706928253174,"z":"4e44f4dc.d3fbac","wires":[["8e720469.5e8cb8","7b05d3d.76e1b2c"]]},{"id":"7b05d3d.76e1b2c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":767.9843597412109,"y":2963.921548843384,"z":"4e44f4dc.d3fbac","wires":[["a42ab710.cce278"]]},{"id":"4676d832.85c178","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":1069.6510314941406,"y":2963.9215660095215,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"8e720469.5e8cb8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":776.912956237793,"y":2922.207282066345,"z":"4e44f4dc.d3fbac","wires":[["e0c152ab.e7e04"]]},{"id":"f16260c8.4591b","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":1069.9289321899414,"y":2921.512840270996,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"b69f4291.61fa5","type":"get-resource","name":"get-resource VF_TO_NETWORK_ROLE_MAPPING","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-network-role-mapping[]'>\n\n","comments":"","outputs":1,"x":607.9762496948242,"y":3256.8182125091553,"z":"4e44f4dc.d3fbac","wires":[["60a87727.b01328","35785ae2.8b74a6"]]},{"id":"60a87727.b01328","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":903.7619209289551,"y":3235.532377243042,"z":"4e44f4dc.d3fbac","wires":[["7f628377.de20fc"]]},{"id":"35785ae2.8b74a6","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":912.3333511352539,"y":3279.818090438843,"z":"4e44f4dc.d3fbac","wires":[["cb783055.50a9a"]]},{"id":"7fcd46cd.478d88","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_TO_NETWORK_ROLE_MAPPING table\" />\n","comments":"","x":1220.428544998169,"y":3235.342109680176,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"7b16dda0.235334","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1039.5716705322266,"y":3728.1274967193604,"z":"4e44f4dc.d3fbac","wires":[["9c162cfb.04057","32d1bfdb.27738","7cbe8d03.77d1c4","9ecaa4ff.23c328","4bcf8a69.ae8c44","8025807.9d68d8","ccd49d85.073d1","cdefc051.a04bf"]]},{"id":"7cbe8d03.77d1c4","type":"get-resource","name":"get-resource l3-network","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"l3-networks\" \n\t\tkey=\"l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role\"\n pfx='aai.l3-network' local-only='false'\n>\n","comments":"","outputs":1,"x":1272.4287300109863,"y":3409.080026626587,"z":"4e44f4dc.d3fbac","wires":[["9891f515.8ee1c8","94d72e9b.4db64"]]},{"id":"94d72e9b.4db64","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1476.4764442443848,"y":3431.2228660583496,"z":"4e44f4dc.d3fbac","wires":[["22276dbf.92cb12"]]},{"id":"91d086d5.905598","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error retrieving l3-network from AAI\" />\n","comments":"","x":1791.476474761963,"y":3431.556209564209,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"9891f515.8ee1c8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1485.4050407409668,"y":3389.508599281311,"z":"4e44f4dc.d3fbac","wires":[["85a5708b.39733"]]},{"id":"b5a9325f.8e06e","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No active l3-network found in AAI with cloud_region_id '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '\n + $db.vf-network-role-mapping[$network-index].network-role`\" />\n","comments":"","x":1790.087670326233,"y":3390.4807357788086,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"9c162cfb.04057","type":"set","name":"set vnf-network data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\n value='`$db.vf-network-role-mapping[$role-index].network-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\n value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\n value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\n value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\n value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\n","comments":"","x":1261.6193199157715,"y":3896.0802698135376,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"5551cb18.77a4d4","type":"for","name":"for each cloud-region availability zone","xml":"<for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\n","comments":"","outputs":1,"x":535.0003356933594,"y":4313.199224472046,"z":"4e44f4dc.d3fbac","wires":[["858bb9df.ef0b98"]]},{"id":"420bf10a.3f71f","type":"set","name":"set availability-zone","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\n value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\n","comments":"","x":996.6670188903809,"y":4282.532638549805,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"27e79a76.199b26","type":"set","name":"set vnf-parameters-data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n","comments":"","x":494.6192626953125,"y":4163.151584625244,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"cbb1f011.821ee","type":"save","name":"save generic-vnf l3-network relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`\" />\n","comments":"","outputs":1,"x":961.1907958984375,"y":4456.961437225342,"z":"4e44f4dc.d3fbac","wires":[["32a6aa28.4d7b46","22485f0b.22ad6"]]},{"id":"b4645e2b.83793","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":454.4288101196289,"y":4922.579827308655,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"4cef2e4e.2eeb7","type":"set","name":"set vnf-level-oper-status to PendingCreate","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n","comments":"","x":544.2422561645508,"y":4824.917307853699,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"b1c5abc7.29b208","type":"for","name":"for each network-role","xml":"<for index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>","comments":"","outputs":1,"x":499.57160568237305,"y":3701.4611654281616,"z":"4e44f4dc.d3fbac","wires":[["ed4c9615.d61838"]]},{"id":"f416891b.c49b38","type":"set","name":"set network-index = 0","xml":"<set>\n<parameter name='network-index' value='0' />\n","comments":"","x":510.40474700927734,"y":3310.8660068511963,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"32d1bfdb.27738","type":"set","name":"increment network-index","xml":"<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n","comments":"","x":1271.95267868042,"y":4050.842246055603,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"c969fd25.a5dbc","type":"set","name":"set vnf-network_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\n value='`$network-index`' />\n","comments":"","x":493.4763488769531,"y":4113.151628494263,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"68282397.14338c","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":459.7620849609375,"y":4772.580139160156,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"19423cf4.442143","type":"for","name":"for each vnf-network","xml":"<for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n","comments":"","outputs":1,"x":484.1907043457031,"y":4455.961353302002,"z":"4e44f4dc.d3fbac","wires":[["5f481128.d6fd6"]]},{"id":"5f481128.d6fd6","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":687.8573455810547,"y":4455.961314201355,"z":"4e44f4dc.d3fbac","wires":[["cbb1f011.821ee"]]},{"id":"59cc3158.776f9","type":"set","name":"set new vnf_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n","comments":"","x":481.02384185791016,"y":1208.0090227127075,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"2eaa370.dfe9cca","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":555.5952911376953,"y":3033.008864402771,"z":"4e44f4dc.d3fbac","wires":[["e5925a76.815c58"]]},{"id":"e5925a76.815c58","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n","comments":"","outputs":1,"x":803.2738342285156,"y":3032.7587938308716,"z":"4e44f4dc.d3fbac","wires":[["3699dec9.348a82"]]},{"id":"3699dec9.348a82","type":"outcome","name":"complex","xml":"<outcome value='complex'>\n","comments":"","outputs":1,"x":972.7381553649902,"y":3032.1516160964966,"z":"4e44f4dc.d3fbac","wires":[["ed1ad94c.99ecb8"]]},{"id":"98e2f8af.a2f578","type":"set","name":"set aic-clli","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n","comments":"","x":1293.4524536132812,"y":3031.8182735443115,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"ab5ed0d2.dee8c","type":"switchNode","name":"switch aic-clli","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\n","comments":"","outputs":1,"x":488.64291763305664,"y":3146.1039962768555,"z":"4e44f4dc.d3fbac","wires":[["cd42ad7f.c7287"]]},{"id":"cd42ad7f.c7287","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":636.7857513427734,"y":3146.103979110718,"z":"4e44f4dc.d3fbac","wires":[["b6ad7e13.cbdb8"]]},{"id":"f7a16dbf.78dcf","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n","comments":"","x":927.2619438171387,"y":3147.3420248031616,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"817e056c.b110d8","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n","comments":"","x":915.0954627990723,"y":2504.9612531661987,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"4527349c.9a52ec","type":"for","name":"for each l3-network","xml":"<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\n","comments":"","outputs":1,"x":1381.8812980651855,"y":3720.6516485214233,"z":"4e44f4dc.d3fbac","wires":[["45b722b6.db776c"]]},{"id":"2b805935.a35cb6","type":"switchNode","name":"switch orchestration-status","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n","comments":"","outputs":1,"x":1800.4524688720703,"y":3655.2231130599976,"z":"4e44f4dc.d3fbac","wires":[["b291cd89.5e04","688efdb4.26b7f4","1dbdf0e3.6d4c4f","3bfc9f47.c3df5","8f5abb8c.6c74f8"]]},{"id":"b291cd89.5e04","type":"outcome","name":"Pending Delete","xml":"<outcome value='Pending Delete'>\n","comments":"","outputs":1,"x":2041.1193389892578,"y":3696.8896169662476,"z":"4e44f4dc.d3fbac","wires":[["757bdd4d.6abe74"]]},{"id":"688efdb4.26b7f4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2013.9764785766602,"y":3747.8895978927612,"z":"4e44f4dc.d3fbac","wires":[["47f9fe3b.cd325"]]},{"id":"9833efbf.69304","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\n","comments":"","outputs":1,"x":2549.6909255981445,"y":3716.460892677307,"z":"4e44f4dc.d3fbac","wires":[["440449fc.68ede8"]]},{"id":"47f9fe3b.cd325","type":"for","name":"for each relationship","xml":"<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\n","comments":"","outputs":1,"x":2183.976390838623,"y":3747.4609746932983,"z":"4e44f4dc.d3fbac","wires":[["46c88819.e15b38"]]},{"id":"440449fc.68ede8","type":"outcome","name":"cloud-region","xml":"<outcome value='cloud-region'>\n","comments":"","outputs":1,"x":2723.9765663146973,"y":3716.0323390960693,"z":"4e44f4dc.d3fbac","wires":[["3d11cc80.c4e0c4"]]},{"id":"3d11cc80.c4e0c4","type":"for","name":"for each relationship data","xml":"<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n","comments":"","outputs":1,"x":2921.1192665100098,"y":3716.4608068466187,"z":"4e44f4dc.d3fbac","wires":[["ced7a748.131728"]]},{"id":"ced7a748.131728","type":"switchNode","name":"switch relationship-key","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n","comments":"","outputs":1,"x":3152.547866821289,"y":3716.032181739807,"z":"4e44f4dc.d3fbac","wires":[["92fbe3e9.e193d"]]},{"id":"92fbe3e9.e193d","type":"outcome","name":"cloud-region.cloud-region-id","xml":"<outcome value='cloud-region.cloud-region-id'>\n","comments":"","outputs":1,"x":3393.976432800293,"y":3716.032278060913,"z":"4e44f4dc.d3fbac","wires":[["3d76bce7.883fc4"]]},{"id":"3d76bce7.883fc4","type":"switchNode","name":"switch relationship-value == cloud-region-id","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n","comments":"","outputs":1,"x":3698.262351989746,"y":3715.8893337249756,"z":"4e44f4dc.d3fbac","wires":[["5f95e58e.702e5c"]]},{"id":"5f95e58e.702e5c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3403.2624893188477,"y":3833.5322875976562,"z":"4e44f4dc.d3fbac","wires":[["a7f11203.5d359"]]},{"id":"9ecaa4ff.23c328","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1218.0954704284668,"y":3651.9372930526733,"z":"4e44f4dc.d3fbac","wires":[["4527349c.9a52ec","be0cee42.5ab7e"]]},{"id":"4bcf8a69.ae8c44","type":"set","name":"set l3-network-id = -1","xml":"<set>\n<parameter name='l3-network-id' value='-1' />\n","comments":"","x":1262.4288291931152,"y":3523.8419466018677,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"a7f11203.5d359","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3549.0954666137695,"y":3833.0083961486816,"z":"4e44f4dc.d3fbac","wires":[["afc40b2f.c29e28","6f9b0a93.f694a4","2a1ad752.bfcd38"]]},{"id":"afc40b2f.c29e28","type":"set","name":"set l3-network-id = this l3-network","xml":"<set>\n<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n","comments":"","x":3784.333469390869,"y":3795.1513652801514,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"8025807.9d68d8","type":"switchNode","name":"switch l3-network-id","xml":"<switch test='`$l3-network-id`'>\n","comments":"","outputs":1,"x":1259.42875289917,"y":3847.508988380432,"z":"4e44f4dc.d3fbac","wires":[["aa114731.395c08"]]},{"id":"aa114731.395c08","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":1429.4287033081055,"y":3847.508744239807,"z":"4e44f4dc.d3fbac","wires":[["2fba815e.79c32e"]]},{"id":"6395a483.342b9c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n","comments":"","x":1712.7620658874512,"y":3847.5089931488037,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"2dd176ed.0041ba","type":"switchNode","name":"switch input model-invariant-uuid","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n","comments":"","outputs":1,"x":558.9525375366211,"y":2527.7856969833374,"z":"4e44f4dc.d3fbac","wires":[["d5c66a20.2113f8","4eb518d2.0c93e8"]]},{"id":"d5c66a20.2113f8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":764.6192092895508,"y":2504.9286603927612,"z":"4e44f4dc.d3fbac","wires":[["817e056c.b110d8"]]},{"id":"4eb518d2.0c93e8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":766.0478057861328,"y":2549.2142515182495,"z":"4e44f4dc.d3fbac","wires":[["7ce719fb.9a6228"]]},{"id":"7ce719fb.9a6228","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n","comments":"","x":920.3335418701172,"y":2548.6428236961365,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"ef5faa7d.94cb58","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n","comments":"","x":916.0477333068848,"y":2593.4999294281006,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"acbd5170.3e4c4","type":"switchNode","name":"switch input model-uuid","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n","comments":"","outputs":1,"x":531.5715560913086,"y":2616.3244342803955,"z":"4e44f4dc.d3fbac","wires":[["ce65d89f.20afc8","34fc501b.a39a8"]]},{"id":"ce65d89f.20afc8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":765.5715293884277,"y":2593.467366218567,"z":"4e44f4dc.d3fbac","wires":[["ef5faa7d.94cb58"]]},{"id":"34fc501b.a39a8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":767.0001258850098,"y":2637.752957344055,"z":"4e44f4dc.d3fbac","wires":[["f5981394.788ef"]]},{"id":"f5981394.788ef","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n","comments":"","x":921.2858619689941,"y":2637.181529521942,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"538946a2.181668","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n","comments":"","x":913.1906661987305,"y":2682.3571367263794,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"60684400.780c7c","type":"switchNode","name":"switch input model-version","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n","comments":"","outputs":1,"x":539.714427947998,"y":2705.1815814971924,"z":"4e44f4dc.d3fbac","wires":[["e137a9dc.787888","5fc591ca.bc88b"]]},{"id":"e137a9dc.787888","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":762.714412689209,"y":2682.324543952942,"z":"4e44f4dc.d3fbac","wires":[["538946a2.181668"]]},{"id":"5fc591ca.bc88b","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":764.143009185791,"y":2726.61013507843,"z":"4e44f4dc.d3fbac","wires":[["b9a36199.dc978"]]},{"id":"b9a36199.dc978","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n","comments":"","x":918.4287452697754,"y":2726.038707256317,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"855b2ca8.132f9","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n","comments":"","x":913.1906661987305,"y":2769.4999589920044,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"31bebad4.8a5896","type":"switchNode","name":"switch input model-name","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n","comments":"","outputs":1,"x":534.714427947998,"y":2792.3244037628174,"z":"4e44f4dc.d3fbac","wires":[["7a7f7561.1b9f2c","af9f8b2b.cd7db8"]]},{"id":"7a7f7561.1b9f2c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":762.714412689209,"y":2769.467366218567,"z":"4e44f4dc.d3fbac","wires":[["855b2ca8.132f9"]]},{"id":"af9f8b2b.cd7db8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":764.143009185791,"y":2813.752957344055,"z":"4e44f4dc.d3fbac","wires":[["f010777f.4fc4a8"]]},{"id":"f010777f.4fc4a8","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n","comments":"","x":918.4287452697754,"y":2813.181529521942,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"757bdd4d.6abe74","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2194.3334312438965,"y":3697.666494369507,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"8f5abb8c.6c74f8","type":"outcome","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":2039.000072479248,"y":3652.6664085388184,"z":"4e44f4dc.d3fbac","wires":[["689950a3.df60a"]]},{"id":"689950a3.df60a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2194.2141647338867,"y":3653.4432859420776,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"3bfc9f47.c3df5","type":"outcome","name":"Pending Create","xml":"<outcome value='Pending Create'>\n","comments":"","outputs":1,"x":2041.000072479248,"y":3609.3329124450684,"z":"4e44f4dc.d3fbac","wires":[["ea88d2ba.493d6"]]},{"id":"ea88d2ba.493d6","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2194.2141647338867,"y":3610.1097898483276,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"1dbdf0e3.6d4c4f","type":"outcome","name":"PendingCreate","xml":"<outcome value='PendingCreate'>\n","comments":"","outputs":1,"x":2041.000072479248,"y":3565.9996604919434,"z":"4e44f4dc.d3fbac","wires":[["8104066e.259008"]]},{"id":"8104066e.259008","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2194.2141647338867,"y":3566.7765378952026,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"fe91b2bf.8c099","type":"for","name":"for each A&AI subnet","xml":"<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[0].subnets.subnet_length`' >\n","comments":"","outputs":1,"x":1727.3810997009277,"y":3986.7138295173645,"z":"4e44f4dc.d3fbac","wires":[["b10f2375.b9afa"]]},{"id":"53c17453.f0880c","type":"set","name":"set subnet_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[0].subnets.subnet_length`' />\n","comments":"","x":1716.047664642334,"y":4031.7139115333557,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"438000d4.31b1e","type":"set","name":"set availability-zones.max-count and length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\n value='`$db.vf-model.avail-zone-max-count`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\n value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\n","comments":"","x":554.6668395996094,"y":4401.214692115784,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"6f6caf00.d957c","type":"set","name":"set vnf-name","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\n value='`$tmp.vnf-name`' />\n","comments":"","x":495.8333511352539,"y":2461.8334608078003,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"277ce9ee.277656","type":"save","name":"update generic-vnf","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vnf-name\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`\" />\n<parameter name=\"prov-status\" value=\"PREPROV\" />\n<!-- <parameter name=\"operational-status\" value=\"out-of-service-path\" /> -->\n<parameter name=\"equipment-role\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`\" />\n<parameter name=\"model-invariant-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vnf-object-path`\" />\n","comments":"","outputs":1,"x":475.00010681152344,"y":4610.88045501709,"z":"4e44f4dc.d3fbac","wires":[["7a3c612.03fada","d92cf5a6.33b858"]]},{"id":"56e0bd4b.bd3f64","type":"set","name":"set vnf-object-path","xml":"<set>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology'`\"/>\n\n","comments":"","x":475.0001449584961,"y":4540.880937576294,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"58f81e72.df87b","type":"set","name":"set vnf-id","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n","comments":"","x":484.1666946411133,"y":2413.5000038146973,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"719fd6d4.9a4d78","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-viprend.log' />\n","comments":"","outputs":1,"x":449.3335380554199,"y":4871.3570766448975,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"9263c515.503118","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":1511.66695022583,"y":4477.547351837158,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"32a6aa28.4d7b46","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1211.0241508483887,"y":4434.500012397766,"z":"4e44f4dc.d3fbac","wires":[["672f3870.869518"]]},{"id":"22485f0b.22ad6","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1219.5955810546875,"y":4478.785725593567,"z":"4e44f4dc.d3fbac","wires":[["6e62ccc6.dc7f34"]]},{"id":"32930b6a.86e284","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":1514.3575439453125,"y":4434.30955696106,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"3c4d390f.0ff276","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":946.6668853759766,"y":4630.8808879852295,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"7a3c612.03fada","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":649.3574371337891,"y":4589.500050544739,"z":"4e44f4dc.d3fbac","wires":[["db6c1834.e91948"]]},{"id":"d92cf5a6.33b858","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":657.9288673400879,"y":4633.78576374054,"z":"4e44f4dc.d3fbac","wires":[["ec9973e.c6a799"]]},{"id":"7baf675.e9c2498","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating selflink in generic-vnf in AAI\" />\n","comments":"","x":949.357479095459,"y":4587.643093109131,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"1fd770ea.bfd8af","type":"set","name":"set model-customization-uuid","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n","comments":"","x":547.5000152587891,"y":2865.1666078567505,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"703de5d6.b6b11c","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":1312.8333129882812,"y":2986.5801916122437,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"ed1ad94c.99ecb8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1132.500015258789,"y":3033.24697971344,"z":"4e44f4dc.d3fbac","wires":[["703de5d6.b6b11c","98e2f8af.a2f578","62cd4dc6.bccf24"]]},{"id":"62cd4dc6.bccf24","type":"break","name":"break","xml":"<break>\n","comments":"","x":1282.4999771118164,"y":3076.580276489258,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"858bb9df.ef0b98","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":786.6667785644531,"y":4312.294808387756,"z":"4e44f4dc.d3fbac","wires":[["420bf10a.3f71f","e9021688.b099b8"]]},{"id":"e9021688.b099b8","type":"save","name":"save generic-vnf availability-zone relationship","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"availability-zone\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.cloud-region.cloud-owner`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"availability-zone.availability-zone-name\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`\" />\n","comments":"","outputs":1,"x":1080.0001678466797,"y":4335.628262519836,"z":"4e44f4dc.d3fbac","wires":[["3a86920a.c74fce","85b44524.f59068"]]},{"id":"2639188b.f42278","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":1637.1428298950195,"y":4359.547591209412,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"3a86920a.c74fce","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1344.8334197998047,"y":4316.500084877014,"z":"4e44f4dc.d3fbac","wires":[["c2464793.9ffc08"]]},{"id":"85b44524.f59068","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1353.4048500061035,"y":4360.785798072815,"z":"4e44f4dc.d3fbac","wires":[["9d10abef.aa9d68"]]},{"id":"2754abb3.b85874","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":1639.833423614502,"y":4316.309796333313,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"cb783055.50a9a","type":"set","name":"set mapping rows to 0","xml":"<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n","comments":"","x":1106.3094863891602,"y":3279.437578201294,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"183d18f7.8083e7","type":"switchNode","name":"switch AAI availability-zone_length","xml":"<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n","comments":"","outputs":1,"x":527.3810653686523,"y":4216.10439491272,"z":"4e44f4dc.d3fbac","wires":[["bd16fb24.0fe038"]]},{"id":"bd16fb24.0fe038","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":745.9524841308594,"y":4215.675804138184,"z":"4e44f4dc.d3fbac","wires":[["44f8e0c6.bf172"]]},{"id":"a4deaa00.e82908","type":"set","name":"set availability-zone_length to 0","xml":"<set>\n<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\n","comments":"","x":1347.3811264038086,"y":4234.2470417022705,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"44f8e0c6.bf172","type":"switchNode","name":"switch AZ max count > 0","xml":"<switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>\n","comments":"","outputs":1,"x":934.5239562988281,"y":4216.104115962982,"z":"4e44f4dc.d3fbac","wires":[["d06ce29c.e7c56","91254f4.8fe1bb"]]},{"id":"d06ce29c.e7c56","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1137.3810634613037,"y":4190.389865875244,"z":"4e44f4dc.d3fbac","wires":[["2bf16ac7.c29516"]]},{"id":"91254f4.8fe1bb","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1138.809684753418,"y":4234.67561340332,"z":"4e44f4dc.d3fbac","wires":[["a4deaa00.e82908"]]},{"id":"66145063.39707","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No availability zones found in AAI for cloud region '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n","comments":"","x":1428.8095703125,"y":4188.437558174133,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"a0fc8588.9798e8","type":"execute","name":"execute PropertiesNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":495.95240020751953,"y":233.84224128723145,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"e8e240a8.b6802","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":712.6190414428711,"y":1863.2470073699951,"z":"4e44f4dc.d3fbac","wires":[["fda0d94d.246058"]]},{"id":"6ba58c99.3d6c54","type":"switchNode","name":"switch ecomp-naming","xml":"<switch test='`$db.vf-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1090.2384300231934,"y":1763.961443901062,"z":"4e44f4dc.d3fbac","wires":[["6bc3ca08.30d814","1bd7e0e4.afcd3f","59311d10.015684"]]},{"id":"fda0d94d.246058","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":858.3335418701172,"y":1863.247124671936,"z":"4e44f4dc.d3fbac","wires":[["6ba58c99.3d6c54","68402099.cbb6e"]]},{"id":"1bd7e0e4.afcd3f","type":"outcome","name":"N","xml":"<outcome value='N'>","comments":"","outputs":1,"x":1276.6668167114258,"y":1764.4375705718994,"z":"4e44f4dc.d3fbac","wires":[["8abd4d2f.9ce9"]]},{"id":"8abd4d2f.9ce9","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"No vnf-name was received but ecomp-generated-naming is not Y\" />\n","comments":"","x":1430.9526023864746,"y":1783.009015083313,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"6bc3ca08.30d814","type":"outcome","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1276.6668090820312,"y":1723.0090246200562,"z":"4e44f4dc.d3fbac","wires":[["d6abe0cd.f17a7"]]},{"id":"59311d10.015684","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1276.6667556762695,"y":1807.2947025299072,"z":"4e44f4dc.d3fbac","wires":[["8abd4d2f.9ce9"]]},{"id":"d6abe0cd.f17a7","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1413.809726715088,"y":1723.151891708374,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"9b1fc0be.8fa7","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":697.8097686767578,"y":2217.866183280945,"z":"4e44f4dc.d3fbac","wires":[["68621ac1.29c734"]]},{"id":"68621ac1.29c734","type":"set","name":"set tmp.vnf-name","xml":"<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-request-input.vnf-name`\" />\n","comments":"","x":863.5717315673828,"y":2216.7234535217285,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"e954ebf6.540d38","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":1748.643009185791,"y":1913.0089440345764,"z":"4e44f4dc.d3fbac","wires":[["e58cf0cd.381b5","7d1e3ef3.b14f9"]]},{"id":"e58cf0cd.381b5","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2025.7858123779297,"y":1886.5804772377014,"z":"4e44f4dc.d3fbac","wires":[["f78aa92e.072f88"]]},{"id":"7d1e3ef3.b14f9","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2030.5475578308105,"y":1931.9613881111145,"z":"4e44f4dc.d3fbac","wires":[["67192240.ef86fc"]]},{"id":"8e80323.5aec3d","type":"set","name":"set variables for generating unique name","xml":"<set>\n<parameter name='generate-unique-name-input.action' value='ASSIGN' />\n<parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`\" />\n","comments":"","x":1703.6432609558105,"y":1864.1042637825012,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"67192240.ef86fc","type":"set","name":"set tmp.vnf-name to generated name","xml":"<set>\n<parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\n","comments":"","x":2253.4519538879395,"y":1931.4374632835388,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"f78aa92e.072f88","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":2179.3572731018066,"y":1886.0089869499207,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"68402099.cbb6e","type":"switchNode","name":"switch naming-policy","xml":"<switch test='`$db.vf-model.naming-policy`'>\n","comments":"","outputs":1,"x":1088.024013519287,"y":1972.2470607757568,"z":"4e44f4dc.d3fbac","wires":[["a1c920b0.57e32","54eaf052.a1d45"]]},{"id":"a1c920b0.57e32","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1278.0239448547363,"y":1893.675615310669,"z":"4e44f4dc.d3fbac","wires":[["bccad88.6a02328"]]},{"id":"54eaf052.a1d45","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1278.2621841430664,"y":2021.056559562683,"z":"4e44f4dc.d3fbac","wires":[["334f9686.9dd50a"]]},{"id":"bccad88.6a02328","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1430.8812141418457,"y":1892.2470817565918,"z":"4e44f4dc.d3fbac","wires":[["8e80323.5aec3d","e954ebf6.540d38"]]},{"id":"f9872f82.e6538","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n","comments":"","outputs":1,"x":1769.9291381835938,"y":2036.7709412574768,"z":"4e44f4dc.d3fbac","wires":[["63e66d57.ad35d4","47bb6c9e.5da7d4"]]},{"id":"334f9686.9dd50a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1432.786033630371,"y":2021.056559562683,"z":"4e44f4dc.d3fbac","wires":[["7ca84586.ce108c","f9872f82.e6538"]]},{"id":"7ca84586.ce108c","type":"set","name":"set variables for generating name","xml":"<set>\n<parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\n<parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />","comments":"","x":1679.929054260254,"y":1991.05659532547,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"1c84fc68.b37734","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Unable to generate VNF name\" />\n","comments":"","x":2212.786087036133,"y":2010.6278791427612,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"7fa1a5bb.63414c","type":"set","name":"set tmp.vnf-name to generated name","xml":"<set>\n<parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\n","comments":"","x":2291.214656829834,"y":2055.3421812057495,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"159fe4a1.e3dfcb","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1802.6188735961914,"y":2735.746706008911,"z":"4e44f4dc.d3fbac","wires":[["10cd1a1d.c198e6","1a70e102.4df24f"]]},{"id":"1a70e102.4df24f","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n","comments":"","outputs":1,"x":2126.9045791625977,"y":2762.3182373046875,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"10cd1a1d.c198e6","type":"set","name":"set variables for deleting name","xml":"<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n","comments":"","x":2028.3331985473633,"y":2715.175308227539,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"b587067c.c12fd8","type":"comment","name":"Unassign the VNF name","info":"","comments":"","x":1894.2855224609375,"y":2655.746808052063,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"e0c152ab.e7e04","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":914.2857818603516,"y":2922.4135060310364,"z":"4e44f4dc.d3fbac","wires":[["f16260c8.4591b","159fe4a1.e3dfcb"]]},{"id":"a42ab710.cce278","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":912.6190643310547,"y":2964.080258369446,"z":"4e44f4dc.d3fbac","wires":[["4676d832.85c178","159fe4a1.e3dfcb"]]},{"id":"b6ad7e13.cbdb8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":769.2857360839844,"y":3145.7468881607056,"z":"4e44f4dc.d3fbac","wires":[["f7a16dbf.78dcf","159fe4a1.e3dfcb"]]},{"id":"7f628377.de20fc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1060.9524230957031,"y":3235.7468881607056,"z":"4e44f4dc.d3fbac","wires":[["7fcd46cd.478d88","159fe4a1.e3dfcb"]]},{"id":"85a5708b.39733","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1620.9524421691895,"y":3389.7467555999756,"z":"4e44f4dc.d3fbac","wires":[["b5a9325f.8e06e","159fe4a1.e3dfcb"]]},{"id":"22276dbf.92cb12","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1619.2857246398926,"y":3431.413507938385,"z":"4e44f4dc.d3fbac","wires":[["91d086d5.905598","159fe4a1.e3dfcb"]]},{"id":"2fba815e.79c32e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1562.619068145752,"y":3847.4135036468506,"z":"4e44f4dc.d3fbac","wires":[["6395a483.342b9c","159fe4a1.e3dfcb"]]},{"id":"2bf16ac7.c29516","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1272.6190872192383,"y":4189.080174446106,"z":"4e44f4dc.d3fbac","wires":[["66145063.39707","159fe4a1.e3dfcb"]]},{"id":"c2464793.9ffc08","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1492.6190872192383,"y":4317.080174446106,"z":"4e44f4dc.d3fbac","wires":[["2754abb3.b85874","159fe4a1.e3dfcb"]]},{"id":"9d10abef.aa9d68","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1490.9523696899414,"y":4360.746926784515,"z":"4e44f4dc.d3fbac","wires":[["2639188b.f42278","159fe4a1.e3dfcb"]]},{"id":"672f3870.869518","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1355.9524612426758,"y":4434.080174446106,"z":"4e44f4dc.d3fbac","wires":[["32930b6a.86e284","159fe4a1.e3dfcb"]]},{"id":"6e62ccc6.dc7f34","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1354.285743713379,"y":4477.746926784515,"z":"4e44f4dc.d3fbac","wires":[["9263c515.503118","159fe4a1.e3dfcb"]]},{"id":"db6c1834.e91948","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":802.6191215515137,"y":4589.080289840698,"z":"4e44f4dc.d3fbac","wires":[["7baf675.e9c2498","159fe4a1.e3dfcb"]]},{"id":"ec9973e.c6a799","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":800.9524040222168,"y":4632.747042179108,"z":"4e44f4dc.d3fbac","wires":[["3c4d390f.0ff276","159fe4a1.e3dfcb"]]},{"id":"63e66d57.ad35d4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2068.095184326172,"y":2011.6994485855103,"z":"4e44f4dc.d3fbac","wires":[["1c84fc68.b37734"]]},{"id":"47bb6c9e.5da7d4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2072.8569297790527,"y":2057.0803594589233,"z":"4e44f4dc.d3fbac","wires":[["7fa1a5bb.63414c"]]},{"id":"3e07f67c.a7124a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":723.3332824707031,"y":1366.666666984558,"z":"4e44f4dc.d3fbac","wires":[["baf35ab4.de3628","1a10c87.b7e5338"]]},{"id":"537d84c0.249e5c","type":"for","name":"for each instance group id","xml":"<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n","comments":"","outputs":1,"x":506.66662979125977,"y":1367.333312034607,"z":"4e44f4dc.d3fbac","wires":[["3e07f67c.a7124a"]]},{"id":"baf35ab4.de3628","type":"get-resource","name":"get-resource instance-group","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"instance-group\" \n\t\tkey=\"instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\"\n pfx='aai.instance-group' local-only='false' >\n\n","comments":"","outputs":1,"x":954.6666412353516,"y":1290.0000486373901,"z":"4e44f4dc.d3fbac","wires":[["5a73dff4.a3a92","1cc3de9c.f21291"]]},{"id":"1cc3de9c.f21291","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1168.9128494262695,"y":1308.150897026062,"z":"4e44f4dc.d3fbac","wires":[["8ab060f.9d1f2a"]]},{"id":"5a73dff4.a3a92","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1177.8414459228516,"y":1266.4366302490234,"z":"4e44f4dc.d3fbac","wires":[["6cb384a2.611ddc"]]},{"id":"6cb384a2.611ddc","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Cannot find instance group id ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in AAI'`\" />\n","comments":"","x":1350.6666564941406,"y":1264.0000410079956,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"8ab060f.9d1f2a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error retrieving instance-group from AAI\" />\n","comments":"","x":1350.6666564941406,"y":1308.0000410079956,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"4cc45d68.737674","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnf.log' />\n","comments":"","outputs":1,"x":485.8095016479492,"y":2334.2858095169067,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"1a10c87.b7e5338","type":"for","name":"for each relationship","xml":"<for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\n","comments":"","outputs":1,"x":928.3332977294922,"y":1438.3333644866943,"z":"4e44f4dc.d3fbac","wires":[["334e1afb.9c1a56"]]},{"id":"334e1afb.9c1a56","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\n","comments":"","outputs":1,"x":1141.6667404174805,"y":1438.333303451538,"z":"4e44f4dc.d3fbac","wires":[["9ec622df.a4f79"]]},{"id":"9ec622df.a4f79","type":"outcome","name":"collection","xml":"<outcome value='collection'>\n","comments":"","outputs":1,"x":1313.3333778381348,"y":1438.3333854675293,"z":"4e44f4dc.d3fbac","wires":[["f0af7cfb.630f1"]]},{"id":"f0af7cfb.630f1","type":"get-resource","name":"get-resource collection","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"collection\" \n\t\tkey=\"collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\"\n pfx='aai.collection' local-only='false' >\n\n","comments":"","outputs":1,"x":1533.3332824707031,"y":1436.6666469573975,"z":"4e44f4dc.d3fbac","wires":[["5a9a2b.446c05d4","ed35d4f2.f5a3d8","86f300a3.7cafb"]]},{"id":"ed35d4f2.f5a3d8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1747.579475402832,"y":1388.1508359909058,"z":"4e44f4dc.d3fbac","wires":[["58b0fdde.ff35b4"]]},{"id":"5a9a2b.446c05d4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1756.508071899414,"y":1346.4365692138672,"z":"4e44f4dc.d3fbac","wires":[["a61328d2.f754c8"]]},{"id":"a61328d2.f754c8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Cannot find collection ' +\n $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\n + ' in AAI'`\" />\n","comments":"","x":1913.3332824707031,"y":1345.0000410079956,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"58b0fdde.ff35b4","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"System error retrieving collection from AAI\" />\n","comments":"","x":1913.3332824707031,"y":1389.0000410079956,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"86f300a3.7cafb","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1746.6666831970215,"y":1525.000012397766,"z":"4e44f4dc.d3fbac","wires":[["81df8930.31e0f8"]]},{"id":"81df8930.31e0f8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1899.9998245239258,"y":1524.3333082199097,"z":"4e44f4dc.d3fbac","wires":[["8a522d26.71257","a4f68cb7.668a2","8d0504d7.cdc028","cc147160.20bfe","3198ae9f.e95542"]]},{"id":"8a522d26.71257","type":"for","name":"for each network-instance-group","xml":"<for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n","comments":"","outputs":1,"x":2138.333168029785,"y":1475.0000562667847,"z":"4e44f4dc.d3fbac","wires":[["9063a8ee.f7faa8"]]},{"id":"a4f68cb7.668a2","type":"set","name":"set found-network-instance-group to false","xml":"<set>\n<parameter name='found-network-instance-group' value='false' />\n","comments":"","x":2168.3331298828125,"y":1428.3334283828735,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"9063a8ee.f7faa8","type":"switchNode","name":"network-instance-group-id matches?","xml":"<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n","comments":"","outputs":1,"x":2454.9996795654297,"y":1475.0000553131104,"z":"4e44f4dc.d3fbac","wires":[["98d54f6d.c932"]]},{"id":"98d54f6d.c932","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2676.666458129883,"y":1475.0000200271606,"z":"4e44f4dc.d3fbac","wires":[["a9385545.8b31c8"]]},{"id":"a9385545.8b31c8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2806.666488647461,"y":1475.000096321106,"z":"4e44f4dc.d3fbac","wires":[["85ee6cee.1bd2a","a14aee8f.5893a"]]},{"id":"85ee6cee.1bd2a","type":"set","name":"set found-network-instance-group to true","xml":"<set>\n<parameter name='found-network-instance-group' value='true' />\n","comments":"","x":3039.9996643066406,"y":1446.6667213439941,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"a14aee8f.5893a","type":"break","name":"break","xml":"<break>\n","comments":"","x":2933.333278656006,"y":1495.0000915527344,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"8d0504d7.cdc028","type":"switchNode","name":"switch found-network-instance-group","xml":"<switch test='`$found-network-instance-group`'>\n","comments":"","outputs":1,"x":2149.999786376953,"y":1525.0000371932983,"z":"4e44f4dc.d3fbac","wires":[["9189bba.faf6f48"]]},{"id":"9189bba.faf6f48","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2371.666633605957,"y":1525.0000596046448,"z":"4e44f4dc.d3fbac","wires":[["520b2234.8e265c"]]},{"id":"520b2234.8e265c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Could not find network instance group ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in MD-SAL'`\" />\n","comments":"","x":2518.333206176758,"y":1523.3333940505981,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"ed7dcd3d.7a64c","type":"set","name":"set tmp.vnf-network-collection_length to 0","xml":"<set>\n<parameter name='tmp.vnf-network-collection_length' value='0' />\n","comments":"","x":554.9999694824219,"y":1318.3334436416626,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"cc147160.20bfe","type":"set","name":"set vnf-network-collection data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\n value='`$aai.instance-group.instance-group-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\n value='`$aai.instance-group.id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\n value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\n value='`$aai.collection.collection-customization-id`' />\n","comments":"","x":2130.0001106262207,"y":1573.3333730697632,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"3198ae9f.e95542","type":"set","name":"increment tmp.vnf-network-collection_length","xml":"<set>\n<parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\n","comments":"","x":2171.666816711426,"y":1620.0000410079956,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"d4e45ae3.95e8e8","type":"set","name":"set vnf-network-collection_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\n value='`$tmp.vnf-network-collection_length`' />\n","comments":"","x":534.1666641235352,"y":1575.8333930969238,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"5602ea58.f558a4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":711.6667289733887,"y":4705.476315498352,"z":"4e44f4dc.d3fbac","wires":[["f145731.7dc939"]]},{"id":"569d159b.7974ac","type":"for","name":"for each instance group id","xml":"<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n","comments":"","outputs":1,"x":495.0000762939453,"y":4706.142960548401,"z":"4e44f4dc.d3fbac","wires":[["5602ea58.f558a4"]]},{"id":"f145731.7dc939","type":"save","name":"save generic-vnf relationship to instance-group","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"instance-group\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/instance-groups/instance-group/'\n + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`\" />\n","comments":"","outputs":1,"x":995.000057220459,"y":4704.999996185303,"z":"4e44f4dc.d3fbac","wires":[["aa364f8f.633a1","d50f251f.b38a38"]]},{"id":"2c0352e1.886b8e","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":1551.6667289733887,"y":4723.333249092102,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"aa364f8f.633a1","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1254.3572807312012,"y":4681.952411651611,"z":"4e44f4dc.d3fbac","wires":[["b6ef2322.ecde1"]]},{"id":"d50f251f.b38a38","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1262.9287109375,"y":4726.238124847412,"z":"4e44f4dc.d3fbac","wires":[["c25bd07f.ba3dc"]]},{"id":"39611e1d.841192","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating relationship in generic-vnf in AAI\" />\n","comments":"","x":1554.3573303222656,"y":4680.095512390137,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"b6ef2322.ecde1","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1407.6189651489258,"y":4681.532650947571,"z":"4e44f4dc.d3fbac","wires":[["39611e1d.841192","159fe4a1.e3dfcb"]]},{"id":"c25bd07f.ba3dc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1405.952247619629,"y":4725.19940328598,"z":"4e44f4dc.d3fbac","wires":[["2c0352e1.886b8e","159fe4a1.e3dfcb"]]},{"id":"ccd49d85.073d1","type":"switchNode","name":"switch subnet_length","xml":"<switch test='`$aai.l3-network.l3-network[0].subnets.subnet_length`'>\n","comments":"","outputs":1,"x":1263.5714988708496,"y":3968.095386505127,"z":"4e44f4dc.d3fbac","wires":[["13f8461f.02754a","4f0f1832.9d6238","4a7eee29.bdad1"]]},{"id":"13f8461f.02754a","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1436.4286613464355,"y":3930.9524459838867,"z":"4e44f4dc.d3fbac","wires":[["d7fec3a.cf03e4"]]},{"id":"4f0f1832.9d6238","type":"outcome","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":1437.8572311401367,"y":3969.523609161377,"z":"4e44f4dc.d3fbac","wires":[["d7fec3a.cf03e4"]]},{"id":"4a7eee29.bdad1","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1436.428695678711,"y":4008.095001220703,"z":"4e44f4dc.d3fbac","wires":[["7e5c1302.e8982c"]]},{"id":"7e5c1302.e8982c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1557.857250213623,"y":4008.0952682495117,"z":"4e44f4dc.d3fbac","wires":[["fe91b2bf.8c099","53c17453.f0880c"]]},{"id":"d7fec3a.cf03e4","type":"set","name":"set subnet_length to 0","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='0' />\n","comments":"","x":1629.2858543395996,"y":3939.523609161377,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"6d2f55b8.a2759c","type":"switchNode","name":"switch: sdnc-model-name && sdnc-artifact-name != null","xml":"<switch test=\"`$db.vf-model.sdnc-model-name != '' and $db.vf-model.sdnc-artifact-name != ''`\">","comments":"","outputs":1,"x":1539.8175621032715,"y":949.9999332427979,"z":"4e44f4dc.d3fbac","wires":[["6dd97b97.b67924","7c6a046e.7cc64c"]]},{"id":"6dd97b97.b67924","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1842.8889503479004,"y":922.6785984039307,"z":"4e44f4dc.d3fbac","wires":[["5b2ce020.a36b2"]]},{"id":"86ca6d15.0e146","type":"switchNode","name":"switch: param[].name","xml":"<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$p].name`\">\n","comments":"","outputs":1,"x":1053.9484024047852,"y":598.2024068832397,"z":"4e44f4dc.d3fbac","wires":[["af0da8d9.d8ece8","6b384f33.32a78"]]},{"id":"63f83908.751498","type":"for","name":"for p in vnf-input-parameters,param[]","xml":"<for silentFailure='true' index='p' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >\n","comments":"","outputs":1,"x":760.055549621582,"y":598.7024393081665,"z":"4e44f4dc.d3fbac","wires":[["86ca6d15.0e146"]]},{"id":"e3aa680f.7c2008","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1250.2581176757812,"y":949.9521970748901,"z":"4e44f4dc.d3fbac","wires":[["6d2f55b8.a2759c"]]},{"id":"542091af.e959d","type":"call","name":"call self-serve-vnf-assign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\n","comments":"","outputs":1,"x":2132.257625579834,"y":717.845365524292,"z":"4e44f4dc.d3fbac","wires":[["a34d6a59.d39c18"]]},{"id":"ecba7f02.a0e2c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id`\" />\n","comments":"","x":2516.329002380371,"y":717.8453159332275,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"7c6a046e.7cc64c","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1845.78169631958,"y":979.2856025695801,"z":"4e44f4dc.d3fbac","wires":[["ae713fba.3df7f"]]},{"id":"84263c0c.96c43","type":"set","name":"set tmp.exist.sdnc-artifact-name = true","xml":"<set>\n<parameter name='tmp.exist.sdnc-artifact-name' value='true' />","comments":"","x":1595.8413314819336,"y":648.0595769882202,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"ae12ffc.41b2a","type":"set","name":"set tmp.exist.sdnc-model-name = true","xml":"<set>\n<parameter name='tmp.exist.sdnc-model-name' value='true' />\n","comments":"","x":1592.5554389953613,"y":598.0595922470093,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"3f17b073.bbbcb","type":"switchNode","name":"switch: tmp.exist.sdnc-model-name && tmp.exist.sdnc-artifact-name == true","xml":"<switch test=\"`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.sdnc-artifact-name == 'true'`\">\n","comments":"","outputs":1,"x":877.9960327148438,"y":767.0237197875977,"z":"4e44f4dc.d3fbac","wires":[["d1f392c4.1dab8","e3aa680f.7c2008"]]},{"id":"d1f392c4.1dab8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1246.5079917907715,"y":719.1427278518677,"z":"4e44f4dc.d3fbac","wires":[["5b2ce020.a36b2"]]},{"id":"cd40e494.6d16b8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":453.65077209472656,"y":500.8691177368164,"z":"4e44f4dc.d3fbac","wires":[["63f83908.751498","3f17b073.bbbcb","e38b7cc3.75e77","806e0f23.0111b"]]},{"id":"d5dac1e.b0d824","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":442.2221984863281,"y":624.6786069869995,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"af0da8d9.d8ece8","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":1310.1269781930105,"y":598.1072013037544,"z":"4e44f4dc.d3fbac","wires":[["ae12ffc.41b2a"]]},{"id":"6b384f33.32a78","type":"outcome","name":"sdnc_artifact_name","xml":"<outcome value='sdnc_artifact_name'>\n","comments":"","outputs":1,"x":1312.9841003417969,"y":647.5357732772827,"z":"4e44f4dc.d3fbac","wires":[["84263c0c.96c43"]]},{"id":"a34d6a59.d39c18","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2337.555206298828,"y":717.3333969116211,"z":"4e44f4dc.d3fbac","wires":[["ecba7f02.a0e2c"]]},{"id":"11bf25d2.bdb8da","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":233.4126968383789,"y":234.2857322692871,"z":"4e44f4dc.d3fbac","wires":[["a0fc8588.9798e8","b32ac93e.aaa508","3e444c8d.9a16f4","cd40e494.6d16b8"]]},{"id":"b10f2375.b9afa","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1899.047706604004,"y":3986.6994638442993,"z":"4e44f4dc.d3fbac","wires":[["5bcbda97.98c4e4","3b85bc8c.02f794","e6ea74fb.9af718","f638c11c.6fd0e"]]},{"id":"cdefc051.a04bf","type":"set","name":"clear aai.l3-network","xml":"<set>\n<parameter name='aai.l3-network.' value='' />\n","comments":"","x":1257.6191520690918,"y":3359.5565824508667,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"6f9b0a93.f694a4","type":"break","name":"break","xml":"<break>\n","comments":"","x":3699.3330879211426,"y":3886.699146270752,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"be0cee42.5ab7e","type":"set","name":"set found-network to false","xml":"<set>\n<parameter name='found-network' value='false' />\n","comments":"","x":1399.047679901123,"y":3592.413550376892,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"46c88819.e15b38","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2370.7619857788086,"y":3746.6993465423584,"z":"4e44f4dc.d3fbac","wires":[["9833efbf.69304","5f2e36ac.da9228"]]},{"id":"5f2e36ac.da9228","type":"switchNode","name":"switch found-network","xml":"<switch test='`$found-network`'>\n","comments":"","outputs":1,"x":2562.190532684326,"y":3776.6994009017944,"z":"4e44f4dc.d3fbac","wires":[["66e2cd5f.2e0f04"]]},{"id":"2a1ad752.bfcd38","type":"set","name":"set found-network to true","xml":"<set>\n<parameter name='found-network' value='true' />\n","comments":"","x":3755.047966003418,"y":3840.984827041626,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"66e2cd5f.2e0f04","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2730.7620239257812,"y":3776.699330329895,"z":"4e44f4dc.d3fbac","wires":[["10d190b5.dcecdf"]]},{"id":"10d190b5.dcecdf","type":"break","name":"break","xml":"<break>\n","comments":"","x":2860.762092590332,"y":3775.27072429657,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"45b722b6.db776c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1571.0477027893066,"y":3720.4136247634888,"z":"4e44f4dc.d3fbac","wires":[["2b805935.a35cb6","c7e830d3.e9283"]]},{"id":"c7e830d3.e9283","type":"switchNode","name":"switch found-network","xml":"<switch test='`$found-network`'>\n","comments":"","outputs":1,"x":1781.0476570129395,"y":3792.413508415222,"z":"4e44f4dc.d3fbac","wires":[["24156eb7.6d1de2"]]},{"id":"24156eb7.6d1de2","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1949.6191482543945,"y":3792.4134378433228,"z":"4e44f4dc.d3fbac","wires":[["25a3a86e.400be8"]]},{"id":"25a3a86e.400be8","type":"break","name":"break","xml":"<break>\n","comments":"","x":2079.6192169189453,"y":3790.9848318099976,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"e38b7cc3.75e77","type":"set","name":"initialize tmp.exist.sdnc-model-name && tmp.exist.sdnc-artifact-name = false","xml":"<set>\n<parameter name='tmp.exist.sdnc-model-name' value='false' />\n<parameter name='tmp.exist.sdnc-artifact-name' value='false' />","comments":"","x":880.1429061889648,"y":501.33330821990967,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"fb1b0696.2b0118","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":2098.666561126709,"y":879.9999332427979,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"893e0d25.a86ef","type":"set","name":"set vnf-level-oper-status to PendingCreate","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n","comments":"","x":2188.480007171631,"y":782.3374137878418,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"f4cb36d0.800108","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n","comments":"","outputs":1,"x":2093.5712890625,"y":828.7771825790405,"z":"4e44f4dc.d3fbac","wires":[[]]},{"id":"5b2ce020.a36b2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1899.6664695739746,"y":718.3333206176758,"z":"4e44f4dc.d3fbac","wires":[["542091af.e959d","893e0d25.a86ef","f4cb36d0.800108","fb1b0696.2b0118"]]},{"id":"e6ea74fb.9af718","type":"set","name":"set subnet data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\n value='`$tmp.ip-version`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\n","comments":"","x":2053.3334732055664,"y":4017.3812103271484,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"f638c11c.6fd0e","type":"switchNode","name":"switch dhcp-enabled","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\n","comments":"","outputs":1,"x":2067.8572540283203,"y":4070.2241640090942,"z":"4e44f4dc.d3fbac","wires":[["1616a214.4d52fe","6cb55598.b5519c"]]},{"id":"1616a214.4d52fe","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2230.714418683733,"y":4048.795521736145,"z":"4e44f4dc.d3fbac","wires":[["9228e480.6386e8"]]},{"id":"6cb55598.b5519c","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2229.2857513427734,"y":4094.5099477767944,"z":"4e44f4dc.d3fbac","wires":[["10fd862a.7096da"]]},{"id":"9228e480.6386e8","type":"set","name":"set dhcp-enabled to Y","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='Y' />\n","comments":"","x":2403.571617126465,"y":4047.3669176101685,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"10fd862a.7096da","type":"set","name":"set dhcp-enabled to N","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='N' />\n","comments":"","x":2400.714385986328,"y":4094.5099477767944,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"5bcbda97.98c4e4","type":"switchNode","name":"switch subnet-role","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\n","comments":"","outputs":1,"x":2068.333423614502,"y":3899.2718362808228,"z":"4e44f4dc.d3fbac","wires":[["2f3e4a5d.7c3b36"]]},{"id":"2f3e4a5d.7c3b36","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":2235.000026702881,"y":3899.2714881896973,"z":"4e44f4dc.d3fbac","wires":[["24afcaa5.1defa6"]]},{"id":"24afcaa5.1defa6","type":"set","name":"set subnet-role to NONE","xml":"<set>\n<parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\n","comments":"","x":2416.6668128967285,"y":3898.605140686035,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"3b85bc8c.02f794","type":"switchNode","name":"switch ip-version","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\n","comments":"","outputs":1,"x":2063.5717582702637,"y":3963.762942314148,"z":"4e44f4dc.d3fbac","wires":[["1c2233e9.20214c","e680d1ed.d7f9c"]]},{"id":"1c2233e9.20214c","type":"outcome","name":"4","xml":"<outcome value='4'>\n","comments":"","outputs":1,"x":2229.285900115967,"y":3945.191339492798,"z":"4e44f4dc.d3fbac","wires":[["f01b1452.dd9f88"]]},{"id":"e680d1ed.d7f9c","type":"outcome","name":"6","xml":"<outcome value='6'>\n","comments":"","outputs":1,"x":2229.285861968994,"y":3986.6200828552246,"z":"4e44f4dc.d3fbac","wires":[["319040e.ea0d5c"]]},{"id":"f01b1452.dd9f88","type":"set","name":"set tmp.ip-version to ipv4","xml":"<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n","comments":"","x":2416.428665161133,"y":3944.3342666625977,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"319040e.ea0d5c","type":"set","name":"set tmp.ip-version to ipv6","xml":"<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n","comments":"","x":2415.000217437744,"y":3986.6200847625732,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"806e0f23.0111b","type":"switchNode","name":"switch: vnf-input-parameters.param_length","xml":"<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`\">\n","comments":"","outputs":1,"x":778.5714645385742,"y":547.1428127288818,"z":"4e44f4dc.d3fbac","wires":[["f780fd19.5435b"]]},{"id":"f780fd19.5435b","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1042.1428833007812,"y":547.4285526275635,"z":"4e44f4dc.d3fbac","wires":[["7fdf9810.65be18"]]},{"id":"7fdf9810.65be18","type":"set","name":"set vnf-input-parameters.param_length = 0","xml":"<set>\n<parameter name='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length' value='0' />\n","comments":"","x":1315.8571243286133,"y":547.2857141494751,"z":"4e44f4dc.d3fbac","wires":[]},{"id":"ed4c9615.d61838","type":"switchNode","name":"switch network-role","xml":"<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n","comments":"","outputs":1,"x":719.9999656677246,"y":3700.0000677108765,"z":"4e44f4dc.d3fbac","wires":[["43bb48c2.19f5b8","be93f82a.71aa68"]]},{"id":"43bb48c2.19f5b8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":886.666561126709,"y":3668.333317756653,"z":"4e44f4dc.d3fbac","wires":[["1443f6c4.ddb499"]]},{"id":"be93f82a.71aa68","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":886.6666069030762,"y":3726.666666984558,"z":"4e44f4dc.d3fbac","wires":[["7b16dda0.235334"]]},{"id":"1443f6c4.ddb499","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1018.3333129882812,"y":3666.66650390625,"z":"4e44f4dc.d3fbac","wires":[[]]}] \ No newline at end of file
+[{"id":"bd533109.36b09","type":"dgstart","name":"DGSTART","outputs":1,"x":113.33332824707031,"y":80,"z":"e8ec1b5b.25eae8","wires":[["eea443c9.7f4b1"]]},{"id":"eea443c9.7f4b1","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":228.61903381347656,"y":121.9047794342041,"z":"e8ec1b5b.25eae8","wires":[["dd75c958.b8a758"]]},{"id":"dd75c958.b8a758","type":"method","name":"method vnf-topology-operation-assign","xml":"<method rpc='vnf-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":201.4286346435547,"y":164.66666316986084,"z":"e8ec1b5b.25eae8","wires":[["d1a098.413fcf68"]]},{"id":"3048fe80.9e8832","type":"comment","name":"vnf-topology-operation-assign","info":"","comments":"","x":489.34485626220703,"y":29.25300407409668,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"59a1abf1.362d04","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":499.7142791748047,"y":313.14283180236816,"z":"e8ec1b5b.25eae8","wires":[["58d8d753.dd0b78","d4ec3d98.8441c"]]},{"id":"58d8d753.dd0b78","type":"outcome","name":"CreateVnfInstance","xml":"<outcome value='CreateVnfInstance'>\n","comments":"","outputs":1,"x":753.4285736083984,"y":290.2857131958008,"z":"e8ec1b5b.25eae8","wires":[["a5cb5b34.79eef8"]]},{"id":"d4ec3d98.8441c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":715.428539276123,"y":336.0000410079956,"z":"e8ec1b5b.25eae8","wires":[["b30617c9.3367f8"]]},{"id":"a5cb5b34.79eef8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":938.285701751709,"y":290.2857427597046,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"b30617c9.3367f8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVnfInstance'\" />\n","comments":"","x":955.4285469055176,"y":335.9999990463257,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"6b5bbadc.1a2bd4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":171.07147216796875,"y":3362.0238666534424,"z":"e8ec1b5b.25eae8","wires":[["182d9210.b4f38e","eb062562.bf7758","3fee4c4a.3c8f34","9122a08b.bf42c","31806942.711086","9354e0a.a1a222","c6f4cc14.4d496","78800fc6.84567","ce71f4aa.7dac08","97cb616b.1e662","dec93423.1c7818","c59dce42.ffa6","f35286c9.aba228","d8275d1a.a267b","3efc5bf7.1fbca4","1b685163.16a0df","71880bcd.293be4","a3b29906.9a3a48","444bd395.45fd6c","319a19de.096916","3738d864.8488b8","3d62856f.0bfdaa","3f904e84.236ac2","2f6ee8ac.d68678","e52b4fda.5c0c9","44b4e6e0.efb408","5419c426.25e3dc","7ac2119a.6a992","80da69e6.2e40f8","1736d58c.861d3a","53d39bcb.6061e4","de66456a.ee6e38","58179bd9.e06a74","4f148391.ee5fec"]]},{"id":"55463f33.2c23d","type":"get-resource","name":"get-resource VF_MODEL","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n","comments":"","outputs":1,"x":512.0475845336914,"y":404.285701751709,"z":"e8ec1b5b.25eae8","wires":[["bb249ae.0065668","a1041a8c.6b6298"]]},{"id":"c6dbca37.6ee8e8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n","comments":"","x":953.4760627746582,"y":427.7141876220703,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"bb249ae.0065668","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":712.8332824707031,"y":384.6665391921997,"z":"e8ec1b5b.25eae8","wires":[["be37c095.bab27"]]},{"id":"a1041a8c.6b6298","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":721.404712677002,"y":428.9522523880005,"z":"e8ec1b5b.25eae8","wires":[["c6dbca37.6ee8e8"]]},{"id":"be37c095.bab27","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n","comments":"","x":952.8332633972168,"y":382.80944633483887,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"182d9210.b4f38e","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":545.7142486572266,"y":1155.238136291504,"z":"e8ec1b5b.25eae8","wires":[["dcafdf04.e519f","7838bfc2.94cd1"]]},{"id":"dcafdf04.e519f","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":771.4285774230957,"y":1122.3809242248535,"z":"e8ec1b5b.25eae8","wires":[["2f061d23.3fb7a2"]]},{"id":"2f061d23.3fb7a2","type":"set","name":"set vnf-index=0","xml":"<set>\n<parameter name='vnf-index' value='0' />\n","comments":"","x":935.714298248291,"y":1121.3810024261475,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"7838bfc2.94cd1","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":772.8571395874023,"y":1186.666742324829,"z":"e8ec1b5b.25eae8","wires":[["d258b34c.c5851"]]},{"id":"706d6548.bc302c","type":"set","name":"set vnf-index = vnf_length","xml":"<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n","comments":"","x":1111.7142944335938,"y":1164.9524307250977,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"8c19b083.e47a6","type":"for","name":"for each existing VNF","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1097.142807006836,"y":1210.9523696899414,"z":"e8ec1b5b.25eae8","wires":[["2f9273.624d7d8e"]]},{"id":"d258b34c.c5851","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":908.5713996887207,"y":1186.6667079925537,"z":"e8ec1b5b.25eae8","wires":[["706d6548.bc302c","8c19b083.e47a6"]]},{"id":"2f9273.624d7d8e","type":"switchNode","name":"switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n","comments":"","outputs":1,"x":1451.4285736083984,"y":1210.5238494873047,"z":"e8ec1b5b.25eae8","wires":[["8c465f38.464ce"]]},{"id":"8c465f38.464ce","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1745.7143287658691,"y":1210.0953340530396,"z":"e8ec1b5b.25eae8","wires":[["3b57c25a.0dc1de"]]},{"id":"3b57c25a.0dc1de","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists'`\" />\n","comments":"","x":1894.2856903076172,"y":1210.0952816009521,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"b36e4404.7a83c8","type":"comment","name":"make sure this VNF doesn't exist already","info":"","comments":"","x":1438.571304321289,"y":1168.0952796936035,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"eb062562.bf7758","type":"set","name":"set vnf-topology data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n","comments":"","x":511.4285316467285,"y":1686.9049034118652,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"3fee4c4a.3c8f34","type":"switchNode","name":"switch input vnf-name","xml":"<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-name`'>\n","comments":"","outputs":1,"x":523.9285507202148,"y":2049.0239610671997,"z":"e8ec1b5b.25eae8","wires":[["5fd3dc86.42fc34","442a1f5a.45f7d"]]},{"id":"9122a08b.bf42c","type":"get-resource","name":"get-resource cloud region","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\n\t\t depth='all'\"\n pfx='aai.cloud-region' local-only='false' >\n\n","comments":"","outputs":1,"x":556.0714950561523,"y":2945.023696899414,"z":"e8ec1b5b.25eae8","wires":[["c640673a.363ec8","f4fbd63e.8951c8"]]},{"id":"f4fbd63e.8951c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":781.3176879882812,"y":2963.1745529174805,"z":"e8ec1b5b.25eae8","wires":[["c71217d7.fa2678"]]},{"id":"3c459053.24905","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":1082.984359741211,"y":2963.174570083618,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"c640673a.363ec8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":790.2462844848633,"y":2921.460286140442,"z":"e8ec1b5b.25eae8","wires":[["68d0d255.f3c4dc"]]},{"id":"c6e9688d.5e1bd8","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":1083.2622604370117,"y":2920.765844345093,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"31806942.711086","type":"get-resource","name":"get-resource VF_TO_NETWORK_ROLE_MAPPING","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-network-role-mapping[]'>\n\n","comments":"","outputs":1,"x":621.3095779418945,"y":3256.071216583252,"z":"e8ec1b5b.25eae8","wires":[["274b1aa.42af3e6","ed75e9c6.9b1188"]]},{"id":"274b1aa.42af3e6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":917.0952491760254,"y":3234.7853813171387,"z":"e8ec1b5b.25eae8","wires":[["b6c05c7e.f22dc"]]},{"id":"ed75e9c6.9b1188","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":925.6666793823242,"y":3279.0710945129395,"z":"e8ec1b5b.25eae8","wires":[["2c1195fd.44baca"]]},{"id":"1bfa425.654c0be","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_TO_NETWORK_ROLE_MAPPING table\" />\n","comments":"","x":1233.7618732452393,"y":3234.5951137542725,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"de751662.485548","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1028.9049835205078,"y":3999.3804264068604,"z":"e8ec1b5b.25eae8","wires":[["672cde72.1b0a1","a529793b.26d8a8","79f514cd.dc546c","a766e419.ba97a8","6ca7130b.1eeb1c","4234ff71.2baba","56c99275.ec16cc","760fe2dd.1dfb2c","a2979752.466c68"]]},{"id":"79f514cd.dc546c","type":"get-resource","name":"get-resource l3-network","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"l3-networks\" \n\t\tkey=\"l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role\"\n pfx='aai.l3-network' local-only='false'\n>\n","comments":"","outputs":1,"x":1285.7620582580566,"y":3408.3330307006836,"z":"e8ec1b5b.25eae8","wires":[["9fd4d6bd.8024e8","eb2240a2.6bbf1"]]},{"id":"eb2240a2.6bbf1","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1489.809772491455,"y":3430.4758701324463,"z":"e8ec1b5b.25eae8","wires":[["f0b29bbe.b8cf88"]]},{"id":"1eb7d025.3b3fa","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error retrieving l3-network from AAI\" />\n","comments":"","x":1804.8098030090332,"y":3430.8092136383057,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"9fd4d6bd.8024e8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1498.738368988037,"y":3388.7616033554077,"z":"e8ec1b5b.25eae8","wires":[["87d839b8.bf24e8"]]},{"id":"cdbfce71.266e5","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No active l3-network found in AAI with cloud_region_id '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '\n + $db.vf-network-role-mapping[$network-index].network-role`\" />\n","comments":"","x":1803.4209985733032,"y":3389.7337398529053,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"672cde72.1b0a1","type":"set","name":"set vnf-network data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\n value='`$db.vf-network-role-mapping[$role-index].network-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\n value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\n value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\n value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\n value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\n","comments":"","x":1274.9526481628418,"y":3895.3332738876343,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"ce71f4aa.7dac08","type":"for","name":"for each cloud-region availability zone","xml":"<for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\n","comments":"","outputs":1,"x":495.3336868286133,"y":5142.452251434326,"z":"e8ec1b5b.25eae8","wires":[["4817a39b.72d80c"]]},{"id":"b6053898.925798","type":"set","name":"set availability-zone","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\n value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\n","comments":"","x":957.0003700256348,"y":5111.785665512085,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"97cb616b.1e662","type":"set","name":"set vnf-parameters-data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n","comments":"","x":454.9526138305664,"y":4992.404611587524,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"d490850.5f8c778","type":"save","name":"save generic-vnf l3-network relationships","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`\" />\n","comments":"","outputs":1,"x":921.5241470336914,"y":5286.214464187622,"z":"e8ec1b5b.25eae8","wires":[["9daac0d6.cc6e7","5c14f9f7.cc57b8"]]},{"id":"f35286c9.aba228","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":414.7621612548828,"y":5751.832854270935,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"c59dce42.ffa6","type":"set","name":"set vnf-level-oper-status to PendingCreate","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n","comments":"","x":504.5756072998047,"y":5654.170334815979,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"c6f4cc14.4d496","type":"for","name":"for each network-role","xml":"<for index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>","comments":"","outputs":1,"x":488.9049186706543,"y":3972.7140951156616,"z":"e8ec1b5b.25eae8","wires":[["f2648fe0.20797"]]},{"id":"9354e0a.a1a222","type":"set","name":"set network-index = 0","xml":"<set>\n<parameter name='network-index' value='0' />\n","comments":"","x":523.7380752563477,"y":3310.119010925293,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"a529793b.26d8a8","type":"set","name":"increment network-index","xml":"<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n","comments":"","x":1256.95263671875,"y":4943.09521484375,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"78800fc6.84567","type":"set","name":"set vnf-network_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\n value='`$network-index`' />\n","comments":"","x":453.80970001220703,"y":4942.404655456543,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"dec93423.1c7818","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":420.0954360961914,"y":5601.8331661224365,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"d8275d1a.a267b","type":"for","name":"for each vnf-network","xml":"<for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n","comments":"","outputs":1,"x":444.52405548095703,"y":5285.214380264282,"z":"e8ec1b5b.25eae8","wires":[["f4852e33.89f31"]]},{"id":"f4852e33.89f31","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":648.1906967163086,"y":5285.214341163635,"z":"e8ec1b5b.25eae8","wires":[["d490850.5f8c778"]]},{"id":"3efc5bf7.1fbca4","type":"set","name":"set new vnf_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n","comments":"","x":494.35717010498047,"y":1207.2620267868042,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"1b685163.16a0df","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":568.9286193847656,"y":3032.2618684768677,"z":"e8ec1b5b.25eae8","wires":[["3e7008bf.f77fb8"]]},{"id":"3e7008bf.f77fb8","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n","comments":"","outputs":1,"x":816.6071624755859,"y":3032.0117979049683,"z":"e8ec1b5b.25eae8","wires":[["419be9bd.3772b8"]]},{"id":"419be9bd.3772b8","type":"outcome","name":"complex","xml":"<outcome value='complex'>\n","comments":"","outputs":1,"x":986.0714836120605,"y":3031.4046201705933,"z":"e8ec1b5b.25eae8","wires":[["9dd085a5.9125b8"]]},{"id":"ac1dc8b5.1c2c08","type":"set","name":"set aic-clli","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n","comments":"","x":1306.7857818603516,"y":3031.071277618408,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"71880bcd.293be4","type":"switchNode","name":"switch aic-clli","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\n","comments":"","outputs":1,"x":501.97624588012695,"y":3145.357000350952,"z":"e8ec1b5b.25eae8","wires":[["c19aa1c7.7f5f4"]]},{"id":"c19aa1c7.7f5f4","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":650.1190795898438,"y":3145.3569831848145,"z":"e8ec1b5b.25eae8","wires":[["c4e8bad2.09bd68"]]},{"id":"33aec73b.cce3a8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n","comments":"","x":940.595272064209,"y":3146.5950288772583,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"8a5e4fd2.9fdbd","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n","comments":"","x":928.4287910461426,"y":2504.2142572402954,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"ec6c8a23.634f28","type":"for","name":"for each l3-network","xml":"<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\n","comments":"","outputs":1,"x":1395.2146263122559,"y":3719.90465259552,"z":"e8ec1b5b.25eae8","wires":[["a76e5ba0.e05798"]]},{"id":"47c50243.5c9d6c","type":"switchNode","name":"switch orchestration-status","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n","comments":"","outputs":1,"x":1813.7857971191406,"y":3654.4761171340942,"z":"e8ec1b5b.25eae8","wires":[["c4da1b38.6556c8","f954130e.07bec","d8942898.40ee28","fa30ada7.b8b82","f15951a3.155c8"]]},{"id":"c4da1b38.6556c8","type":"outcome","name":"Pending Delete","xml":"<outcome value='Pending Delete'>\n","comments":"","outputs":1,"x":2054.452667236328,"y":3696.1426210403442,"z":"e8ec1b5b.25eae8","wires":[["5dbe3952.b23ab8"]]},{"id":"f954130e.07bec","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2027.3098068237305,"y":3747.142601966858,"z":"e8ec1b5b.25eae8","wires":[["3e825b72.92f604"]]},{"id":"1232d671.cdc82a","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\n","comments":"","outputs":1,"x":2563.0241088867188,"y":3692.380518913269,"z":"e8ec1b5b.25eae8","wires":[["3d0e0dda.5ff862","4a3685d2.0b6dec"]]},{"id":"3e825b72.92f604","type":"for","name":"for each relationship","xml":"<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\n","comments":"","outputs":1,"x":2197.3097190856934,"y":3746.713978767395,"z":"e8ec1b5b.25eae8","wires":[["ae76c6a1.158798"]]},{"id":"3d0e0dda.5ff862","type":"outcome","name":"cloud-region","xml":"<outcome value='cloud-region'>\n","comments":"","outputs":1,"x":2737.3098945617676,"y":3715.285343170166,"z":"e8ec1b5b.25eae8","wires":[["dc39f94c.84f728"]]},{"id":"dc39f94c.84f728","type":"for","name":"for each relationship data","xml":"<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n","comments":"","outputs":1,"x":2934.45259475708,"y":3715.7138109207153,"z":"e8ec1b5b.25eae8","wires":[["a3f7f18f.c8f64"]]},{"id":"a3f7f18f.c8f64","type":"switchNode","name":"switch relationship-key","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n","comments":"","outputs":1,"x":3165.8811950683594,"y":3715.285185813904,"z":"e8ec1b5b.25eae8","wires":[["bbef0ba5.f3c078"]]},{"id":"bbef0ba5.f3c078","type":"outcome","name":"cloud-region.cloud-region-id","xml":"<outcome value='cloud-region.cloud-region-id'>\n","comments":"","outputs":1,"x":3407.3097610473633,"y":3715.2852821350098,"z":"e8ec1b5b.25eae8","wires":[["e8ac5f5d.f1673"]]},{"id":"e8ac5f5d.f1673","type":"switchNode","name":"switch relationship-value == cloud-region-id","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n","comments":"","outputs":1,"x":3711.5956802368164,"y":3715.1423377990723,"z":"e8ec1b5b.25eae8","wires":[["debc9e54.9f827"]]},{"id":"debc9e54.9f827","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3416.595817565918,"y":3832.785291671753,"z":"e8ec1b5b.25eae8","wires":[["b30075b1.232678"]]},{"id":"a766e419.ba97a8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1231.428798675537,"y":3651.19029712677,"z":"e8ec1b5b.25eae8","wires":[["ec6c8a23.634f28","58b0e.d80c54f24"]]},{"id":"6ca7130b.1eeb1c","type":"set","name":"set l3-network-id = -1","xml":"<set>\n<parameter name='l3-network-id' value='-1' />\n","comments":"","x":1275.7621574401855,"y":3523.0949506759644,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"b30075b1.232678","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3562.42879486084,"y":3832.2614002227783,"z":"e8ec1b5b.25eae8","wires":[["3cb11bd0.1c4c94","ffa30adb.733078","97c14cfc.3ab92"]]},{"id":"3cb11bd0.1c4c94","type":"set","name":"set l3-network-id = this l3-network","xml":"<set>\n<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n","comments":"","x":3797.6667976379395,"y":3794.404369354248,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"4234ff71.2baba","type":"switchNode","name":"switch l3-network-id","xml":"<switch test='`$l3-network-id`'>\n","comments":"","outputs":1,"x":1272.7620811462402,"y":3846.761992454529,"z":"e8ec1b5b.25eae8","wires":[["f6d53c26.af9fc"]]},{"id":"f6d53c26.af9fc","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":1442.7620315551758,"y":3846.761748313904,"z":"e8ec1b5b.25eae8","wires":[["3b7d0897.e268d8"]]},{"id":"1a86e753.589449","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n","comments":"","x":1726.0953941345215,"y":3846.7619972229004,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"a3b29906.9a3a48","type":"switchNode","name":"switch input model-invariant-uuid","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n","comments":"","outputs":1,"x":572.2858657836914,"y":2527.038701057434,"z":"e8ec1b5b.25eae8","wires":[["52facf63.344cc","757f938e.e8acec"]]},{"id":"52facf63.344cc","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":777.9525375366211,"y":2504.181664466858,"z":"e8ec1b5b.25eae8","wires":[["8a5e4fd2.9fdbd"]]},{"id":"757f938e.e8acec","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":779.3811340332031,"y":2548.467255592346,"z":"e8ec1b5b.25eae8","wires":[["a5625b0a.01ab48"]]},{"id":"a5625b0a.01ab48","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n","comments":"","x":933.6668701171875,"y":2547.895827770233,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"a1ed9ba9.dbb3e8","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n","comments":"","x":929.3810615539551,"y":2592.7529335021973,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"444bd395.45fd6c","type":"switchNode","name":"switch input model-uuid","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n","comments":"","outputs":1,"x":544.9048843383789,"y":2615.577438354492,"z":"e8ec1b5b.25eae8","wires":[["ce4b6ca4.8d23c","432a094d.0cd948"]]},{"id":"ce4b6ca4.8d23c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":778.904857635498,"y":2592.7203702926636,"z":"e8ec1b5b.25eae8","wires":[["a1ed9ba9.dbb3e8"]]},{"id":"432a094d.0cd948","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":780.3334541320801,"y":2637.005961418152,"z":"e8ec1b5b.25eae8","wires":[["a620429c.cc462"]]},{"id":"a620429c.cc462","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n","comments":"","x":934.6191902160645,"y":2636.434533596039,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"39a7e7d2.d067c8","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n","comments":"","x":926.5239944458008,"y":2681.610140800476,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"319a19de.096916","type":"switchNode","name":"switch input model-version","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n","comments":"","outputs":1,"x":553.0477561950684,"y":2704.434585571289,"z":"e8ec1b5b.25eae8","wires":[["c0174a9a.29d428","df8cba64.d73a18"]]},{"id":"c0174a9a.29d428","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":776.0477409362793,"y":2681.5775480270386,"z":"e8ec1b5b.25eae8","wires":[["39a7e7d2.d067c8"]]},{"id":"df8cba64.d73a18","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":777.4763374328613,"y":2725.863139152527,"z":"e8ec1b5b.25eae8","wires":[["1bd83007.61c8a"]]},{"id":"1bd83007.61c8a","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n","comments":"","x":931.7620735168457,"y":2725.291711330414,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"844ce787.5c9458","type":"set","name":"set from DB","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n","comments":"","x":926.5239944458008,"y":2768.752963066101,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"3738d864.8488b8","type":"switchNode","name":"switch input model-name","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n","comments":"","outputs":1,"x":548.0477561950684,"y":2791.577407836914,"z":"e8ec1b5b.25eae8","wires":[["d8f66bbd.90ede8","a564dfff.e4fd7"]]},{"id":"d8f66bbd.90ede8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":776.0477409362793,"y":2768.7203702926636,"z":"e8ec1b5b.25eae8","wires":[["844ce787.5c9458"]]},{"id":"a564dfff.e4fd7","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":777.4763374328613,"y":2813.005961418152,"z":"e8ec1b5b.25eae8","wires":[["5b0c176a.5faf18"]]},{"id":"5b0c176a.5faf18","type":"set","name":"set from input","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n","comments":"","x":931.7620735168457,"y":2812.434533596039,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"5dbe3952.b23ab8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2207.666759490967,"y":3696.9194984436035,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"f15951a3.155c8","type":"outcome","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":2052.3334007263184,"y":3651.919412612915,"z":"e8ec1b5b.25eae8","wires":[["c0724856.a71678"]]},{"id":"c0724856.a71678","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2207.547492980957,"y":3652.6962900161743,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"fa30ada7.b8b82","type":"outcome","name":"Pending Create","xml":"<outcome value='Pending Create'>\n","comments":"","outputs":1,"x":2054.3334007263184,"y":3608.585916519165,"z":"e8ec1b5b.25eae8","wires":[["c5efdeea.cd813"]]},{"id":"c5efdeea.cd813","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2207.547492980957,"y":3609.3627939224243,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"d8942898.40ee28","type":"outcome","name":"PendingCreate","xml":"<outcome value='PendingCreate'>\n","comments":"","outputs":1,"x":2054.3334007263184,"y":3565.25266456604,"z":"e8ec1b5b.25eae8","wires":[["1111200a.a57cf"]]},{"id":"1111200a.a57cf","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2207.547492980957,"y":3566.0295419692993,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"b8d1c104.c80f","type":"for","name":"for each A&AI subnet","xml":"<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[0].subnets.subnet_length`' >\n","comments":"","outputs":1,"x":1740.714427947998,"y":3985.966833591461,"z":"e8ec1b5b.25eae8","wires":[["20a3dcc9.d2c414"]]},{"id":"3bae4397.366dcc","type":"set","name":"set subnet_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[0].subnets.subnet_length`' />\n","comments":"","x":1729.3809928894043,"y":4030.9669156074524,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"3d62856f.0bfdaa","type":"set","name":"set availability-zones.max-count and length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\n value='`$db.vf-model.avail-zone-max-count`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\n value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\n","comments":"","x":515.0001907348633,"y":5230.467719078064,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"3f904e84.236ac2","type":"set","name":"set vnf-name","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\n value='`$tmp.vnf-name`' />\n","comments":"","x":509.1666793823242,"y":2461.086464881897,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"2f6ee8ac.d68678","type":"save","name":"update generic-vnf","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vnf-name\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`\" />\n<parameter name=\"prov-status\" value=\"PREPROV\" />\n<!-- <parameter name=\"operational-status\" value=\"out-of-service-path\" /> -->\n<parameter name=\"equipment-role\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`\" />\n<parameter name=\"model-invariant-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"selflink\" value=\"`$vnf-object-path`\" />\n","comments":"","outputs":1,"x":435.33345794677734,"y":5440.13348197937,"z":"e8ec1b5b.25eae8","wires":[["1469ffef.b97ab","cf13876.3aba878"]]},{"id":"e52b4fda.5c0c9","type":"set","name":"set vnf-object-path","xml":"<set>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n","comments":"","x":435.33349609375,"y":5370.133964538574,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"44b4e6e0.efb408","type":"set","name":"set vnf-id","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n","comments":"","x":497.5000228881836,"y":2412.753007888794,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"5419c426.25e3dc","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnf.log' />\n","comments":"","outputs":1,"x":409.6668891906738,"y":5700.610103607178,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"49551691.bbef28","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":1472.000301361084,"y":5306.8003787994385,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"9daac0d6.cc6e7","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1171.3575019836426,"y":5263.753039360046,"z":"e8ec1b5b.25eae8","wires":[["74b80d0f.921a74"]]},{"id":"5c14f9f7.cc57b8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1179.9289321899414,"y":5308.038752555847,"z":"e8ec1b5b.25eae8","wires":[["bb7cb44a.c7ff88"]]},{"id":"4a2656de.07a658","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":1474.6908950805664,"y":5263.56258392334,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"5c3a26db.6eb788","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":907.0002365112305,"y":5460.13391494751,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"1469ffef.b97ab","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":609.690788269043,"y":5418.753077507019,"z":"e8ec1b5b.25eae8","wires":[["3a6f52f3.f232ee"]]},{"id":"cf13876.3aba878","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":618.2622184753418,"y":5463.03879070282,"z":"e8ec1b5b.25eae8","wires":[["db3535b7.755d98"]]},{"id":"9e7ab673.481848","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating selflink in generic-vnf in AAI\" />\n","comments":"","x":909.6908302307129,"y":5416.896120071411,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"7ac2119a.6a992","type":"set","name":"set model-customization-uuid","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n","comments":"","x":560.8333435058594,"y":2864.419611930847,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"9171d9a.b0de928","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":1326.1666412353516,"y":2985.8331956863403,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"9dd085a5.9125b8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1145.8333435058594,"y":3032.4999837875366,"z":"e8ec1b5b.25eae8","wires":[["9171d9a.b0de928","ac1dc8b5.1c2c08","9cde0ff0.f5cae"]]},{"id":"9cde0ff0.f5cae","type":"break","name":"break","xml":"<break>\n","comments":"","x":1295.8333053588867,"y":3075.8332805633545,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"4817a39b.72d80c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":747.000129699707,"y":5141.547835350037,"z":"e8ec1b5b.25eae8","wires":[["b6053898.925798","24c70532.2ad6da"]]},{"id":"24c70532.2ad6da","type":"save","name":"save generic-vnf availability-zone relationship","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"availability-zone\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.cloud-region.cloud-owner`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"availability-zone.availability-zone-name\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`\" />\n","comments":"","outputs":1,"x":1040.3335189819336,"y":5164.881289482117,"z":"e8ec1b5b.25eae8","wires":[["5b50bcaf.249204","38b632d2.0a49ee"]]},{"id":"498cd8cb.c2fad8","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":1597.4761810302734,"y":5188.800618171692,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"5b50bcaf.249204","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1305.1667709350586,"y":5145.753111839294,"z":"e8ec1b5b.25eae8","wires":[["1b072689.100669"]]},{"id":"38b632d2.0a49ee","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1313.7382011413574,"y":5190.038825035095,"z":"e8ec1b5b.25eae8","wires":[["d98ded51.32dd2"]]},{"id":"5bde5903.f7e3d8","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":1600.1667747497559,"y":5145.562823295593,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"2c1195fd.44baca","type":"set","name":"set mapping rows to 0","xml":"<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n","comments":"","x":1119.6428146362305,"y":3278.6905822753906,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"80da69e6.2e40f8","type":"switchNode","name":"switch AAI availability-zone_length","xml":"<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n","comments":"","outputs":1,"x":487.71441650390625,"y":5045.357421875,"z":"e8ec1b5b.25eae8","wires":[["ae28bb3a.052268"]]},{"id":"ae28bb3a.052268","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":706.2858352661133,"y":5044.928831100464,"z":"e8ec1b5b.25eae8","wires":[["897b7391.5ce06"]]},{"id":"fb50ff9c.15485","type":"set","name":"set availability-zone_length to 0","xml":"<set>\n<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\n","comments":"","x":1307.7144775390625,"y":5063.500068664551,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"897b7391.5ce06","type":"switchNode","name":"switch AZ max count > 0","xml":"<switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>\n","comments":"","outputs":1,"x":894.857307434082,"y":5045.357142925262,"z":"e8ec1b5b.25eae8","wires":[["631ac6af.f1eb88","546f88fc.5cb138"]]},{"id":"631ac6af.f1eb88","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1097.7144145965576,"y":5019.642892837524,"z":"e8ec1b5b.25eae8","wires":[["9680f49c.f15f48"]]},{"id":"546f88fc.5cb138","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1099.1430358886719,"y":5063.928640365601,"z":"e8ec1b5b.25eae8","wires":[["fb50ff9c.15485"]]},{"id":"50f7d234.754b5c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No availability zones found in AAI for cloud region '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n","comments":"","x":1389.142921447754,"y":5017.690585136414,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"723f0c68.e4a634","type":"execute","name":"execute PropertiesNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":505.95240020751953,"y":253.09524726867676,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"5fd3dc86.42fc34","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":725.9523696899414,"y":1862.5000114440918,"z":"e8ec1b5b.25eae8","wires":[["68b699c9.b709e8"]]},{"id":"d41ae7b0.2c2728","type":"switchNode","name":"switch ecomp-naming","xml":"<switch test='`$db.vf-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1103.5717582702637,"y":1763.2144479751587,"z":"e8ec1b5b.25eae8","wires":[["2866d649.b436aa","f6e75ec5.9d553","79482164.75f21"]]},{"id":"68b699c9.b709e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":871.6668701171875,"y":1862.5001287460327,"z":"e8ec1b5b.25eae8","wires":[["d41ae7b0.2c2728","f6303d1e.a403c"]]},{"id":"f6e75ec5.9d553","type":"outcome","name":"N","xml":"<outcome value='N'>","comments":"","outputs":1,"x":1290.000144958496,"y":1763.690574645996,"z":"e8ec1b5b.25eae8","wires":[["fb2ddece.d8b09"]]},{"id":"fb2ddece.d8b09","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"No vnf-name was received but ecomp-generated-naming is not Y\" />\n","comments":"","x":1444.285930633545,"y":1782.2620191574097,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"2866d649.b436aa","type":"outcome","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1290.0001373291016,"y":1722.2620286941528,"z":"e8ec1b5b.25eae8","wires":[["891a0797.cb18c8"]]},{"id":"79482164.75f21","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1290.0000839233398,"y":1806.547706604004,"z":"e8ec1b5b.25eae8","wires":[["fb2ddece.d8b09"]]},{"id":"891a0797.cb18c8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1427.1430549621582,"y":1722.4048957824707,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"442a1f5a.45f7d","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":711.1430969238281,"y":2217.1191873550415,"z":"e8ec1b5b.25eae8","wires":[["4a21d6e3.e1ad38"]]},{"id":"4a21d6e3.e1ad38","type":"set","name":"set tmp.vnf-name","xml":"<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-request-input.vnf-name`\" />\n","comments":"","x":876.9050598144531,"y":2215.976457595825,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"1c66e9f2.191146","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":1761.9763374328613,"y":1912.261948108673,"z":"e8ec1b5b.25eae8","wires":[["751ec6a1.f034c8","98278954.9e6718"]]},{"id":"751ec6a1.f034c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2039.119140625,"y":1885.833481311798,"z":"e8ec1b5b.25eae8","wires":[["e8445322.49fee"]]},{"id":"98278954.9e6718","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2043.8808860778809,"y":1931.2143921852112,"z":"e8ec1b5b.25eae8","wires":[["79f2b7df.fb9758"]]},{"id":"1dff847.089327c","type":"set","name":"set variables for generating unique name","xml":"<set>\n<parameter name='generate-unique-name-input.action' value='ASSIGN' />\n<parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`\" />\n","comments":"","x":1716.9765892028809,"y":1863.357267856598,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"79f2b7df.fb9758","type":"set","name":"set tmp.vnf-name to generated name","xml":"<set>\n<parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\n","comments":"","x":2266.7852821350098,"y":1930.6904673576355,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"e8445322.49fee","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":2192.690601348877,"y":1885.2619910240173,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"f6303d1e.a403c","type":"switchNode","name":"switch naming-policy","xml":"<switch test='`$db.vf-model.naming-policy`'>\n","comments":"","outputs":1,"x":1101.3573417663574,"y":1971.5000648498535,"z":"e8ec1b5b.25eae8","wires":[["7379cd4d.32a3c4","5830b64c.c2b1b8"]]},{"id":"7379cd4d.32a3c4","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1291.3572731018066,"y":1892.9286193847656,"z":"e8ec1b5b.25eae8","wires":[["d8609de4.ea85d"]]},{"id":"5830b64c.c2b1b8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1291.5955123901367,"y":2020.3095636367798,"z":"e8ec1b5b.25eae8","wires":[["647ef690.4b2f08"]]},{"id":"d8609de4.ea85d","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1444.214542388916,"y":1891.5000858306885,"z":"e8ec1b5b.25eae8","wires":[["1dff847.089327c","1c66e9f2.191146"]]},{"id":"848e7ffa.8eb74","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n","comments":"","outputs":1,"x":1783.262466430664,"y":2036.0239453315735,"z":"e8ec1b5b.25eae8","wires":[["b2088dd3.f7be4","324a59c.f595fa6"]]},{"id":"647ef690.4b2f08","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1446.1193618774414,"y":2020.3095636367798,"z":"e8ec1b5b.25eae8","wires":[["21472786.f661b8","848e7ffa.8eb74"]]},{"id":"21472786.f661b8","type":"set","name":"set variables for generating name","xml":"<set>\n<parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\n<parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />","comments":"","x":1693.2623825073242,"y":1990.3095993995667,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"f3961a90.2b1428","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Unable to generate VNF name\" />\n","comments":"","x":2226.119415283203,"y":2009.880883216858,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"b03da668.afc828","type":"set","name":"set tmp.vnf-name to generated name","xml":"<set>\n<parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\n","comments":"","x":2304.5479850769043,"y":2054.595185279846,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"118b4943.30c787","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1987.6187744140625,"y":2836.6662101745605,"z":"e8ec1b5b.25eae8","wires":[["c425fe35.c4021","d8047b09.0a7bd8"]]},{"id":"d8047b09.0a7bd8","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n","comments":"","outputs":1,"x":2311.9044799804688,"y":2863.237741470337,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"c425fe35.c4021","type":"set","name":"set variables for deleting name","xml":"<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n","comments":"","x":2213.3330993652344,"y":2816.0948123931885,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"9438a7bc.c12308","type":"comment","name":"Unassign the VNF name","info":"","comments":"","x":2079.2854232788086,"y":2756.6663122177124,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"68d0d255.f3c4dc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":927.6191101074219,"y":2921.666510105133,"z":"e8ec1b5b.25eae8","wires":[["c6e9688d.5e1bd8","118b4943.30c787"]]},{"id":"c71217d7.fa2678","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":925.952392578125,"y":2963.3332624435425,"z":"e8ec1b5b.25eae8","wires":[["3c459053.24905","118b4943.30c787"]]},{"id":"c4e8bad2.09bd68","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":782.6190643310547,"y":3144.9998922348022,"z":"e8ec1b5b.25eae8","wires":[["33aec73b.cce3a8","118b4943.30c787"]]},{"id":"b6c05c7e.f22dc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1074.2857513427734,"y":3234.9998922348022,"z":"e8ec1b5b.25eae8","wires":[["1bfa425.654c0be","118b4943.30c787"]]},{"id":"87d839b8.bf24e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1634.2857704162598,"y":3388.9997596740723,"z":"e8ec1b5b.25eae8","wires":[["cdbfce71.266e5","118b4943.30c787"]]},{"id":"f0b29bbe.b8cf88","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1632.619052886963,"y":3430.6665120124817,"z":"e8ec1b5b.25eae8","wires":[["1eb7d025.3b3fa","118b4943.30c787"]]},{"id":"3b7d0897.e268d8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1575.9523963928223,"y":3846.6665077209473,"z":"e8ec1b5b.25eae8","wires":[["1a86e753.589449","118b4943.30c787"]]},{"id":"9680f49c.f15f48","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1232.9524383544922,"y":5018.333201408386,"z":"e8ec1b5b.25eae8","wires":[["50f7d234.754b5c","118b4943.30c787"]]},{"id":"1b072689.100669","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1452.9524383544922,"y":5146.333201408386,"z":"e8ec1b5b.25eae8","wires":[["5bde5903.f7e3d8","118b4943.30c787"]]},{"id":"d98ded51.32dd2","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1451.2857208251953,"y":5189.999953746796,"z":"e8ec1b5b.25eae8","wires":[["498cd8cb.c2fad8","118b4943.30c787"]]},{"id":"74b80d0f.921a74","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1316.2858123779297,"y":5263.333201408386,"z":"e8ec1b5b.25eae8","wires":[["4a2656de.07a658","118b4943.30c787"]]},{"id":"bb7cb44a.c7ff88","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1314.6190948486328,"y":5306.999953746796,"z":"e8ec1b5b.25eae8","wires":[["49551691.bbef28","118b4943.30c787"]]},{"id":"3a6f52f3.f232ee","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":762.9524726867676,"y":5418.3333168029785,"z":"e8ec1b5b.25eae8","wires":[["9e7ab673.481848","118b4943.30c787"]]},{"id":"db3535b7.755d98","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":761.2857551574707,"y":5462.000069141388,"z":"e8ec1b5b.25eae8","wires":[["5c3a26db.6eb788","118b4943.30c787"]]},{"id":"b2088dd3.f7be4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2081.428512573242,"y":2010.952452659607,"z":"e8ec1b5b.25eae8","wires":[["f3961a90.2b1428"]]},{"id":"324a59c.f595fa6","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2086.190258026123,"y":2056.33336353302,"z":"e8ec1b5b.25eae8","wires":[["b03da668.afc828"]]},{"id":"f490684e.528558","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":736.6666107177734,"y":1365.9196710586548,"z":"e8ec1b5b.25eae8","wires":[["7bc260b5.4ff39","5afeeeba.9b237"]]},{"id":"1736d58c.861d3a","type":"for","name":"for each instance group id","xml":"<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n","comments":"","outputs":1,"x":519.9999580383301,"y":1366.5863161087036,"z":"e8ec1b5b.25eae8","wires":[["f490684e.528558"]]},{"id":"7bc260b5.4ff39","type":"get-resource","name":"get-resource instance-group","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"instance-group\" \n\t\tkey=\"instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\"\n pfx='aai.instance-group' local-only='false' >\n\n","comments":"","outputs":1,"x":967.9999694824219,"y":1289.2530527114868,"z":"e8ec1b5b.25eae8","wires":[["883553c3.b2d8b","21f7ae89.1e0582"]]},{"id":"21f7ae89.1e0582","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1182.2461776733398,"y":1307.4039011001587,"z":"e8ec1b5b.25eae8","wires":[["ca1a018b.805e6"]]},{"id":"883553c3.b2d8b","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1191.1747741699219,"y":1265.6896343231201,"z":"e8ec1b5b.25eae8","wires":[["974f91a5.6729d"]]},{"id":"974f91a5.6729d","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Cannot find instance group id ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in AAI'`\" />\n","comments":"","x":1363.999984741211,"y":1263.2530450820923,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"ca1a018b.805e6","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error retrieving instance-group from AAI\" />\n","comments":"","x":1363.999984741211,"y":1307.2530450820923,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"5afeeeba.9b237","type":"for","name":"for each relationship","xml":"<for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\n","comments":"","outputs":1,"x":941.6666259765625,"y":1437.586368560791,"z":"e8ec1b5b.25eae8","wires":[["1e61f894.d6fec7"]]},{"id":"1e61f894.d6fec7","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\n","comments":"","outputs":1,"x":1155.0000686645508,"y":1437.5863075256348,"z":"e8ec1b5b.25eae8","wires":[["ba9b6c16.4914f"]]},{"id":"ba9b6c16.4914f","type":"outcome","name":"collection","xml":"<outcome value='collection'>\n","comments":"","outputs":1,"x":1326.666706085205,"y":1437.586389541626,"z":"e8ec1b5b.25eae8","wires":[["455ef4d5.0aa1fc"]]},{"id":"455ef4d5.0aa1fc","type":"get-resource","name":"get-resource collection","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"collection\" \n\t\tkey=\"collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\"\n pfx='aai.collection' local-only='false' >\n\n","comments":"","outputs":1,"x":1546.6666107177734,"y":1435.9196510314941,"z":"e8ec1b5b.25eae8","wires":[["fe6345c0.36dc28","1f11b2d9.d750ed","e9d5552e.f591d8"]]},{"id":"1f11b2d9.d750ed","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1760.9128036499023,"y":1387.4038400650024,"z":"e8ec1b5b.25eae8","wires":[["4020f4c.62d620c"]]},{"id":"fe6345c0.36dc28","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1769.8414001464844,"y":1345.6895732879639,"z":"e8ec1b5b.25eae8","wires":[["977b3571.591588"]]},{"id":"977b3571.591588","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Cannot find collection ' +\n $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\n + ' in AAI'`\" />\n","comments":"","x":1926.6666107177734,"y":1344.2530450820923,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"4020f4c.62d620c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"System error retrieving collection from AAI\" />\n","comments":"","x":1926.6666107177734,"y":1388.2530450820923,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"e9d5552e.f591d8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1760.0000114440918,"y":1524.2530164718628,"z":"e8ec1b5b.25eae8","wires":[["84f48d47.1e81a"]]},{"id":"84f48d47.1e81a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1913.333152770996,"y":1523.5863122940063,"z":"e8ec1b5b.25eae8","wires":[["82b16034.72c0f","41789b77.9ec0c4","65c06bbb.b43474","4cd92fc0.2488d","ec3945da.078a08"]]},{"id":"82b16034.72c0f","type":"for","name":"for each network-instance-group","xml":"<for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n","comments":"","outputs":1,"x":2151.6664962768555,"y":1474.2530603408813,"z":"e8ec1b5b.25eae8","wires":[["1779f04d.69bc"]]},{"id":"41789b77.9ec0c4","type":"set","name":"set found-network-instance-group to false","xml":"<set>\n<parameter name='found-network-instance-group' value='false' />\n","comments":"","x":2181.666458129883,"y":1427.5864324569702,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"1779f04d.69bc","type":"switchNode","name":"network-instance-group-id matches?","xml":"<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n","comments":"","outputs":1,"x":2468.3330078125,"y":1474.253059387207,"z":"e8ec1b5b.25eae8","wires":[["fcb77550.796ac8"]]},{"id":"fcb77550.796ac8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2689.999786376953,"y":1474.2530241012573,"z":"e8ec1b5b.25eae8","wires":[["b7155259.18dea"]]},{"id":"b7155259.18dea","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2819.9998168945312,"y":1474.2531003952026,"z":"e8ec1b5b.25eae8","wires":[["70ace769.5b37d8","1bb2d945.055c07"]]},{"id":"70ace769.5b37d8","type":"set","name":"set found-network-instance-group to true","xml":"<set>\n<parameter name='found-network-instance-group' value='true' />\n","comments":"","x":3053.332992553711,"y":1445.9197254180908,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"1bb2d945.055c07","type":"break","name":"break","xml":"<break>\n","comments":"","x":2946.666606903076,"y":1494.253095626831,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"65c06bbb.b43474","type":"switchNode","name":"switch found-network-instance-group","xml":"<switch test='`$found-network-instance-group`'>\n","comments":"","outputs":1,"x":2163.3331146240234,"y":1524.253041267395,"z":"e8ec1b5b.25eae8","wires":[["2dc995c2.b4565a"]]},{"id":"2dc995c2.b4565a","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2384.9999618530273,"y":1524.2530636787415,"z":"e8ec1b5b.25eae8","wires":[["cad8a7f6.abfb78"]]},{"id":"cad8a7f6.abfb78","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Could not find network instance group ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in MD-SAL'`\" />\n","comments":"","x":2531.666534423828,"y":1522.5863981246948,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"53d39bcb.6061e4","type":"set","name":"set tmp.vnf-network-collection_length to 0","xml":"<set>\n<parameter name='tmp.vnf-network-collection_length' value='0' />\n","comments":"","x":568.3332977294922,"y":1317.5864477157593,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"4cd92fc0.2488d","type":"set","name":"set vnf-network-collection data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\n value='`$aai.instance-group.instance-group-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\n value='`$aai.instance-group.id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\n value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\n value='`$aai.collection.collection-customization-id`' />\n","comments":"","x":2143.333438873291,"y":1572.5863771438599,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"ec3945da.078a08","type":"set","name":"increment tmp.vnf-network-collection_length","xml":"<set>\n<parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\n","comments":"","x":2185.000144958496,"y":1619.2530450820923,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"de66456a.ee6e38","type":"set","name":"set vnf-network-collection_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\n value='`$tmp.vnf-network-collection_length`' />\n","comments":"","x":547.4999923706055,"y":1575.0863971710205,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"62f81f1e.1424f","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":672.0000801086426,"y":5534.729342460632,"z":"e8ec1b5b.25eae8","wires":[["76b4e702.640838"]]},{"id":"58179bd9.e06a74","type":"for","name":"for each instance group id","xml":"<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n","comments":"","outputs":1,"x":455.3334274291992,"y":5535.395987510681,"z":"e8ec1b5b.25eae8","wires":[["62f81f1e.1424f"]]},{"id":"76b4e702.640838","type":"save","name":"save generic-vnf relationship to instance-group","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"instance-group\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/instance-groups/instance-group/'\n + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`\" />\n","comments":"","outputs":1,"x":955.3334083557129,"y":5534.253023147583,"z":"e8ec1b5b.25eae8","wires":[["8790d355.18cf1","3d210704.8012c8"]]},{"id":"cf023861.798238","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":1512.0000801086426,"y":5552.586276054382,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"8790d355.18cf1","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1214.690631866455,"y":5511.205438613892,"z":"e8ec1b5b.25eae8","wires":[["df30bfde.d3826"]]},{"id":"3d210704.8012c8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1223.262062072754,"y":5555.491151809692,"z":"e8ec1b5b.25eae8","wires":[["70ba0d3c.069cc4"]]},{"id":"aa1a159.3823ae8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error updating relationship in generic-vnf in AAI\" />\n","comments":"","x":1514.6906814575195,"y":5509.348539352417,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"df30bfde.d3826","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1367.9523162841797,"y":5510.785677909851,"z":"e8ec1b5b.25eae8","wires":[["aa1a159.3823ae8","118b4943.30c787"]]},{"id":"70ba0d3c.069cc4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1366.2855987548828,"y":5554.4524302482605,"z":"e8ec1b5b.25eae8","wires":[["cf023861.798238","118b4943.30c787"]]},{"id":"56c99275.ec16cc","type":"switchNode","name":"switch subnet_length","xml":"<switch test='`$aai.l3-network.l3-network[0].subnets.subnet_length`'>\n","comments":"","outputs":1,"x":1276.90482711792,"y":3967.3483905792236,"z":"e8ec1b5b.25eae8","wires":[["c2a1b5ea.d961c8","6d55b1f6.6100e","5062f58.6ec680c"]]},{"id":"c2a1b5ea.d961c8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1449.7619895935059,"y":3930.2054500579834,"z":"e8ec1b5b.25eae8","wires":[["c164d981.2b8148"]]},{"id":"6d55b1f6.6100e","type":"outcome","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":1451.190559387207,"y":3968.7766132354736,"z":"e8ec1b5b.25eae8","wires":[["c164d981.2b8148"]]},{"id":"5062f58.6ec680c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1449.7620239257812,"y":4007.3480052948,"z":"e8ec1b5b.25eae8","wires":[["894a23e6.abb5a"]]},{"id":"894a23e6.abb5a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1571.1905784606934,"y":4007.3482723236084,"z":"e8ec1b5b.25eae8","wires":[["b8d1c104.c80f","3bae4397.366dcc"]]},{"id":"c164d981.2b8148","type":"set","name":"set subnet_length to 0","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='0' />\n","comments":"","x":1642.61918258667,"y":3938.7766132354736,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"b0716910.236c28","type":"switchNode","name":"switch: sdnc-model-name && sdnc-artifact-name != null","xml":"<switch test=\"`$db.vf-model.sdnc-model-name != '' and $db.vf-model.sdnc-artifact-name != ''`\">","comments":"","outputs":1,"x":1553.1508903503418,"y":949.2529373168945,"z":"e8ec1b5b.25eae8","wires":[["bcb277a4.03f3f8","fe4a9ab9.3f90e8"]]},{"id":"bcb277a4.03f3f8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1856.2222785949707,"y":921.9316024780273,"z":"e8ec1b5b.25eae8","wires":[["7896efad.23d56"]]},{"id":"40c47c9b.137174","type":"switchNode","name":"switch: param[].name","xml":"<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$p].name`\">\n","comments":"","outputs":1,"x":1067.2817306518555,"y":597.4554109573364,"z":"e8ec1b5b.25eae8","wires":[["9e25820f.c5ad7","3afce2da.a4cbfe"]]},{"id":"75da7216.d5d6dc","type":"for","name":"for p in vnf-input-parameters,param[]","xml":"<for silentFailure='true' index='p' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >\n","comments":"","outputs":1,"x":773.3888778686523,"y":597.9554433822632,"z":"e8ec1b5b.25eae8","wires":[["40c47c9b.137174"]]},{"id":"fac8ea6c.257f58","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1263.5914459228516,"y":949.2052011489868,"z":"e8ec1b5b.25eae8","wires":[["b0716910.236c28"]]},{"id":"760c4fdd.39f82","type":"call","name":"call self-serve-vnf-assign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\n","comments":"","outputs":1,"x":2145.5909538269043,"y":717.0983695983887,"z":"e8ec1b5b.25eae8","wires":[["7f61ffc2.3617e"]]},{"id":"53fbd2a9.80e7fc","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id`\" />\n","comments":"","x":2529.6623306274414,"y":717.0983200073242,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"fe4a9ab9.3f90e8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1859.1150245666504,"y":978.5386066436768,"z":"e8ec1b5b.25eae8","wires":[["6b5bbadc.1a2bd4"]]},{"id":"3694a0e3.50648","type":"set","name":"set tmp.exist.sdnc-artifact-name = true","xml":"<set>\n<parameter name='tmp.exist.sdnc-artifact-name' value='true' />","comments":"","x":1609.174659729004,"y":647.3125810623169,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"bd0b550f.f20b78","type":"set","name":"set tmp.exist.sdnc-model-name = true","xml":"<set>\n<parameter name='tmp.exist.sdnc-model-name' value='true' />\n","comments":"","x":1605.8887672424316,"y":597.312596321106,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"3e14018b.25a1fe","type":"switchNode","name":"switch: tmp.exist.sdnc-model-name && tmp.exist.sdnc-artifact-name == true","xml":"<switch test=\"`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.sdnc-artifact-name == 'true'`\">\n","comments":"","outputs":1,"x":894.6626281738281,"y":864.6100387573242,"z":"e8ec1b5b.25eae8","wires":[["8bc999e5.350fb8","fac8ea6c.257f58"]]},{"id":"8bc999e5.350fb8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1264.8413200378418,"y":786.7290534973145,"z":"e8ec1b5b.25eae8","wires":[["7896efad.23d56"]]},{"id":"8ab0c788.cabc78","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":480.31744384765625,"y":630.1221513748169,"z":"e8ec1b5b.25eae8","wires":[["75da7216.d5d6dc","3e14018b.25a1fe","7a388264.4024fc","d8145bff.5b58a8"]]},{"id":"123b8627.bebeba","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":473.8888854980469,"y":582.2649993896484,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"9e25820f.c5ad7","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":1323.4603064400808,"y":597.3602053778511,"z":"e8ec1b5b.25eae8","wires":[["bd0b550f.f20b78"]]},{"id":"3afce2da.a4cbfe","type":"outcome","name":"sdnc_artifact_name","xml":"<outcome value='sdnc_artifact_name'>\n","comments":"","outputs":1,"x":1326.3174285888672,"y":646.7887773513794,"z":"e8ec1b5b.25eae8","wires":[["3694a0e3.50648"]]},{"id":"7f61ffc2.3617e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2350.8885345458984,"y":716.5864009857178,"z":"e8ec1b5b.25eae8","wires":[["53fbd2a9.80e7fc"]]},{"id":"d1a098.413fcf68","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":253.4126968383789,"y":376.87208461761475,"z":"e8ec1b5b.25eae8","wires":[["723f0c68.e4a634","59a1abf1.362d04","55463f33.2c23d","8ab0c788.cabc78"]]},{"id":"20a3dcc9.d2c414","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1912.3810348510742,"y":3985.952467918396,"z":"e8ec1b5b.25eae8","wires":[["85154396.cb013","f5325de5.ae019","89e0c2e2.7a7e3","d07676cd.122998"]]},{"id":"760fe2dd.1dfb2c","type":"set","name":"clear aai.l3-network","xml":"<set>\n<parameter name='aai.l3-network.' value='' />\n","comments":"","x":1270.952480316162,"y":3358.8095865249634,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"ffa30adb.733078","type":"break","name":"break","xml":"<break>\n","comments":"","x":3712.666416168213,"y":3885.9521503448486,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"58b0e.d80c54f24","type":"set","name":"set found-network to false","xml":"<set>\n<parameter name='found-network' value='false' />\n","comments":"","x":1412.3810081481934,"y":3591.6665544509888,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"ae76c6a1.158798","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2384.095314025879,"y":3745.952350616455,"z":"e8ec1b5b.25eae8","wires":[["1232d671.cdc82a","c5192019.5c36"]]},{"id":"c5192019.5c36","type":"switchNode","name":"switch found-network","xml":"<switch test='`$found-network`'>\n","comments":"","outputs":1,"x":2575.5238609313965,"y":3775.952404975891,"z":"e8ec1b5b.25eae8","wires":[["491daae3.24d854"]]},{"id":"97c14cfc.3ab92","type":"set","name":"set found-network to true","xml":"<set>\n<parameter name='found-network' value='true' />\n","comments":"","x":3768.3812942504883,"y":3840.2378311157227,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"491daae3.24d854","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2744.0953521728516,"y":3775.9523344039917,"z":"e8ec1b5b.25eae8","wires":[["4032fcd9.511d64"]]},{"id":"4032fcd9.511d64","type":"break","name":"break","xml":"<break>\n","comments":"","x":2874.0954208374023,"y":3774.5237283706665,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"a76e5ba0.e05798","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1584.381031036377,"y":3719.6666288375854,"z":"e8ec1b5b.25eae8","wires":[["47c50243.5c9d6c","678a2604.2ed118"]]},{"id":"678a2604.2ed118","type":"switchNode","name":"switch found-network","xml":"<switch test='`$found-network`'>\n","comments":"","outputs":1,"x":1794.3809852600098,"y":3791.666512489319,"z":"e8ec1b5b.25eae8","wires":[["6e62113.f6166f"]]},{"id":"6e62113.f6166f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1962.9524765014648,"y":3791.6664419174194,"z":"e8ec1b5b.25eae8","wires":[["49c6544b.834c8c"]]},{"id":"49c6544b.834c8c","type":"break","name":"break","xml":"<break>\n","comments":"","x":2092.9525451660156,"y":3790.2378358840942,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"7a388264.4024fc","type":"set","name":"initialize tmp.exist.sdnc-model-name && tmp.exist.sdnc-artifact-name = false","xml":"<set>\n<parameter name='tmp.exist.sdnc-model-name' value='false' />\n<parameter name='tmp.exist.sdnc-artifact-name' value='false' />","comments":"","x":893.4762344360352,"y":500.58631229400635,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"a22c9d12.51325","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":2111.9998893737793,"y":879.2529373168945,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"d38533aa.d54fd","type":"set","name":"set vnf-level-oper-status to PendingCreate","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n","comments":"","x":2201.813335418701,"y":781.5904178619385,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"63841365.9709dc","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n","comments":"","outputs":1,"x":2106.9046173095703,"y":828.0301866531372,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"7896efad.23d56","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1917.9997100830078,"y":794.2529373168945,"z":"e8ec1b5b.25eae8","wires":[["760c4fdd.39f82","d38533aa.d54fd","63841365.9709dc","a22c9d12.51325"]]},{"id":"89e0c2e2.7a7e3","type":"set","name":"set subnet data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\n value='`$tmp.ip-version`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\n","comments":"","x":2066.6668014526367,"y":4016.634214401245,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"d07676cd.122998","type":"switchNode","name":"switch dhcp-enabled","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\n","comments":"","outputs":1,"x":2081.1905822753906,"y":4069.477168083191,"z":"e8ec1b5b.25eae8","wires":[["ece733b7.c2ab7","613bc753.1a3078"]]},{"id":"ece733b7.c2ab7","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2244.0477469308034,"y":4048.0485258102417,"z":"e8ec1b5b.25eae8","wires":[["e6054e9f.0ed55"]]},{"id":"613bc753.1a3078","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2242.6190795898438,"y":4093.762951850891,"z":"e8ec1b5b.25eae8","wires":[["badfb568.db4ec8"]]},{"id":"e6054e9f.0ed55","type":"set","name":"set dhcp-enabled to Y","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='Y' />\n","comments":"","x":2416.904945373535,"y":4046.619921684265,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"badfb568.db4ec8","type":"set","name":"set dhcp-enabled to N","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='N' />\n","comments":"","x":2414.0477142333984,"y":4093.762951850891,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"85154396.cb013","type":"switchNode","name":"switch subnet-role","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\n","comments":"","outputs":1,"x":2081.6667518615723,"y":3898.5248403549194,"z":"e8ec1b5b.25eae8","wires":[["7879703a.5c311"]]},{"id":"7879703a.5c311","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":2248.333354949951,"y":3898.524492263794,"z":"e8ec1b5b.25eae8","wires":[["66015853.97e9b8"]]},{"id":"66015853.97e9b8","type":"set","name":"set subnet-role to NONE","xml":"<set>\n<parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\n","comments":"","x":2430.000141143799,"y":3897.858144760132,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"f5325de5.ae019","type":"switchNode","name":"switch ip-version","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\n","comments":"","outputs":1,"x":2076.905086517334,"y":3963.0159463882446,"z":"e8ec1b5b.25eae8","wires":[["97a36cc.e440f9","c66ef49c.bc1028"]]},{"id":"97a36cc.e440f9","type":"outcome","name":"4","xml":"<outcome value='4'>\n","comments":"","outputs":1,"x":2242.619228363037,"y":3944.4443435668945,"z":"e8ec1b5b.25eae8","wires":[["7207ab9c.c24bd4"]]},{"id":"c66ef49c.bc1028","type":"outcome","name":"6","xml":"<outcome value='6'>\n","comments":"","outputs":1,"x":2242.6191902160645,"y":3985.8730869293213,"z":"e8ec1b5b.25eae8","wires":[["4e83553c.c8a3ac"]]},{"id":"7207ab9c.c24bd4","type":"set","name":"set tmp.ip-version to ipv4","xml":"<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n","comments":"","x":2429.761993408203,"y":3943.5872707366943,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"4e83553c.c8a3ac","type":"set","name":"set tmp.ip-version to ipv6","xml":"<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n","comments":"","x":2428.3335456848145,"y":3985.87308883667,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"d8145bff.5b58a8","type":"switchNode","name":"switch: vnf-input-parameters.param_length","xml":"<switch test=\"`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`\">\n","comments":"","outputs":1,"x":791.9047927856445,"y":546.3958168029785,"z":"e8ec1b5b.25eae8","wires":[["664591b9.95078"]]},{"id":"664591b9.95078","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1055.4762115478516,"y":546.6815567016602,"z":"e8ec1b5b.25eae8","wires":[["6f8e5e3f.fa705"]]},{"id":"6f8e5e3f.fa705","type":"set","name":"set vnf-input-parameters.param_length = 0","xml":"<set>\n<parameter name='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length' value='0' />\n","comments":"","x":1329.1904525756836,"y":546.5387182235718,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"f2648fe0.20797","type":"switchNode","name":"switch network-role","xml":"<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n","comments":"","outputs":1,"x":709.3332786560059,"y":3971.2529973983765,"z":"e8ec1b5b.25eae8","wires":[["e804954a.844478","ac124cb9.c9e89"]]},{"id":"e804954a.844478","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":875.9998741149902,"y":3939.586247444153,"z":"e8ec1b5b.25eae8","wires":[["ea1e164f.56ab98"]]},{"id":"ac124cb9.c9e89","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":875.9999198913574,"y":3997.919596672058,"z":"e8ec1b5b.25eae8","wires":[["de751662.485548"]]},{"id":"ea1e164f.56ab98","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1007.6666259765625,"y":3937.91943359375,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"a2979752.466c68","type":"get-resource","name":"get-resource VNF_RELATED_NETWORK_ROLE","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n and network_role = $db.vf-network-role-mapping[$role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n","comments":"","outputs":1,"x":1371.3333740234375,"y":4300.99951171875,"z":"e8ec1b5b.25eae8","wires":[["d5da04c2.831d68","417a0c6.89cb7f4"]]},{"id":"d5da04c2.831d68","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1640.0000381469727,"y":4131.666353225708,"z":"e8ec1b5b.25eae8","wires":[["73857f5d.9780f"]]},{"id":"40da1bae.aefd54","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VNF_RELATED_NETWORK_ROLE table\" />\n","comments":"","x":1950.0000114440918,"y":4131.475923538208,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"73857f5d.9780f","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1787.1905555725098,"y":4130.214367866516,"z":"e8ec1b5b.25eae8","wires":[["40da1bae.aefd54","118b4943.30c787"]]},{"id":"417a0c6.89cb7f4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1643.0000686645508,"y":4494.3328647613525,"z":"e8ec1b5b.25eae8","wires":[["fae3c123.fda82"]]},{"id":"fae3c123.fda82","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1809.3333740234375,"y":4492.33251953125,"z":"e8ec1b5b.25eae8","wires":[["d1f90e23.7598f","aba2df1e.ce563","e56630b1.65dd1","bdbd922d.d1ded","147826c5.2960b9","ff3a4d05.fa794","b9de881d.e81fb8","ff11ad51.304dd","5e448db.bf50774"]]},{"id":"4a3685d2.0b6dec","type":"outcome","name":"service-instance","xml":"<outcome value='service-instance'>\n","comments":"","outputs":1,"x":2747.6188430786133,"y":3664.5711908340454,"z":"e8ec1b5b.25eae8","wires":[["29f2c7aa.bc2638"]]},{"id":"29f2c7aa.bc2638","type":"for","name":"for each relationship data","xml":"<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n","comments":"","outputs":1,"x":2973.094680786133,"y":3664.9998207092285,"z":"e8ec1b5b.25eae8","wires":[["96a81b94.9e1e78"]]},{"id":"96a81b94.9e1e78","type":"switchNode","name":"switch relationship-key","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n","comments":"","outputs":1,"x":3208.333251953125,"y":3663.333251953125,"z":"e8ec1b5b.25eae8","wires":[["fd82d26.874d53"]]},{"id":"fd82d26.874d53","type":"outcome","name":"service-instance.service-instance-id","xml":"<outcome value='service-instance.service-instance-id'>\n","comments":"","outputs":1,"x":3474.7616119384766,"y":3663.333315849304,"z":"e8ec1b5b.25eae8","wires":[["4e6e2d9a.8e0d64"]]},{"id":"4e6e2d9a.8e0d64","type":"set","name":"set network-service-instance-id","xml":"<set>\n<parameter name='network-service-instance-id'\n value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\n","comments":"","x":3768.333396911621,"y":3661.6667308807373,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"d1f90e23.7598f","type":"execute","name":"generate network-topology-identifier-structure url","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.network-topology-identifier-structure`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$network-service-instance-id`\"/>\n","comments":"","outputs":1,"x":2128.6665420532227,"y":4188.000152587891,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"e56630b1.65dd1","type":"execute","name":"execute RestApiCallNode - get network-topology-identifier-structure","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ntis\" />\n\n","comments":"","outputs":1,"x":2185.6663360595703,"y":4291.428893089294,"z":"e8ec1b5b.25eae8","wires":[["3ae666ff.d9d46a"]]},{"id":"aba2df1e.ce563","type":"execute","name":"generate network-topology-identifier-structure url (part 2)","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ntis-url\"/>\n <parameter name=\"target\" value=\"{network-id}\"/>\n <parameter name=\"replacement\" value=\"`$l3-network-id`\"/>\n","comments":"","outputs":1,"x":2150.3331298828125,"y":4231.33349609375,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"4f148391.ee5fec","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\n","comments":"","outputs":1,"x":455.666748046875,"y":4137.99951171875,"z":"e8ec1b5b.25eae8","wires":[[]]},{"id":"3ae666ff.d9d46a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2514.7755241394043,"y":4291.179370880127,"z":"e8ec1b5b.25eae8","wires":[["1925434a.c3edcd"]]},{"id":"cb23ca54.e697b8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`\n 'Error retrieving network-topology-identifier-structure for service instance '\n + $network-service-instance-id\n + ' and network-id '\n + $l3-network-id`\" />\n","comments":"","x":2819.999900817871,"y":4301.665860176086,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"1925434a.c3edcd","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2652.190414428711,"y":4290.404459953308,"z":"e8ec1b5b.25eae8","wires":[["cb23ca54.e697b8","118b4943.30c787"]]},{"id":"bdbd922d.d1ded","type":"set","name":"set is-trunked and segmentation-id in vnf-network","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\n value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\n value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\n ","comments":"","x":2128.3333587646484,"y":4351.66651725769,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"ff3a4d05.fa794","type":"save","name":"custom query: get owning entity","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.oe\">\n<parameter name=\"start[0]\" value=\"`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"/query/owning-entity-fromService-instance\" /> \n","comments":"","outputs":1,"x":2069.333251953125,"y":4427,"z":"e8ec1b5b.25eae8","wires":[["452d23cd.89694c","d36953d7.3bd71"]]},{"id":"452d23cd.89694c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2279.571300506592,"y":4405.666354179382,"z":"e8ec1b5b.25eae8","wires":[["9e3df671.a6ba78"]]},{"id":"d36953d7.3bd71","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2286.714195251465,"y":4451.380578994751,"z":"e8ec1b5b.25eae8","wires":[["75caa341.98c94c"]]},{"id":"8e882362.a7d54","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error getting owning entity from service instance\" />\n","comments":"","x":2584.333251953125,"y":4403.66650390625,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"9e3df671.a6ba78","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2421.523796081543,"y":4402.404948234558,"z":"e8ec1b5b.25eae8","wires":[["8e882362.a7d54","118b4943.30c787"]]},{"id":"713603be.2036ac","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Unable to find owning entity from service instance\" />\n","comments":"","x":2582.666748046875,"y":4453.66650390625,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"75caa341.98c94c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2419.857292175293,"y":4452.404948234558,"z":"e8ec1b5b.25eae8","wires":[["713603be.2036ac","118b4943.30c787"]]},{"id":"84c147bf.f09848","type":"save","name":"custom query: get tenant network","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.get-networks\">\n<parameter name=\"start[0]\" value=\"`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\n + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" /> \n","comments":"","outputs":1,"x":2519.000068664551,"y":4600.000137329102,"z":"e8ec1b5b.25eae8","wires":[["fc81a3c7.16632","155caabc.a621e5"]]},{"id":"fc81a3c7.16632","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2732.2381172180176,"y":4578.66663646698,"z":"e8ec1b5b.25eae8","wires":[["670c54d4.9abc8c"]]},{"id":"155caabc.a621e5","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2739.3810119628906,"y":4624.380861282349,"z":"e8ec1b5b.25eae8","wires":[["db8ac4dd.2f1bf8"]]},{"id":"a087be8.ecf174","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error calling getNetworks custom query in AAI\" />\n","comments":"","x":3037.000068664551,"y":4576.666786193848,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"670c54d4.9abc8c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2874.1906127929688,"y":4575.405230522156,"z":"e8ec1b5b.25eae8","wires":[["a087be8.ecf174","118b4943.30c787"]]},{"id":"d486ece4.4e8bb","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No l3-network returned from getNetworks custom query for related network role '\n + $db.vnf-related-network-role[0].related-network-role`\" />\n","comments":"","x":3035.333564758301,"y":4626.666786193848,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"db8ac4dd.2f1bf8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2872.5241088867188,"y":4625.405230522156,"z":"e8ec1b5b.25eae8","wires":[["d486ece4.4e8bb","118b4943.30c787"]]},{"id":"a2478fc4.d5865","type":"for","name":"for each relationship","xml":"<for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\n","comments":"","outputs":1,"x":2486.000068664551,"y":4726.000282287598,"z":"e8ec1b5b.25eae8","wires":[["3552a801.ece7d8"]]},{"id":"3552a801.ece7d8","type":"switchNode","name":"switch related-to","xml":"<switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\n","comments":"","outputs":1,"x":2684.000068664551,"y":4726.000282287598,"z":"e8ec1b5b.25eae8","wires":[["7c52c16e.8b6a"]]},{"id":"7c52c16e.8b6a","type":"outcome","name":"vlan-tag","xml":"<outcome value='vlan-tag'>\n","comments":"","outputs":1,"x":2854.000068664551,"y":4726.000282287598,"z":"e8ec1b5b.25eae8","wires":[["429b9c27.2483c4"]]},{"id":"429b9c27.2483c4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3022.000068664551,"y":4724.000282287598,"z":"e8ec1b5b.25eae8","wires":[["dcb4370.d4aa8c8","51eb5f36.e3a87","9e6ca1e7.6cd83"]]},{"id":"dcb4370.d4aa8c8","type":"set","name":"set vlan-tag-id","xml":"<set>\n<parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\n","comments":"","x":3198.000068664551,"y":4684.000282287598,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"51eb5f36.e3a87","type":"get-resource","name":"get-resource vlan-tag","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vlan-tag\" \n\t\tkey=\"vlan-tag.vlan-tag-id = $vlan-tag-id\"\n pfx='aai.vlan-tag' local-only='false'\n>\n","comments":"","outputs":1,"x":3220.000068664551,"y":4742.000282287598,"z":"e8ec1b5b.25eae8","wires":[["aa8950d4.db6ad","b4471501.e714b8"]]},{"id":"aa8950d4.db6ad","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3400.047676086426,"y":4724.143348693848,"z":"e8ec1b5b.25eae8","wires":[["f52d0ec.556fcf"]]},{"id":"f52d0ec.556fcf","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3542.8569564819336,"y":4724.333990573883,"z":"e8ec1b5b.25eae8","wires":[["883325ac.a7d828","118b4943.30c787"]]},{"id":"883325ac.a7d828","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error getting vlan-tag object from AAI\" />\n","comments":"","x":3703.9999618530273,"y":4720.000509262085,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"147826c5.2960b9","type":"for","name":"for each related network role","xml":"<for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\n","comments":"","outputs":1,"x":2057,"y":4656.333847045898,"z":"e8ec1b5b.25eae8","wires":[["3c69485c.a44408"]]},{"id":"3c69485c.a44408","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2262,"y":4657.6669921875,"z":"e8ec1b5b.25eae8","wires":[["84c147bf.f09848","a2478fc4.d5865","cd9e40b7.8a9e5"]]},{"id":"ff11ad51.304dd","type":"switchNode","name":"switch rn-index","xml":"<switch test='`$rn-index`'>\n","comments":"","outputs":1,"x":2018,"y":4546,"z":"e8ec1b5b.25eae8","wires":[["1ba540c9.8325bf"]]},{"id":"b9de881d.e81fb8","type":"set","name":"set rn-index to related network length","xml":"<set>\n<parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\n","comments":"","x":2086.66658782959,"y":4496.999853134155,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"1ba540c9.8325bf","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":2182,"y":4546,"z":"e8ec1b5b.25eae8","wires":[["4007d641.ad2628"]]},{"id":"4007d641.ad2628","type":"set","name":"set rn-index to 0","xml":"<set>\n<parameter name='rn-index' value='0' />\n","comments":"","x":2342,"y":4546,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"cd9e40b7.8a9e5","type":"set","name":"set related-network data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\n","comments":"","x":2489.6666564941406,"y":4656.66682434082,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"5e448db.bf50774","type":"set","name":"set new related network length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n","comments":"","x":2052.000068664551,"y":4800.000137329102,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"b4471501.e714b8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3402.000068664551,"y":4772.000137329102,"z":"e8ec1b5b.25eae8","wires":[["4366aa81.b5af34"]]},{"id":"4366aa81.b5af34","type":"set","name":"set related-network data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$aai.vlan-tag.vlan-tag-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$aai.vlan-tag.vlan-id-outer`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$aai.vlan-tag.vlan-id-inner`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$aai.vlan-tag.is-private`' />\n","comments":"","x":3594.000068664551,"y":4772.000137329102,"z":"e8ec1b5b.25eae8","wires":[]},{"id":"9e6ca1e7.6cd83","type":"break","name":"break","xml":"<break>\n","comments":"","x":3172.000068664551,"y":4810.000137329102,"z":"e8ec1b5b.25eae8","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.json
index 4f44a27e..fe7f3f49 100755
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.json
@@ -1 +1 @@
-[{"id":"d41630d3.caf9a","type":"dgstart","name":"DGSTART","outputs":1,"x":105.71428680419922,"y":83.8422281742096,"z":"32e1851.926797a","wires":[["9e79d189.ad06b"]]},{"id":"9e79d189.ad06b","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":218.1428451538086,"y":124.08033871650696,"z":"32e1851.926797a","wires":[["6e767b2e.801194"]]},{"id":"6e767b2e.801194","type":"method","name":"method vnf-topology-operation-changeassign","xml":"<method rpc='vnf-topology-operation-changeassign' mode='sync'>\n","comments":"","outputs":1,"x":213.85719299316406,"y":163.84222626686096,"z":"32e1851.926797a","wires":[["cdbcf3e1.d9504"]]},{"id":"919859b6.f73948","type":"comment","name":"vnf-topology-operation-changeassign","info":"","comments":"","x":500.05914306640625,"y":31.428571939468384,"z":"32e1851.926797a","wires":[]},{"id":"1648c2a1.20d86d","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":504.95240020751953,"y":265.5565197467804,"z":"32e1851.926797a","wires":[["3f59da7f.089086","a2fb0705.451bf8"]]},{"id":"3f59da7f.089086","type":"outcome","name":"CreateVnfInstance","xml":"<outcome value='CreateVnfInstance'>\n","comments":"","outputs":1,"x":729.09521484375,"y":239.8422281742096,"z":"32e1851.926797a","wires":[["a743e47e.939ef8"]]},{"id":"a2fb0705.451bf8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":692.0952377319336,"y":283.88986706733704,"z":"32e1851.926797a","wires":[["c3555984.d18d58"]]},{"id":"a743e47e.939ef8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":920.6666717529297,"y":239.8422634601593,"z":"32e1851.926797a","wires":[[]]},{"id":"c3555984.d18d58","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 'changeassign' then request-action must be 'CreateVnfInstance'\" />\n","comments":"","x":899.4761848449707,"y":283.88987851142883,"z":"32e1851.926797a","wires":[]},{"id":"d86bb989.8ab7c8","type":"switchNode","name":"switch order-status","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`'>\n","comments":"","outputs":1,"x":494.38086700439453,"y":487.6994640827179,"z":"32e1851.926797a","wires":[["1d49a618.4e5c5a","605edc8b.b378c4"]]},{"id":"1d49a618.4e5c5a","type":"other","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":696.3809242248535,"y":465.41363167762756,"z":"32e1851.926797a","wires":[["8b82ff89.45fb2"]]},{"id":"f9215f25.69fe3","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=\"The requested VNF is not pending deletion\" />\n","comments":"","x":862.5237884521484,"y":508.74700951576233,"z":"32e1851.926797a","wires":[]},{"id":"cdbcf3e1.d9504","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":218.0952606201172,"y":488.6041262149811,"z":"32e1851.926797a","wires":[["1648c2a1.20d86d","dcd61c11.fb1ce","98cbff17.bccb1","163736b2.ccd829","1515e5b2.0118aa","89e2b7c.97d0548","a5133000.e13b5","efae7497.72e208","312db6c6.9c69aa"]]},{"id":"dcd61c11.fb1ce","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-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n","comments":"","x":506.4285125732422,"y":743.1280481815338,"z":"32e1851.926797a","wires":[]},{"id":"98cbff17.bccb1","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n","comments":"","x":480.7142143249512,"y":785.9851868152618,"z":"32e1851.926797a","wires":[]},{"id":"163736b2.ccd829","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":492.38087463378906,"y":328.8422396183014,"z":"32e1851.926797a","wires":[["2235973c.92a228"]]},{"id":"2235973c.92a228","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":679.0475540161133,"y":328.1755373477936,"z":"32e1851.926797a","wires":[["fd830e18.e5be3"]]},{"id":"fd830e18.e5be3","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":860.7141799926758,"y":328.1755373477936,"z":"32e1851.926797a","wires":[]},{"id":"1515e5b2.0118aa","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":474.0475540161133,"y":377.1755573749542,"z":"32e1851.926797a","wires":[["3ca56343.0130cc"]]},{"id":"3ca56343.0130cc","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":729.0476417541504,"y":375.84222531318665,"z":"32e1851.926797a","wires":[["c74d5ebe.aea64"]]},{"id":"c74d5ebe.aea64","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":967.3809280395508,"y":374.84220337867737,"z":"32e1851.926797a","wires":[["8ac9dc06.55595"]]},{"id":"8ac9dc06.55595","type":"set","name":"set vnf-index","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1135.7141227722168,"y":374.84222531318665,"z":"32e1851.926797a","wires":[]},{"id":"89e2b7c.97d0548","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":485.71421813964844,"y":423.8422272205353,"z":"32e1851.926797a","wires":[["4db6429a.65f11c"]]},{"id":"4db6429a.65f11c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":667.3808364868164,"y":423.1755573749542,"z":"32e1851.926797a","wires":[["ee7d31ce.c7dec"]]},{"id":"ee7d31ce.c7dec","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":834.0475234985352,"y":422.8421833515167,"z":"32e1851.926797a","wires":[]},{"id":"a5133000.e13b5","type":"set","name":"copy ONAP model information","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.`' />\n","comments":"","x":529.7854614257812,"y":645.7142851352692,"z":"32e1851.926797a","wires":[]},{"id":"efae7497.72e208","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":542.3809356689453,"y":695.5089495182037,"z":"32e1851.926797a","wires":[]},{"id":"8b82ff89.45fb2","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":845.7142868041992,"y":464.76190304756165,"z":"32e1851.926797a","wires":[[]]},{"id":"605edc8b.b378c4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":670.7143211364746,"y":509.7618935108185,"z":"32e1851.926797a","wires":[["f9215f25.69fe3"]]},{"id":"312db6c6.9c69aa","type":"get-resource","name":"get-resource VF_MODEL","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n","comments":"","outputs":1,"x":519.047607421875,"y":573.0951960086823,"z":"32e1851.926797a","wires":[["2c51876f.25c698","1bf6f57.eff1e0b"]]},{"id":"247e5789.2d6a68","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n","comments":"","x":872.1427955627441,"y":598.1903688907623,"z":"32e1851.926797a","wires":[]},{"id":"2c51876f.25c698","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":706.4999961853027,"y":553.476033449173,"z":"32e1851.926797a","wires":[["2bf6a953.4d1446"]]},{"id":"1bf6f57.eff1e0b","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":715.0714263916016,"y":597.7617466449738,"z":"32e1851.926797a","wires":[["247e5789.2d6a68"]]},{"id":"2bf6a953.4d1446","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n","comments":"","x":871.4999961853027,"y":553.2856276035309,"z":"32e1851.926797a","wires":[]},{"id":"9a3a0f27.7772","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1060.0000610351562,"y":475.7142686843872,"z":"32e1851.926797a","wires":[]}] \ No newline at end of file
+[{"id":"ba26137c.a02c4","type":"dgstart","name":"DGSTART","outputs":1,"x":147.14285278320312,"y":122.41365623474121,"z":"58644c55.2e09f4","wires":[["3615d32b.36469c"]]},{"id":"3615d32b.36469c","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":259.5714111328125,"y":162.65176677703857,"z":"58644c55.2e09f4","wires":[["cf125c5e.ac223"]]},{"id":"cf125c5e.ac223","type":"method","name":"method vnf-topology-operation-changeassign","xml":"<method rpc='vnf-topology-operation-changeassign' mode='sync'>\n","comments":"","outputs":1,"x":255.28575897216797,"y":202.41365432739258,"z":"58644c55.2e09f4","wires":[["d40bf3fc.b9b18"]]},{"id":"e5e0f4b8.266488","type":"comment","name":"vnf-topology-operation-changeassign","info":"","comments":"","x":541.4877090454102,"y":70,"z":"58644c55.2e09f4","wires":[]},{"id":"bb0be56d.51ce78","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":546.3809661865234,"y":304.127947807312,"z":"58644c55.2e09f4","wires":[["cdb51213.4739d","7bf97be1.f8e5f4"]]},{"id":"cdb51213.4739d","type":"outcome","name":"CreateVnfInstance","xml":"<outcome value='CreateVnfInstance'>\n","comments":"","outputs":1,"x":770.5237808227539,"y":278.4136562347412,"z":"58644c55.2e09f4","wires":[["51c994ad.ff2c8c"]]},{"id":"7bf97be1.f8e5f4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":733.5238037109375,"y":322.46129512786865,"z":"58644c55.2e09f4","wires":[["f6f8cec3.eec86"]]},{"id":"51c994ad.ff2c8c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":962.0952377319336,"y":278.4136915206909,"z":"58644c55.2e09f4","wires":[[]]},{"id":"f6f8cec3.eec86","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 'changeassign' then request-action must be 'CreateVnfInstance'\" />\n","comments":"","x":940.9047508239746,"y":322.46130657196045,"z":"58644c55.2e09f4","wires":[]},{"id":"ae7fa21e.89e54","type":"switchNode","name":"switch order-status","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`'>\n","comments":"","outputs":1,"x":611.5238265991211,"y":855.2708969116211,"z":"58644c55.2e09f4","wires":[["d3ea0e40.484f7","61685b89.7bb954"]]},{"id":"d3ea0e40.484f7","type":"other","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":813.5238838195801,"y":832.9850645065308,"z":"58644c55.2e09f4","wires":[["1188c5a4.66d15a"]]},{"id":"26b15807.544338","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=\"The requested VNF is not pending deletion\" />\n","comments":"","x":979.666748046875,"y":876.3184423446655,"z":"58644c55.2e09f4","wires":[]},{"id":"cfffe6ff.f2f028","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":329.5238723754883,"y":851.0327186584473,"z":"58644c55.2e09f4","wires":[["26af04fb.a965bc","875f0999.0630e8","70c0738f.a4f70c","73c9510e.27512","672d6b2.4871c94"]]},{"id":"26af04fb.a965bc","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-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n","comments":"","x":623.5714721679688,"y":1110.699481010437,"z":"58644c55.2e09f4","wires":[]},{"id":"875f0999.0630e8","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n","comments":"","x":597.8571739196777,"y":1153.556619644165,"z":"58644c55.2e09f4","wires":[]},{"id":"84550db4.425","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":532.3809051513672,"y":379.27079486846924,"z":"58644c55.2e09f4","wires":[["a86ad29c.85d2d"]]},{"id":"a86ad29c.85d2d","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":719.0475845336914,"y":378.6040925979614,"z":"58644c55.2e09f4","wires":[["ece0e08b.59e26"]]},{"id":"ece0e08b.59e26","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":900.7142105102539,"y":378.6040925979614,"z":"58644c55.2e09f4","wires":[]},{"id":"6a054c32.899054","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":515.4761428833008,"y":425.7469711303711,"z":"58644c55.2e09f4","wires":[["8f020422.3c8738"]]},{"id":"8f020422.3c8738","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":770.4762306213379,"y":425.4136390686035,"z":"58644c55.2e09f4","wires":[["d583eaa.7b69218"]]},{"id":"d583eaa.7b69218","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1001.8095169067383,"y":425.41361713409424,"z":"58644c55.2e09f4","wires":[["bd161155.4b2b3"]]},{"id":"bd161155.4b2b3","type":"set","name":"set vnf-index","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1177.1427116394043,"y":425.4136390686035,"z":"58644c55.2e09f4","wires":[]},{"id":"a4f0e9f2.ff7fd8","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":527.1428070068359,"y":471.41364097595215,"z":"58644c55.2e09f4","wires":[["46d410bf.b0715"]]},{"id":"46d410bf.b0715","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":708.8094253540039,"y":470.7469711303711,"z":"58644c55.2e09f4","wires":[["7743f028.1494a"]]},{"id":"7743f028.1494a","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":875.4761123657227,"y":470.4135971069336,"z":"58644c55.2e09f4","wires":[]},{"id":"70c0738f.a4f70c","type":"set","name":"copy ONAP model information","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.`' />\n","comments":"","x":646.9284210205078,"y":1013.2857179641724,"z":"58644c55.2e09f4","wires":[]},{"id":"73c9510e.27512","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":659.5238952636719,"y":1063.080382347107,"z":"58644c55.2e09f4","wires":[]},{"id":"1188c5a4.66d15a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":962.8572463989258,"y":832.3333358764648,"z":"58644c55.2e09f4","wires":[[]]},{"id":"61685b89.7bb954","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":787.8572807312012,"y":877.3333263397217,"z":"58644c55.2e09f4","wires":[["26b15807.544338"]]},{"id":"672d6b2.4871c94","type":"get-resource","name":"get-resource VF_MODEL","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n","comments":"","outputs":1,"x":636.1905670166016,"y":940.6666288375854,"z":"58644c55.2e09f4","wires":[["baa14df2.dca8","11eb13fa.f290dc"]]},{"id":"a9b0ba1a.e7cf28","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n","comments":"","x":989.2857551574707,"y":965.7618017196655,"z":"58644c55.2e09f4","wires":[]},{"id":"baa14df2.dca8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":823.6429557800293,"y":921.0474662780762,"z":"58644c55.2e09f4","wires":[["92f92b7d.20be58"]]},{"id":"11eb13fa.f290dc","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":832.2143859863281,"y":965.333179473877,"z":"58644c55.2e09f4","wires":[["a9b0ba1a.e7cf28"]]},{"id":"92f92b7d.20be58","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n","comments":"","x":988.6429557800293,"y":920.8570604324341,"z":"58644c55.2e09f4","wires":[]},{"id":"e882c6d5.a48038","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1177.1430206298828,"y":843.2857015132904,"z":"58644c55.2e09f4","wires":[]},{"id":"1fd874ae.f932db","type":"switchNode","name":"switch: sdnc-generated-cloud-resources","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources`'>\n","comments":"","outputs":1,"x":601.4284973144531,"y":577.1428737640381,"z":"58644c55.2e09f4","wires":[["a5a1ece5.21ae4","a0347796.6bfff8"]]},{"id":"a5a1ece5.21ae4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":852.1785430908203,"y":577.1428756713867,"z":"58644c55.2e09f4","wires":[["b26b3417.62ed98"]]},{"id":"b26b3417.62ed98","type":"call","name":"call self-serve-vnf-changeassign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-changeassign' mode='sync' >\n","comments":"","outputs":1,"x":1069.6427001953125,"y":577.3214721679688,"z":"58644c55.2e09f4","wires":[["1b2e4be7.c157d4","23fe395e.1497d6"]]},{"id":"1b2e4be7.c157d4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1295.3926849365234,"y":577.571460723877,"z":"58644c55.2e09f4","wires":[["9e12abdd.a2c528"]]},{"id":"9e12abdd.a2c528","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error while unassigning self-serve resources with error: '+ $error-message`\" />\n","comments":"","x":1454.964111328125,"y":577.21435546875,"z":"58644c55.2e09f4","wires":[]},{"id":"a0347796.6bfff8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":854.28564453125,"y":621.4285163879395,"z":"58644c55.2e09f4","wires":[["cfffe6ff.f2f028"]]},{"id":"d40bf3fc.b9b18","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":274.2857131958008,"y":425.7142848968506,"z":"58644c55.2e09f4","wires":[["bb0be56d.51ce78","84550db4.425","6a054c32.899054","a4f0e9f2.ff7fd8","1fd874ae.f932db"]]},{"id":"38f665e5.63630a","type":"comment","name":"self-serve FORKING LOGIC","info":"","comments":"","x":334.28570556640625,"y":532.8571243286133,"z":"58644c55.2e09f4","wires":[]},{"id":"23fe395e.1497d6","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1301.857177734375,"y":622.857177734375,"z":"58644c55.2e09f4","wires":[["1eaf4622.591d5a"]]},{"id":"1eaf4622.591d5a","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":1470.4285926818848,"y":622.4286193847656,"z":"58644c55.2e09f4","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.json
index b1eea7ed..b4efe18f 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.json
@@ -1 +1 @@
-[{"id":"944f4f91.384e8","type":"dgstart","name":"DGSTART","outputs":1,"x":98.5714340209961,"y":82.41365623474121,"z":"b870dbc1.f01f08","wires":[["5385f04.eb80e1"]]},{"id":"5385f04.eb80e1","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":212.85713958740234,"y":122.65176773071289,"z":"b870dbc1.f01f08","wires":[["790a0d91.15b024"]]},{"id":"790a0d91.15b024","type":"method","name":"method vnf-topology-operation-unassign","xml":"<method rpc='vnf-topology-operation-unassign' mode='sync'>\n","comments":"","outputs":1,"x":195.00006103515625,"y":162.4136562347412,"z":"b870dbc1.f01f08","wires":[["bdca26b2.1447d8"]]},{"id":"49372a3c.517844","type":"comment","name":"vnf-topology-operation-unassign","info":"","comments":"","x":492.9162902832031,"y":30,"z":"b870dbc1.f01f08","wires":[]},{"id":"e61c5038.9ee12","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":502.0952453613281,"y":261.2707939147949,"z":"b870dbc1.f01f08","wires":[["fc9d5d49.169d","d6db7880.d1ef08"]]},{"id":"fc9d5d49.169d","type":"outcome","name":"DeleteVnfInstance","xml":"<outcome value='DeleteVnfInstance'>\n","comments":"","outputs":1,"x":755.8095397949219,"y":238.41367530822754,"z":"b870dbc1.f01f08","wires":[["31791927.887fa6"]]},{"id":"d6db7880.d1ef08","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":717.8095054626465,"y":284.12800312042236,"z":"b870dbc1.f01f08","wires":[["b87470b4.e1841"]]},{"id":"31791927.887fa6","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":940.6666679382324,"y":238.41370487213135,"z":"b870dbc1.f01f08","wires":[[]]},{"id":"b87470b4.e1841","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 'deactivate' then request-action must be 'DeleteVnfInstance'\" />\n","comments":"","x":957.809513092041,"y":284.12796115875244,"z":"b870dbc1.f01f08","wires":[]},{"id":"bdca26b2.1447d8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":176.90476989746094,"y":555.7469902038574,"z":"b870dbc1.f01f08","wires":[["e61c5038.9ee12","bc0ea399.b5175","3fe9d895.d6c6d8","f8af2a3b.dfaaf8","9ec4a40.4c9046","e134089.fe067f8","407d562c.ffe458","83bb488f.f3aa38","c21ea09c.f64bc"]]},{"id":"bc0ea399.b5175","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":488.57141876220703,"y":330.74701976776123,"z":"b870dbc1.f01f08","wires":[["7206f725.eb2e88"]]},{"id":"7206f725.eb2e88","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":675.2380981445312,"y":330.0803174972534,"z":"b870dbc1.f01f08","wires":[["3f73d92a.b2f766"]]},{"id":"3f73d92a.b2f766","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":856.9047241210938,"y":330.0803174972534,"z":"b870dbc1.f01f08","wires":[]},{"id":"e134089.fe067f8","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":470.23809814453125,"y":379.08033752441406,"z":"b870dbc1.f01f08","wires":[["6e9fe2bf.dec39c"]]},{"id":"6e9fe2bf.dec39c","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":725.2381858825684,"y":377.7470054626465,"z":"b870dbc1.f01f08","wires":[["1f6e3682.240c19"]]},{"id":"1f6e3682.240c19","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":963.5714721679688,"y":376.7469835281372,"z":"b870dbc1.f01f08","wires":[["4f964f4a.a0762"]]},{"id":"4f964f4a.a0762","type":"set","name":"set vnf-index","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1131.9046669006348,"y":376.7470054626465,"z":"b870dbc1.f01f08","wires":[]},{"id":"407d562c.ffe458","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":481.9047622680664,"y":425.7470073699951,"z":"b870dbc1.f01f08","wires":[["4ebb6352.1f906c"]]},{"id":"4ebb6352.1f906c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":663.5713806152344,"y":425.08033752441406,"z":"b870dbc1.f01f08","wires":[["39b1b294.07bc9e"]]},{"id":"39b1b294.07bc9e","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":830.2380676269531,"y":424.74696350097656,"z":"b870dbc1.f01f08","wires":[]},{"id":"3fe9d895.d6c6d8","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":467.12711334228516,"y":1187.4133186340332,"z":"b870dbc1.f01f08","wires":[]},{"id":"1de366e5.21c939","type":"for","name":"for each vnf","xml":"<for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":990.4618606567383,"y":832.9690895080566,"z":"b870dbc1.f01f08","wires":[["61ee4251.957cdc"]]},{"id":"74a7fc40.220eb4","type":"comment","name":"Remove VNF from service data","info":"","comments":"","x":432.6206283569336,"y":791.5407419204712,"z":"b870dbc1.f01f08","wires":[]},{"id":"61ee4251.957cdc","type":"set","name":"move vnf to remove one","xml":"<set>\n\t<parameter name=\"$tmpidx\" value=\"`$idx - 1`\"/>\n\t<parameter name=\"service-data.vnfs.vnf[$tmpidx].\" value=\"$service-data.vnfs.vnf[$idx].\" />\n\t\n","comments":"","x":1224.052993774414,"y":831.9930410385132,"z":"b870dbc1.f01f08","wires":[]},{"id":"9ec4a40.4c9046","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":476.71972274780273,"y":834.5487184524536,"z":"b870dbc1.f01f08","wires":[["fca60f91.c7a1e","a197ccd2.c3d8e"]]},{"id":"fca60f91.c7a1e","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":653.7197647094727,"y":795.2153053283691,"z":"b870dbc1.f01f08","wires":[["3854ad6d.628382"]]},{"id":"3854ad6d.628382","type":"set","name":"Remove vnfs","xml":"<set>\n\t<parameter name=\"service-data.vnfs.\" value=\"\"/>\n\n","comments":"","x":817.3862609863281,"y":795.215404510498,"z":"b870dbc1.f01f08","wires":[]},{"id":"a197ccd2.c3d8e","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":652.3865089416504,"y":878.5485782623291,"z":"b870dbc1.f01f08","wires":[["de8a693b.880468"]]},{"id":"e56b088f.c69118","type":"set","name":"set new vnf length","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf_length\" value=\"`$service-data.vnfs.vnf_length - 1`\"/>\n\n\t\n","comments":"","x":1010.0159492492676,"y":923.5486631393433,"z":"b870dbc1.f01f08","wires":[]},{"id":"21ac3bbb.ed36d4","type":"set","name":"Remove the last vnf in the list","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1].\" value=\"\"/>\n\n","comments":"","x":1045.7196044921875,"y":878.6596841812134,"z":"b870dbc1.f01f08","wires":[]},{"id":"de8a693b.880468","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":821.0529975891113,"y":879.2152252197266,"z":"b870dbc1.f01f08","wires":[["1de366e5.21c939","21ac3bbb.ed36d4","e56b088f.c69118"]]},{"id":"7c3d420a.94a7ec","type":"switchNode","name":"switch current vnf-level-oper-status == Created","xml":"<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'Created'`\">\n","comments":"","outputs":1,"x":581.2380752563477,"y":471.4136772155762,"z":"b870dbc1.f01f08","wires":[["f39054b3.2d9ee8"]]},{"id":"f39054b3.2d9ee8","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":885.9047927856445,"y":471.0803165435791,"z":"b870dbc1.f01f08","wires":[["cb7c915.bf38c7"]]},{"id":"cb7c915.bf38c7","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Cannot delete a VNF in a Created state\" />\n","comments":"","x":1044.2380676269531,"y":470.41364097595215,"z":"b870dbc1.f01f08","wires":[]},{"id":"f8af2a3b.dfaaf8","type":"switchNode","name":"switch current vf-module_length","xml":"<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`\">\n","comments":"","outputs":1,"x":531.571418762207,"y":557.4136428833008,"z":"b870dbc1.f01f08","wires":[["570efcb.c4d6904","8123ceeb.3d5e2","b858ddb6.e005b"]]},{"id":"570efcb.c4d6904","type":"outcome","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":760.2380599975586,"y":514.0802841186523,"z":"b870dbc1.f01f08","wires":[["1b6ab0b1.e42baf"]]},{"id":"8123ceeb.3d5e2","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":758.8094711303711,"y":555.5089416503906,"z":"b870dbc1.f01f08","wires":[["1b6ab0b1.e42baf"]]},{"id":"1b6ab0b1.e42baf","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":907.3809852600098,"y":535.5089426040649,"z":"b870dbc1.f01f08","wires":[[]]},{"id":"b858ddb6.e005b","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":758.8095207214355,"y":596.9375295639038,"z":"b870dbc1.f01f08","wires":[["c6a13249.b2d5f"]]},{"id":"c6a13249.b2d5f","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Cannot delete the VNF because there are VFs defined\" />\n","comments":"","x":925.9524154663086,"y":596.5089178085327,"z":"b870dbc1.f01f08","wires":[]},{"id":"64d5b254.bed35c","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n","comments":"","outputs":1,"x":1322.4126358032227,"y":1086.9047145843506,"z":"b870dbc1.f01f08","wires":[[]]},{"id":"4f0c0b06.065bd4","type":"set","name":"set variables for deleting name","xml":"<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n","comments":"","x":1223.8412551879883,"y":1039.7617855072021,"z":"b870dbc1.f01f08","wires":[]},{"id":"83bb488f.f3aa38","type":"switchNode","name":"switch: sdnc-generated-cloud-resources","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources`'>\n","comments":"","outputs":1,"x":556.4286117553711,"y":675.1587429046631,"z":"b870dbc1.f01f08","wires":[["3ad6c6a.f1af83a"]]},{"id":"3ad6c6a.f1af83a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":807.1786575317383,"y":675.1587448120117,"z":"b870dbc1.f01f08","wires":[["9f0d731c.fb8ff"]]},{"id":"a0ad75de.430768","type":"call","name":"call self-serve-vnf-unassign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-unassign' mode='sync' >\n","comments":"","outputs":1,"x":1211.9286041259766,"y":674.9087448120117,"z":"b870dbc1.f01f08","wires":[["7fe38fcd.9d338"]]},{"id":"7fe38fcd.9d338","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1419.6785888671875,"y":675.1587333679199,"z":"b870dbc1.f01f08","wires":[["9b0d248d.110118"]]},{"id":"9b0d248d.110118","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error while unassigning self-serve resources with error: '+ $error-message`\" />\n","comments":"","x":1585.250015258789,"y":674.801628112793,"z":"b870dbc1.f01f08","wires":[]},{"id":"9f0d731c.fb8ff","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":980.928581237793,"y":675.1587352752686,"z":"b870dbc1.f01f08","wires":[["a0ad75de.430768"]]},{"id":"c21ea09c.f64bc","type":"switchNode","name":"switch: sdnc-generated-cloud-resources","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources`'>\n","comments":"","outputs":1,"x":546.9047775268555,"y":1039.444423675537,"z":"b870dbc1.f01f08","wires":[["460f3dc9.fdcbe4","60026b43.620bc4"]]},{"id":"460f3dc9.fdcbe4","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":797.6548233032227,"y":1039.4444255828857,"z":"b870dbc1.f01f08","wires":[["16c7430.7fa30bd"]]},{"id":"60026b43.620bc4","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":798.0158615112305,"y":1082.7777976989746,"z":"b870dbc1.f01f08","wires":[["16c7430.7fa30bd"]]},{"id":"16c7430.7fa30bd","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":965.793571472168,"y":1039.444423675537,"z":"b870dbc1.f01f08","wires":[["4f0c0b06.065bd4","64d5b254.bed35c"]]},{"id":"cb1bb44d.7af418","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1251.4284439086914,"y":470.00002670288086,"z":"b870dbc1.f01f08","wires":[]}] \ No newline at end of file
+[{"id":"25a3d9ae.9d1f86","type":"dgstart","name":"DGSTART","outputs":1,"x":130,"y":72.41365623474121,"z":"c3de84ea.9a8ab8","wires":[["a794bc78.a6edf"]]},{"id":"a794bc78.a6edf","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":244.28570556640625,"y":112.65176773071289,"z":"c3de84ea.9a8ab8","wires":[["dd306b27.4e9da8"]]},{"id":"dd306b27.4e9da8","type":"method","name":"method vnf-topology-operation-unassign","xml":"<method rpc='vnf-topology-operation-unassign' mode='sync'>\n","comments":"","outputs":1,"x":226.42862701416016,"y":152.4136562347412,"z":"c3de84ea.9a8ab8","wires":[["baaf7187.65d5e"]]},{"id":"360167fe.0781a8","type":"comment","name":"vnf-topology-operation-unassign","info":"","comments":"","x":524.344856262207,"y":20,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"5e00f7fa.850eb8","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":533.523811340332,"y":251.27079391479492,"z":"c3de84ea.9a8ab8","wires":[["30cf4206.50215e","bfb435ad.51cf98"]]},{"id":"30cf4206.50215e","type":"outcome","name":"DeleteVnfInstance","xml":"<outcome value='DeleteVnfInstance'>\n","comments":"","outputs":1,"x":787.2381057739258,"y":228.41367530822754,"z":"c3de84ea.9a8ab8","wires":[["794ef52e.6ad35c"]]},{"id":"bfb435ad.51cf98","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":749.2380714416504,"y":274.12800312042236,"z":"c3de84ea.9a8ab8","wires":[["f48c1d84.4d8eb"]]},{"id":"794ef52e.6ad35c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":972.0952339172363,"y":228.41370487213135,"z":"c3de84ea.9a8ab8","wires":[[]]},{"id":"f48c1d84.4d8eb","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 'deactivate' then request-action must be 'DeleteVnfInstance'\" />\n","comments":"","x":989.2380790710449,"y":274.12796115875244,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"baaf7187.65d5e","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":208.33333587646484,"y":545.7469902038574,"z":"c3de84ea.9a8ab8","wires":[["5e00f7fa.850eb8","62c6e7a.e57df18","b4f388d2.a42de8","afd914be.c5fb58","aa6862f1.3ef89","de1b00d3.d3a54"]]},{"id":"62c6e7a.e57df18","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":519.9999847412109,"y":320.74701976776123,"z":"c3de84ea.9a8ab8","wires":[["8b304d72.d85d4"]]},{"id":"8b304d72.d85d4","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":706.6666641235352,"y":320.0803174972534,"z":"c3de84ea.9a8ab8","wires":[["dd91dd24.9b797"]]},{"id":"dd91dd24.9b797","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":888.3332901000977,"y":320.0803174972534,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"afd914be.c5fb58","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":501.66666412353516,"y":369.08033752441406,"z":"c3de84ea.9a8ab8","wires":[["6d4d78d8.367718"]]},{"id":"6d4d78d8.367718","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":756.6667518615723,"y":367.7470054626465,"z":"c3de84ea.9a8ab8","wires":[["39215d12.4e7cc2"]]},{"id":"39215d12.4e7cc2","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":995.0000381469727,"y":366.7469835281372,"z":"c3de84ea.9a8ab8","wires":[["6901fdc0.214364"]]},{"id":"6901fdc0.214364","type":"set","name":"set vnf-index","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1163.3332328796387,"y":366.7470054626465,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"aa6862f1.3ef89","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":513.3333282470703,"y":415.7470073699951,"z":"c3de84ea.9a8ab8","wires":[["ece34750.d6d518"]]},{"id":"ece34750.d6d518","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":694.9999465942383,"y":415.08033752441406,"z":"c3de84ea.9a8ab8","wires":[["3641b7e4.9f2118"]]},{"id":"3641b7e4.9f2118","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":861.666633605957,"y":414.74696350097656,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"d1cfcf36.4b6a6","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":898.5556411743164,"y":1167.4133262634277,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"e3f870b0.94549","type":"for","name":"for each vnf","xml":"<for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1419.033218383789,"y":912.9690952301025,"z":"c3de84ea.9a8ab8","wires":[["f3437618.39ead8"]]},{"id":"dcf0bf8f.0fda2","type":"comment","name":"Remove VNF from service data","info":"","comments":"","x":861.1919860839844,"y":871.5407476425171,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"f3437618.39ead8","type":"set","name":"move vnf to remove one","xml":"<set>\n\t<parameter name=\"$tmpidx\" value=\"`$idx - 1`\"/>\n\t<parameter name=\"service-data.vnfs.vnf[$tmpidx].\" value=\"$service-data.vnfs.vnf[$idx].\" />\n\t\n","comments":"","x":1652.6243515014648,"y":911.9930467605591,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"7412c64.9e64938","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":905.2910804748535,"y":914.5487241744995,"z":"c3de84ea.9a8ab8","wires":[["1e66afef.73db7","abdae1e7.22546"]]},{"id":"1e66afef.73db7","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":1082.2911224365234,"y":875.215311050415,"z":"c3de84ea.9a8ab8","wires":[["965034f7.9467d8"]]},{"id":"965034f7.9467d8","type":"set","name":"Remove vnfs","xml":"<set>\n\t<parameter name=\"service-data.vnfs.\" value=\"\"/>\n\n","comments":"","x":1245.957618713379,"y":875.215410232544,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"abdae1e7.22546","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1083.815013885498,"y":955.6914501190186,"z":"c3de84ea.9a8ab8","wires":[["ec40a25a.a35e8"]]},{"id":"e5e69eb.9c6e76","type":"set","name":"set new vnf length","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf_length\" value=\"`$service-data.vnfs.vnf_length - 1`\"/>\n\n\t\n","comments":"","x":1438.5873069763184,"y":1003.5486688613892,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"a935f977.804e08","type":"set","name":"Remove the last vnf in the list","xml":"<set>\n\t<parameter name=\"service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1].\" value=\"\"/>\n\n","comments":"","x":1474.2909622192383,"y":958.6596899032593,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"ec40a25a.a35e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1249.624355316162,"y":959.2152309417725,"z":"c3de84ea.9a8ab8","wires":[["e3f870b0.94549","a935f977.804e08","e5e69eb.9c6e76"]]},{"id":"5a1a4fee.6ed0b","type":"switchNode","name":"switch current vnf-level-oper-status == Created","xml":"<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'Created'`\">\n","comments":"","outputs":1,"x":612.6666412353516,"y":461.4136772155762,"z":"c3de84ea.9a8ab8","wires":[["963358c8.2325c8"]]},{"id":"963358c8.2325c8","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":917.3333587646484,"y":461.0803165435791,"z":"c3de84ea.9a8ab8","wires":[["bc4bdef0.dd68a"]]},{"id":"bc4bdef0.dd68a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Cannot delete a VNF in a Created state\" />\n","comments":"","x":1075.666633605957,"y":460.41364097595215,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"b4f388d2.a42de8","type":"switchNode","name":"switch current vf-module_length","xml":"<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`\">\n","comments":"","outputs":1,"x":562.9999847412109,"y":547.4136428833008,"z":"c3de84ea.9a8ab8","wires":[["c8e2e757.c7d538","9a55e694.5517b8","3df6c5ea.75f72a"]]},{"id":"c8e2e757.c7d538","type":"outcome","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":791.6666259765625,"y":504.08028411865234,"z":"c3de84ea.9a8ab8","wires":[["a8f7fbbb.f4b098"]]},{"id":"9a55e694.5517b8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":790.238037109375,"y":545.5089416503906,"z":"c3de84ea.9a8ab8","wires":[["a8f7fbbb.f4b098"]]},{"id":"a8f7fbbb.f4b098","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":938.8095512390137,"y":525.5089426040649,"z":"c3de84ea.9a8ab8","wires":[[]]},{"id":"3df6c5ea.75f72a","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":790.2380867004395,"y":586.9375295639038,"z":"c3de84ea.9a8ab8","wires":[["cd298292.d1eea"]]},{"id":"cd298292.d1eea","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Cannot delete the VNF because there are VFs defined\" />\n","comments":"","x":957.3809814453125,"y":586.5089178085327,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"79ef7bec.600ac4","type":"call","name":"call GENERIC-RESOURCE-API:naming-policy-generate-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n","comments":"","outputs":1,"x":1046.6982727050781,"y":1111.190375328064,"z":"c3de84ea.9a8ab8","wires":[[]]},{"id":"27a48ef6.fde062","type":"set","name":"set variables for deleting name","xml":"<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n","comments":"","x":948.1268920898438,"y":1064.0474462509155,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"de1b00d3.d3a54","type":"switchNode","name":"switch: sdnc-generated-cloud-resources","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources`'>\n","comments":"","outputs":1,"x":587.857177734375,"y":665.1587429046631,"z":"c3de84ea.9a8ab8","wires":[["69497ea1.e2532","ac58b2ea.2ec66"]]},{"id":"69497ea1.e2532","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":838.6072235107422,"y":665.1587448120117,"z":"c3de84ea.9a8ab8","wires":[["5edcf5b1.25b02c"]]},{"id":"5edcf5b1.25b02c","type":"call","name":"call self-serve-vnf-unassign","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-unassign' mode='sync' >\n","comments":"","outputs":1,"x":1057.642837524414,"y":664.9087409973145,"z":"c3de84ea.9a8ab8","wires":[["bd111e6a.bcff3","1bba633a.55d6bd"]]},{"id":"bd111e6a.bcff3","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1265.392822265625,"y":665.1587295532227,"z":"c3de84ea.9a8ab8","wires":[["37ba7c4c.74db14"]]},{"id":"37ba7c4c.74db14","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error while unassigning self-serve resources with error: '+ $error-message`\" />\n","comments":"","x":1430.9642486572266,"y":664.8016242980957,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"d40a58e9.b53438","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1282.8570098876953,"y":460.00002670288086,"z":"c3de84ea.9a8ab8","wires":[]},{"id":"ac58b2ea.2ec66","type":"other","name":"Other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":840,"y":708.5714111328125,"z":"c3de84ea.9a8ab8","wires":[["c1e42df.44dd2d"]]},{"id":"c1e42df.44dd2d","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":655.7142868041992,"y":997.1427898406982,"z":"c3de84ea.9a8ab8","wires":[["7412c64.9e64938","27a48ef6.fde062","79ef7bec.600ac4","d1cfcf36.4b6a6"]]},{"id":"1bba633a.55d6bd","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1269.9999961853027,"y":715.7142639160156,"z":"c3de84ea.9a8ab8","wires":[["1eb8566b.ac430a"]]},{"id":"1eb8566b.ac430a","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":1438.5714111328125,"y":715.2857055664062,"z":"c3de84ea.9a8ab8","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml
new file mode 100644
index 00000000..acbda514
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml
@@ -0,0 +1,5022 @@
+<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='self-serve-aai-vf-module-put' mode='sync'>
+ <block atomic="true">
+ <switch test='`$ss.capability-action`'>
+ <outcome value=''>
+ <return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="ss.capability-action is null" />
+ </return>
+ </outcome>
+ <outcome value='assign'>
+ <block atomic='true'>
+ <block>
+ <set>
+ <parameter name='nidx' value='0' />
+ </set>
+ <for silentFailure='true' index="bidx" start="0" end="`$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_length`" >
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >
+ <parameter name="source" value="`$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[$bidx].name`" />
+ <parameter name="target" value="sriov"/>
+ <outcome value='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='endsWith' emitsOutcome='true' >
+ <parameter name="source" value="`$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[$bidx].name`" />
+ <parameter name="target" value="_net_id"/>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='ss.network[$nidx].netid' value='`$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[$bidx].value`' />
+ </set>
+ <set>
+ <parameter name='nidx' value='`$nidx + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ <outcome value='false'>
+ <switch test='`$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[$bidx].name`'>
+ <outcome value='vf_module_id'>
+ <set>
+ <parameter name='ss.param.vf-module-id' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='vf_module_name'>
+ <set>
+ <parameter name='ss.param.vf-module-name' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='volume_group_id'>
+ <set>
+ <parameter name='ss.param.volume-group-id' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='volume-group-name'>
+ <set>
+ <parameter name='ss.param.volume-group-name' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='aic-cloud-region'>
+ <set>
+ <parameter name='ss.param.aic-cloud-region' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-name'>
+ <set>
+ <parameter name='ss.param.vnfc-name' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.vnfc-name-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='oam-interface-name'>
+ <set>
+ <parameter name='ss.param.oam-interface-name' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.oam-interface-name-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='=”lo0-interface-name'>
+ <set>
+ <parameter name='ss.param.lo0-interface-name' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.lo0-interface-name-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='ipv4-oam-address'>
+ <set>
+ <parameter name='ss.param.ipv4-oam-address' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.ipv4-oam-address-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='ipv4-oam-address-prefix'>
+ <set>
+ <parameter name='ss.param.ipv4-oam-address-prefix' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.ipv4-oam-address-prefix-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='loopback0_ipv4_address'>
+ <set>
+ <parameter name='ss.param.loopback0-ipv4-address' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='aai-vf-module-put'>
+ <set>
+ <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='nfc-naming-code'>
+ <set>
+ <parameter name='ss.param.nfc-naming-code' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.nfc-naming-code-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='nfc-function'>
+ <set>
+ <parameter name='ss.param.nfc-function' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.nfc-function-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-customization-uuid'>
+ <set>
+ <parameter name='ss.param.vnfc-model-customization-uuid' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-invariant-uuid'>
+ <set>
+ <parameter name='ss.param.vnfc-model-invariant-uuid' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-version'>
+ <set>
+ <parameter name='ss.param.vnfc-model-version' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.vnfc-model-version-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='ipv4-loopback0-address'>
+ <set>
+ <parameter name='ss.param.ipv4-loopback0-address' value ='`$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[$bidx].value`' />
+ <parameter name='ss.param.ipv4-loopback0-address-index' value='`bidx`' />
+ </set>
+ </outcome>
+ <outcome value='as-number'>
+ <set>
+ <parameter name='ss.param.as-number' value ='`$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[$bidx].value`' />
+ <parameter name='ss.param.as-number-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='vlan-id-outer'>
+ <set>
+ <parameter name='ss.param.vlan-id-outer' value ='`$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[$bidx].value`' />
+ <parameter name='ss.param.vlan-id-outer-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </for>
+ <set>
+ <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />
+ </set>
+ </block>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id "
+ pfx="tmp.aai.vnf" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Encountered error to get generic-vnf with vnf-id=' + $ss.param.vnf-id + ' from AnAI'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'generic-vnf.vnf-name with vnf-id=' + $ss.param.vnf-id + ' not found in AAI'`" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$ss.param.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$ss.param.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$ss.param.as-number`' />
+ <parameter name="vlan-id-outer" value='`$ss.param.vlan-id-outer`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $ss.param.vnf-name`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name because generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI'`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id "
+ pfx="tmp.aai.vfmdoule" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to get vf-module in AnAI with vf-module-id = ' + $ss.param.vf-module-id + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'vf-module not found in AnAI with vf-module-id=' + $ss.param.vf-module-id + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$ss.param.vf-module-name`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to update vf-module-name with vf-module-id = ' + $ss.param.vf-module-id + ' in AnAI; ' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to update vf-module-name with vf-module-id =' + $ss.param.vf-module-id + ' because vf-module is not found in AAI' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id"
+ pfx="tmp.aai.volume-group" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to get volume-group in AnAI with volume-group-id = ' + $ss.param.volume-group-id + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'volume-group not found in AnAI with volume-group-id=' + $ss.param.volume-group-id + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$ss.param.volume-group-name`' />
+ <parameter name="volume-group-id" value='`$ss.param.volume-group-id`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to update volume-group with volume-group-id =' + $ss.param.volume-group-id + ' and volume-group-name = ' + $ss.param.volume-group-name + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to update volume-group with volume-group-id =' + $ss.param.volume-group-id + ' and volume-group-name = ' + $ss.param.volume-group-name + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <parameter name="nfc-naming-code" value='`$ss.param.nfc-naming-code`' />
+ <parameter name="nfc-function" value='`$ss.param.nfc-function`' />
+ <parameter name="model-customization-id" value='`$ss.param.vnfc-model-customization-uuid`' />
+ <parameter name="model-invariant-id" value='`$ss.param.vnfc-model-invariant-uuid`' />
+ <parameter name="model-version-id" value='`$ss.param.vnfc-model-version`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create vnfc with vnfc-name =' + $ss.param.vnfc-name + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create vnfc with vnfc-name =' + $ss.param.vnfc-name + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp"
+ key="cp.cp-instance-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id
+ AND vnfc.vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <parameter name="cp-instance-id"
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create connection-point with cp-instance-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create connection-point with cp-instance-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <for silentFailure='true' index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <parameter name="vlan-tag-id"
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid`' />
+ <parameter name="vlan-tag-role"
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-description`' />
+ <parameter name="vlan-id-outer"
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-id`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag:relationship-list"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cp.cp-instance-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create cp relationship for vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create cp relationship for vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </save>
+ </for>
+ </outcome>
+ </save>
+ </for>
+ <block atomic='true'>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <block atomic='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <parameter name="interface-name" value='`$ss.param.oam-interface-name`' />
+ <parameter name="interface-role" value='OAM' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.oam-interface-name + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.oam-interface-name + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list"
+ key="l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address
+ AND generic-vnf.vnf-id = $ss.param.vnf-id
+ AND l-interface.interface-name = $ss.param.oam-interface-name" >
+ <parameter name="l3-interface-ipv4-address" value='`$ss.param.ipv4-oam-address`' />
+ <parameter name="l3-interface-ipv4-prefix-length" value='`$ss.param.ipv4-oam-address-prefix`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$ss.param.lo0-interface-name != ''`">
+ <outcome value='true'>
+ <block atomic='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.lo0-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <parameter name="interface-name" value='`$ss.param.lo0-interface-name`' />
+ <parameter name="interface-role" value='loopback' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list"
+ key="l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address
+ AND generic-vnf.vnf-id = $ss.param.vnf-id
+ AND l-interface.interface-name = $ss.param.lo0-interface-name" >
+ <parameter name="l3-interface-ipv4-address" value='`$ss.param.loopback0-ipv4-address`' />
+ <parameter name="l3-interface-ipv4-prefix-length" value='32' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.lo0-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.lo0-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list with l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.lo0-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.lo0-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list with l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ <for silentFailure='true' index='n' start='0' end='`$nidx`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$ss.network[$n].netid`" />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.lo0-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.lo0-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>
+ </record>
+ <for silentFailure='true' index='n' start='0' end='`$nidx`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND related-to = l3-network
+ AND l3-network.network-id = $ss.network[$n].netid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create generic-vnf releationship for l3-network with network-id =' + $ss.network[$n].netid + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />
+ <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vf-module update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK volume-group update"/>
+ </record>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="volume-group"
+ key="cloud-region.cloud-owner = $prop.cloud-owner
+ AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region
+ AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND volume-group-id = $ss.param.volume-group-id" >
+ <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.lo0-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.lo0-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>
+ </record>
+ <for silentFailure='true' index='n' start='0' end='`$nidx`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND related-to = l3-network
+ AND l3-network.network-id = $ss.network[$n].netid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`' Failed to create generic-vnf releationship for l3-network with network-id =' + $ss.network[$n].netid + ' in AnAI.' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='SUCCESS' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='unassign'>
+ <block atomic='true'>
+ <block>
+ <set>
+ <parameter name='nidx' value='0' />
+ </set>
+ <for silentFailure='true' index="bidx" start="0" end="`$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_length`" >
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >
+ <parameter name="source" value="`$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[$bidx].name`" />
+ <parameter name="target" value="sriov"/>
+ <outcome value='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='endsWith' emitsOutcome='true' >
+ <parameter name="source" value="`$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[$bidx].name`" />
+ <parameter name="target" value="_net_id"/>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='ss.network[$nidx].netid' value='`$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[$bidx].value`' />
+ </set>
+ <set>
+ <parameter name='nidx' value='`$nidx + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ <outcome value='false'>
+ <switch test='`$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[$bidx].name`'>
+ <outcome value='vf_module_id'>
+ <set>
+ <parameter name='ss.param.vf-module-id' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='vf_module_name'>
+ <set>
+ <parameter name='ss.param.vf-module-name' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='volume_group_id'>
+ <set>
+ <parameter name='ss.param.volume-group-id' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='volume-group-name'>
+ <set>
+ <parameter name='ss.param.volume-group-name' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='aic-cloud-region'>
+ <set>
+ <parameter name='ss.param.aic-cloud-region' value='`$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[$bidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-name'>
+ <set>
+ <parameter name='ss.param.vnfc-name' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.vnfc-name-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='oam-interface-name'>
+ <set>
+ <parameter name='ss.param.oam-interface-name' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.oam-interface-name-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='=”lo0-interface-name'>
+ <set>
+ <parameter name='ss.param.lo0-interface-name' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.lo0-interface-name-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='ipv4-oam-address'>
+ <set>
+ <parameter name='ss.param.ipv4-oam-address' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.ipv4-oam-address-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='ipv4-oam-address-prefix'>
+ <set>
+ <parameter name='ss.param.ipv4-oam-address-prefix' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.ipv4-oam-address-prefix-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='loopback0_ipv4_address'>
+ <set>
+ <parameter name='ss.param.loopback0-ipv4-address' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='aai-vf-module-put'>
+ <set>
+ <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='nfc-naming-code'>
+ <set>
+ <parameter name='ss.param.nfc-naming-code' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.nfc-naming-code-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='nfc-function'>
+ <set>
+ <parameter name='ss.param.nfc-function' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.nfc-function-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-customization-uuid'>
+ <set>
+ <parameter name='ss.param.vnfc-model-customization-uuid' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-invariant-uuid'>
+ <set>
+ <parameter name='ss.param.vnfc-model-invariant-uuid' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-version'>
+ <set>
+ <parameter name='ss.param.vnfc-model-version' value='`$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[$bidx].value`' />
+ <parameter name='ss.param.vnfc-model-version-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='ipv4-loopback0-address'>
+ <set>
+ <parameter name='ss.param.ipv4-loopback0-address' value ='`$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[$bidx].value`' />
+ <parameter name='ss.param.ipv4-loopback0-address-index' value='`bidx`' />
+ </set>
+ </outcome>
+ <outcome value='as-number'>
+ <set>
+ <parameter name='ss.param.as-number' value ='`$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[$bidx].value`' />
+ <parameter name='ss.param.as-number-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ <outcome value='vlan-id-outer'>
+ <set>
+ <parameter name='ss.param.vlan-id-outer' value ='`$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[$bidx].value`' />
+ <parameter name='ss.param.vlan-id-outer-index' value='`$bidx`' />
+ </set>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </for>
+ <set>
+ <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />
+ </set>
+ </block>
+ <set>
+ <parameter name='tmp.return-failure' value ='true' />
+ </set>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='DELETED' />
+ </set>
+ <block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vnfc save"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $ss.param.vnfc-name" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK vlan-tag save"/>
+ </record>
+ <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </for>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.oam-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.oam-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>
+ </record>
+ <switch test="`$ss.param.lo0-interface-name != ''`">
+ <outcome value='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l-interface"
+ key="l-interface.interface-name = $ss.param.lo0-interface-name
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </outcome>
+ </switch>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>
+ </record>
+ <for silentFailure='true' index='n' start='0' end='`$nidx`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND related-to = l3-network
+ AND l3-network.network-id = $ss.network[$n].netid" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ <switch test='`$tmp.return-failure`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.param.aai-vf-module-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='`$error-message`' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />
+ </set>
+ </outcome>
+ </delete>
+ </for>
+ </block>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />
+ </execute>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.xml
new file mode 100644
index 00000000..e7910881
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vnf-put.xml
@@ -0,0 +1,343 @@
+<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='self-serve-aai-vnf-put' mode='sync'>
+ <block atomic="true">
+ <switch test='`$ss.capability-action`'>
+ <outcome value=''>
+ <return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="ss.capability-action is null" />
+ </return>
+ </outcome>
+ <outcome value='assign'>
+ <block atomic='true'>
+ <for silentFailure='true' index="aidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].name`'>
+ <outcome value='vnf_name'>
+ <set>
+ <parameter name='ss.param.vnf-name' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />
+ <parameter name='ss.param.vnf-name-index' value='`$aidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnf_id'>
+ <set>
+ <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />
+ <parameter name='ss.param.vnf-id-index' value='`$aidx`' />
+ </set>
+ </outcome>
+ <outcome value='license-assignment-group-uuid'>
+ <set>
+ <parameter name='ss.param.license-assignment-group-uuid' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />
+ <parameter name='ss.param.license-assignment-group-uuid-index' value='`$aidx`' />
+ </set>
+ </outcome>
+ <outcome value='entitlement-assignment-group-uuid'>
+ <set>
+ <parameter name='ss.param.entitlement-assignment-group-uuid' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$aidx].value`' />
+ <parameter name='ss.param.entitlement-assignment-group-uuid-index' value='`$aidx`' />
+ </set>
+ </outcome>
+ <outcome value='aai-vnf-put'>
+ <set>
+ <parameter name='ss.param.aai-vnf-put-index' value='`$aidx`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id "
+ pfx="tmp.aai.vnf" >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Encountered error to get generic-vnf with vnf-id=' + $ss.param.vnf-id + ' from AnAI'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'generic-vnf.vnf-name with vnf-id=' + $ss.param.vnf-id + ' not found in AAI'`" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="vnf-name" value='`$ss.param.vnf-name`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $ss.param.vnf-name`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI'`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="license"
+ key="license.group-uuid = $ss.param.license-assignment-group-uuid
+ AND license.resource-uuid = $ss.param.license-key
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <parameter name="group-uuid" value='`$ss.param.license-assignment-group-uuid`' />
+ <parameter name="resource-uuid" value='`$ss.param.license-key`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id = ' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to save license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' in AAI'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id = ' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' is not found in AAI'`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="entitlement"
+ key="entitlement.group-uuid = $ss.param.entitlement-assignment-group-uuid
+ AND entitlement.resource-uuid = $ss.param.entitlement-key
+ AND generic-vnf.vnf-id = $ss.param.vnf-id" >
+ <parameter name="group-uuid" value='`$ss.param.entitlement-assignment-group-uuid`' />
+ <parameter name="resource-uuid" value='`$ss.param.entitlement-key`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id = ' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK license"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="license"
+ key="license.group-uuid = $ss.param.license-assignment-group-uuid
+ AND license.resource-uuid = $ss.param.license-key" >
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback license because license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' NOT FOUND in AAI. SILENT SUCCESS! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of license completed. " />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Failed to save entitlement with group-uuid = ' + $ss.param.entitlement-assignment-group-uuid + ' AND entitlement.resource-uuid = ' + $ss.param.entitlement-key + ' in AAI'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <block>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK generic-vnf update"/>
+ </record>
+ <set>
+ <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[$ss.param.aai-vf-put-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="vnf-name" value='`$tmp.aai.vnf.vnf-anme`' />
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id = ' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />
+ </set>
+ </outcome>
+ </update>
+ </block>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="ROLLBACK license"/>
+ </record>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="license"
+ key="license.group-uuid = $ss.param.license-assignment-group-uuid
+ AND license.resource-uuid = $ss.param.license-key" >
+ <outcome value='failure'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />
+ </set>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='error-message' value="`' Failed to rollback license because license with group-uuid = ' + $ss.param.license-assignment-group-uuid + ' AND license.resource-uuid = ' + $ss.param.license-key + ' NOT FOUND in AAI. SILENT SUCCESS! '`" />
+ </set>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='error-message' value=" Rollback of license completed. " />
+ </set>
+ </outcome>
+ </delete>
+ </block>
+ </block>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'entitlement with group-uuid = ' + $ss.param.entitlement-assignment-group-uuid + ' AND entitlement.resource-uuid = ' + $ss.param.entitlement-key + ' is not found in AAI'`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status'
+ value='SUCCESS' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />
+ </execute>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-FQPN.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-FQPN.xml
index 989163f1..1c4903ee 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-FQPN.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-FQPN.xml
@@ -18,36 +18,36 @@
</return>
</outcome>
</execute>
- <switch test='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`'>
+ <switch test='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`'>
<outcome value=''>
<return status="failure">
<parameter name="ack-final" value="Y" />
<parameter name="error-code" value="500"/>
- <parameter name="error-message" value="eipam-ip-block.getPlanTopologyResponse.TopologyDetails is null" />
+ <parameter name="error-message" value="eipam-ip-block.getPlanTopologyResponse.topologyDetails is null" />
</return>
</outcome>
</switch>
- <for index="resp-index" start="0" end="`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`">
- <switch test='`$eipam-ip-block.plan-name == $eipam-ip-block.getPlanTopologyResponse.PlanName`'>
+ <for index="resp-index" start="0" end="`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`">
+ <switch test='`$eipam-ip-block.plan-name == $eipam-ip-block.getPlanTopologyResponse.planName`'>
<outcome value='false'>
<return status="failure">
<parameter name="ack-final" value="Y" />
<parameter name="error-code" value="500"/>
- <parameter name="error-message" value="`'eipam response plan-name ['+ $eipam-ip-block.getPlanTopologyResponse.PlanName + ' is not the same as input '+$eipam-ip-block.planName`" />
+ <parameter name="error-message" value="`'eipam response plan-name ['+ $eipam-ip-block.getPlanTopologyResponse.planName + ' is not the same as input '+$eipam-ip-block.planName`" />
</return>
</outcome>
</switch>
<set>
<parameter name='pool-index'
- value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].Level - 1`' />
+ value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].level - 1`' />
</set>
<set>
<parameter name='tmp.getPlanTopologyResponse.key-name'
- value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].KeyName`' />
+ value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].keyName`' />
</set>
<set>
<parameter name='tmp.getPlanTopologyResponse.key-value-format'
- value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails[$resp-index].KeyValueFormat`' />
+ value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails[$resp-index].keyValueFormat`' />
</set>
<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
<parameter name="original_string" value="`$tmp.getPlanTopologyResponse.key-value-format`" />
@@ -122,8 +122,8 @@
</for>
<set>
<parameter name='self-serve-generate-FQPN-output.pools_length'
- value='`$eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`' />
+ value='`$eipam-ip-block.getPlanTopologyResponse.topologyDetails_length`' />
</set>
</block>
</method>
-</service-logic> \ No newline at end of file
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.xml
new file mode 100644
index 00000000..ba153ffe
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.xml
@@ -0,0 +1,218 @@
+<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='self-serve-generate-name-changeassign' mode='sync'>
+ <block atomic="true">
+ <switch test='`$ss.input.param.index`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="ss.input.param.index is null" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$ss.service-data.param.index`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="ss.service-data.param.index is null" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$ss.capability-type`'>
+ <outcome value='vnf'>
+ <block atomic='true'>
+ <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].name`'>
+ <outcome value='external-key'>
+ <set>
+ <parameter name='tmp.external-key.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$tmp.external-key.value`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="self-service-generate-name-changeassign error : external-key is null for vnf" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="tmp.vnf.changeassign.naming-data-payload" value="`'{&quot;elements&quot;:[{' + '&quot;resource-name&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$ss.input.param.index].name + '&quot;,&quot;resource-value&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$ss.input.param.index].value + '&quot;,&quot;external-key&quot;:&quot;' + $tmp.external-key.value + '&quot;}]'`"/>
+ </set>
+ <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>
+ <parameter name='payload' value='`$tmp.vnf.changeassign.naming-data-payload`' />
+ <parameter name="prifix" value="vnf.changeassign.nameGenResponse" />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Error from NameGenerationNode ChangeAssign vnf ' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Error from NameGenerationNode ChangeAssign vnf ' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id " >
+ <parameter name="ipv4-loopback0-address" value='`$ss.param.ipv4-loopback0-address`' />
+ <parameter name="ipv4-oam-address" value='`$ss.param.ipv4-oam-address`' />
+ <parameter name="as-number" value='`$ss.param.as-number`' />
+ <parameter name="vlan-id-outer" value='`$ss.param.vlan-id-outer`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to update generic-vnf.vnf-name to ' + $ss.changeassign.vnf-name + ' in AnAI'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to update generic-vnf.vnf-name to ' + $ss.changeassign.vnf-name + ' in AnAI'`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].value`' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$ss.input.param.index].value`'/>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.status`' value='SUCCESS' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='vf-module'>
+ <block atomic='true'>
+ <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].name`'>
+ <outcome value='external-key'>
+ <set>
+ <parameter name='tmp.external-key.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.service-data.param.index].resource-resolution-data.resource-key[$i].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$tmp.external-key.value`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="self-service-generate-name-changeassign error : external-key is null for vf-module" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name="tmp.vf-module.changeassign.naming-data-payload" value="`'{&quot;elements&quot;:[{' + '&quot;resource-name&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].name + '&quot;,&quot;resource-value&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value + '&quot;,&quot;external-key&quot;:&quot;' + $tmp.external-key.value + '&quot;}]'`"/>
+ </set>
+ <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>
+ <parameter name='payload' value='`$tmp.vf-module.changeassign.naming-data-payload`' />
+ <parameter name="prifix" value="vf-module.changeassign.nameGenResponse" />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Error from NameGenerationNode ChangeAssign vf-module ' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Error from NameGenerationNode ChangeAssign vf-module ' + $error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="generic-vnf.vnf-id = $ss.param.vnf-id
+ AND vf-module.vf-module-id = $ss.param.vf-module-id " >
+ <parameter name="vf-module-name" value='`$ss.param.vf-module-name`' />
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to update vf-module.vf-module-name to ' + $ss.changeassign.vf-module-name + ' in AnAI'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic='true'>
+ <set>
+ <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[$ss.service-data.param.index].resource-resolution-data.status`' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to update vf-module.vf-module-name to ' + $ss.changeassign.vf-module-name + ' in AnAI'`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <set>
+ <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[$ss.service-data.param.index].value`' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value`'/>
+ <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[$ss.service-data.param.index].resource-resolution-data.status`' value='SUCCESS' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="capability-type is not vnf or vf-module" />
+ </return>
+ </outcome>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="capability-type is not vnf or vf-module" />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name.xml
index b5538fbd..1d074f4a 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name.xml
@@ -24,11 +24,11 @@
</call>
<switch test="`$ss.capability-type == 'vnf'`">
<outcome value='true'>
- <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>
+ <block>
+ <switch test="`$ss.capability-action == 'unassign'`">
<outcome value='true'>
- <block>
- <switch test="`$ss.capability-action == 'unassign'`">
+ <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>
<outcome value='true'>
<block atomic='true'>
<set>
@@ -129,20 +129,37 @@
</block>
</outcome>
</switch>
- <switch test="`$ss.capability-action == 'assign'`">
- <outcome value='true'>
- <block atomic='true'>
- <set>
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />
- </set>
- <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length`' >
+ </for>
+ </outcome>
+ </switch>
+ <switch test="`$ss.capability-action == 'assign'`">
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <parameter name='tmp.naming-data-payload' value='' />
+ </set>
+ <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.capability-name == $ss.capability-name`'>
+ <outcome value='true'>
+ <block atomic='true'>
<set>
- <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`"/>
+ <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />
</set>
- </for>
- <set>
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />
- </set>
+ <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length`' >
+ <set>
+ <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`"/>
+ </set>
+ </for>
+ <set>
+ <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.naming-data-payload == ''`">
+ <outcome value='false'>
+ <block atomic='true'>
<set>
<parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />
</set>
@@ -223,22 +240,38 @@
</execute>
</for>
</for>
+ <for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+ <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].value`" />
+ <parameter name="target" value="$"/>
+ <outcome value='false'>
+ <block>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].resource-resolution-data.capability-name`' value='INPUT' />
+ </set>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].resource-resolution-data.status`' value='SUCCESS' />
+ </set>
+ </block>
+ </outcome>
+ </execute>
+ </for>
</block>
</outcome>
</switch>
</block>
</outcome>
</switch>
- </for>
+ </block>
</outcome>
</switch>
<switch test="`$ss.capability-type == 'vf-module'`">
<outcome value='true'>
- <for index='i' start='0' end='`$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_length`' >
- <switch test='`$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[$i].resource-resolution-data.capability-name == $ss.capability-name`'>
+ <block>
+ <switch test="`$ss.capability-action == 'unassign'`">
<outcome value='true'>
- <block>
- <switch test="`$ss.capability-action == 'unassign'`">
+ <for index='i' start='0' end='`$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_length`' >
+ <switch test='`$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[$i].resource-resolution-data.capability-name == $ss.capability-name`'>
<outcome value='true'>
<block atomic='true'>
<set>
@@ -339,26 +372,37 @@
</block>
</outcome>
</switch>
- <switch test="`$ss.capability-action == 'assign'`">
- <outcome value='true'>
- <block atomic='true'>
- <set>
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />
- </set>
- <for index='j' start='0' end='`$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[$i].resource-resolution-data.resource-key_length`' >
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log" />
- <parameter name="level" value="info" />
- <parameter name="field1" value="`'AJJJ13' + $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[$i].resource-resolution-data.resource-key[$j].name`" />
- <parameter name="field2" value="`'AJJJ14' + $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[$i].resource-resolution-data.resource-key[$j].value`" />
- </record>
+ </for>
+ </outcome>
+ </switch>
+ <switch test="`$ss.capability-action == 'assign'`">
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <parameter name='tmp.naming-data-payload' value='' />
+ </set>
+ <for index='i' start='0' end='`$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_length`' >
+ <switch test='`$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[$i].resource-resolution-data.capability-name == $ss.capability-name`'>
+ <outcome value='true'>
+ <block atomic='true'>
<set>
- <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`"/>
+ <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '{'`" />
</set>
- </for>
- <set>
- <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />
- </set>
+ <for index='j' start='0' end='`$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[$i].resource-resolution-data.resource-key_length`' >
+ <set>
+ <parameter name="tmp.naming-data-payload" value="`$tmp.naming-data-payload + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].name + '&quot;:' + '&quot;' + $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[$i].resource-resolution-data.resource-key[$j].value + '&quot;,'`"/>
+ </set>
+ </for>
+ <set>
+ <parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.naming-data-payload == ''`">
+ <outcome value='false'>
+ <block atomic='true'>
<set>
<parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + ']}'`" />
</set>
@@ -410,6 +454,65 @@
<set>
<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[$i].resource-resolution-data.status`' value='SUCCESS' />
</set>
+ <for index='cn' start='0' end='`$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_length`' >
+ <switch test="`$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[$cn].name == 'vnfc-name'`">
+ <outcome value='true'>
+ <for index='j' start='0' end='`$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[$cn].resource-resolution-data.resource-key_length`' >
+ <block>
+ <switch test="`$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[$cn].resource-resolution-data.resource-key[$j].name == 'vm-type'`">
+ <outcome value='true'>
+ <set>
+ <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-assignments.vms.vm[0].vm-type`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-invariant-uuid'`">
+ <outcome value='true'>
+ <set>
+ <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-assignments.vms.vm[0].onap-model-information.model-invariant-uuid`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-customization-uuid'`">
+ <outcome value='true'>
+ <set>
+ <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-assignments.vms.vm[0].onap-model-information.model-customization-uuid`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-uuid'`">
+ <outcome value='true'>
+ <set>
+ <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-assignments.vms.vm[0].onap-model-information.model-uuid`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-version'`">
+ <outcome value='true'>
+ <set>
+ <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-assignments.vms.vm[0].onap-model-information.model-version`' value='`$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[$cn].resource-resolution-data.resource-key[j].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$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[$cn].resource-resolution-data.resource-key[$j].name == 'model-name'`">
+ <outcome value='true'>
+ <set>
+ <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-assignments.vms.vm[0].onap-model-information.model-name`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test="`$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[$cn].resource-resolution-data.resource-key[$j].name == 'vnfc-name'`">
+ <outcome value='true'>
+ <set>
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-name`' value='`$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[$cn].resource-resolution-data.resource-key[$j].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </outcome>
+ </switch>
+ </for>
<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >
<for index='l' start='0' end='`$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_length`' >
<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
@@ -439,13 +542,29 @@
</execute>
</for>
</for>
+ <for index='l' start='0' end='`$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_length`' >
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+ <parameter name="source" value="`$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[$l].value`" />
+ <parameter name="target" value="$"/>
+ <outcome value='false'>
+ <block>
+ <set>
+ <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[$l].resource-resolution-data.capability-name`' value='INPUT' />
+ </set>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$l].resource-resolution-data.status`' value='SUCCESS' />
+ </set>
+ </block>
+ </outcome>
+ </execute>
+ </for>
</block>
</outcome>
</switch>
</block>
</outcome>
</switch>
- </for>
+ </block>
</outcome>
</switch>
</block>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.xml
new file mode 100644
index 00000000..7d9c358f
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.xml
@@ -0,0 +1,625 @@
+<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='self-serve-mS-mac-address-assign' mode='sync'>
+ <block atomic='true'>
+ <switch test="`$ss.capability-name`">
+ <outcome value='Other'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: ss.capability-name is not mS-mac-address-assign or it is not set"/>
+ </record>
+ <return status='failure'>
+ <parameter name='error-code' value='401' />
+ <parameter name='error-message' value='ss.capability-name is not set' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value=''>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: ss.capability-name is not mS-mac-address-assign or it is not set"/>
+ </record>
+ <return status='failure'>
+ <parameter name='error-code' value='401' />
+ <parameter name='error-message' value='ss.capability-name is not set' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='null'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: ss.capability-name is not mS-mac-address-assign or it is not set"/>
+ </record>
+ <return status='failure'>
+ <parameter name='error-code' value='401' />
+ <parameter name='error-message' value='ss.capability-name is not set' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='mS-mac-address-assign'>
+ <record plugin="com.att.sdnctl.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: ss.capability-name is mS-mac-address-assign"/>
+ </record>
+ </outcome>
+ </switch>
+ <switch test="`$ss.capability-action`">
+ <outcome value='Other'></outcome>
+ <outcome value=''>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: ss.capability-action is not set"/>
+ </record>
+ <return status='failure'>
+ <parameter name='error-code' value='401' />
+ <parameter name='error-message' value='ss.capability-action is not set' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='null'></outcome>
+ <outcome value='assign'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: ss.capability-action is assign"/>
+ </record>
+ </outcome>
+ <outcome value='unassign'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: ss.capability-action is unassign"/>
+ </record>
+ </outcome>
+ </switch>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: call self-service-capability-param-resolution DG"/>
+ </record>
+ <set>
+ <!--<parameter name='name' value='value' />-->
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >
+ <outcome value='failure'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Failure calling self-service-capability-param-resolution"/>
+ </record>
+ <return status='failure'>
+ <parameter name='error-code' value='402' />
+ <parameter name='error-message' value='Failure calling self-service-capability-param-resolution' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'></outcome>
+ </call>
+ </block>
+ <block atomic='true'>
+ <set>
+ <parameter name='ma.elements.element_length' value='0' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-parameters-length' value='`$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_length`' />
+ </set>
+ <for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: vf-module-param-index"/>
+ <parameter name="field3" value='`$vf-module-param-index`'/>
+ </record>
+ <block>
+ <set>
+ <parameter name='vfModuleParamsCapabilityName' value='`$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[$vf-module-param-index].resource-resolution-data.capability-name`' />
+ <parameter name='tmp.vnfHostName' value='' />
+ <parameter name='tmp.policyInstanceName' value='' />
+ <parameter name='tmp.cloudParamName' value='' />
+ <parameter name='tmp.swName' value='' />
+ <parameter name='tmp.resourceValue' value='' />
+ </set>
+ <switch test="`$ss.capability-name == $vfModuleParamsCapabilityName`">
+ <outcome value='true'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Found ss.capability-name MATCH"/>
+ </record>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+ <parameter name="source" value="`$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[$vf-module-param-index].value`" />
+ <parameter name="target" value="$"/>
+ <outcome value='false'>
+ <block>
+ <set>
+ <parameter name='tmp.resourceValue' value='`$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[$vf-module-param-index].value`' />
+ </set>
+ </block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='tmp.cloudParamName' value='`$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[$vf-module-param-index].name`' />
+ </set>
+ <set>
+ <parameter name='tmp.resource-resolution-data.' value='`$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[$vf-module-param-index].resource-resolution-data.`' />
+ </set>
+ <switch test="`$tmp.resource-resolution-data.status == 'PENDING'`">
+ <outcome value='false'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: reseouce-resolution-data.status is not PENDING"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='401' />
+ <parameter name='error-message' value='reseouce-resolution-data.status is not PENDING' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ <block atomic='true'>
+ <set>
+ <parameter name='tmp.resource-key-length' value='`$tmp.resource-resolution-data.resource-key_length`' />
+ </set>
+ <for index='key-index' start='0' end='`$tmp.resource-resolution-data.resource-key_length`' >
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: key-index"/>
+ <parameter name="field3" value='`$key-index`'/>
+ </record>
+ <block>
+ <switch test="`$tmp.resource-resolution-data.resource-key[$key-index].name`">
+ <outcome value='key'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Found resource-resolution-data.name = vnf-name"/>
+ </record>
+ <set>
+ <parameter name='tmp.vnfHostName' value='`$tmp.resource-resolution-data.resource-key[$key-index].value`' />
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: resolved vnfHostName: "/>
+ <parameter name="field3" value='`$tmp.vnfHostName`'/>
+ </record>
+ </block>
+ </outcome>
+ <outcome value='policy-instance-name'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Found resource-resolution-data.name = policy-instance-name-name"/>
+ </record>
+ <set>
+ <parameter name='tmp.policyInstanceName' value='`$tmp.resource-resolution-data.resource-key[$key-index].value`' />
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: resolved policyInstanceName: "/>
+ <parameter name="field3" value='`$tmp.policyInstanceName`'/>
+ </record>
+ </block>
+ </outcome>
+ <outcome value='sw-name'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Found resource-resolution-data.name = sw-name"/>
+ </record>
+ <set>
+ <parameter name='tmp.swName' value='`$tmp.resource-resolution-data.resource-key[$key-index].value`' />
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: resolved swName: "/>
+ <parameter name="field3" value='`$tmp.swName`'/>
+ </record>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test="`$tmp.vnfHostName`">
+ <outcome value='null'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: vnfHostName is not set"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='403' />
+ <parameter name='error-message' value='vnfHostName is not set' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value=''>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: vnfHostName is not set"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='403' />
+ <parameter name='error-message' value='vnfHostName is not set' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.cloudParamName`">
+ <outcome value='null'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: cloudParamName is not set"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='403' />
+ <parameter name='error-message' value='cloudParamName is not set' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value=''>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: cloudParamName is not set"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='403' />
+ <parameter name='error-message' value='cloudParamName is not set' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.policyInstanceName`">
+ <outcome value='null'>
+ <switch test="`$ss.capability-action` == 'assign'">
+ <outcome value='true'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: policyInstanceName is not set and action is assign"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='403' />
+ <parameter name='error-message' value='policyInstanceName is not set and action is assign' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value=''>
+ <switch test="`$ss.capability-action` == 'assign'">
+ <outcome value='true'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: policyInstanceName is not set and action is assign"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='403' />
+ <parameter name='error-message' value='policyInstanceName is not set and action is assign' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ <switch test="`$tmp.swName`">
+ <outcome value='null'>
+ <switch test="`$ss.capability-action` == 'assign'">
+ <outcome value='true'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: swName is not set and action is assign"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='403' />
+ <parameter name='error-message' value='swName is not set and action is assign' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ <outcome value=''>
+ <switch test="`$ss.capability-action` == 'assign'">
+ <outcome value='true'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: swName is not set and action is assign"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='403' />
+ <parameter name='error-message' value='swName is not set and action is assign' />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='ma.elements.element[$ma.elements.element_length].policy-instance-name' value='`$tmp.policyInstanceName`' />
+ <parameter name='ma.elements.element[$ma.elements.element_length].vnf-host-name' value='`$tmp.vnfHostName`' />
+ <parameter name='ma.elements.element[$ma.elements.element_length].cloud-param-name' value='`$tmp.cloudParamName`' />
+ <parameter name='ma.elements.element[$ma.elements.element_length].sw-name' value='`$tmp.swName`' />
+ </set>
+ <switch test="`$tmp.resourceValue`">
+ <outcome value='Other'>
+ <set>
+ <parameter name='ma.elements.element[$ma.elements.element_length].resource-value' value='`$tmp.resourceValue`' />
+ </set>
+ </outcome>
+ <outcome value='null'></outcome>
+ <outcome value=''></outcome>
+ </switch>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Adding this vf-module-parameters.param to ma.elements "/>
+ <parameter name="field3" value='`$ma.elements.element_length`'/>
+ <parameter name="field4" value='`$ma.elements.element[$ma.elements.element_length].policy-instance-name`'/>
+ <parameter name="field5" value='`$ma.elements.element[$ma.elements.element_length].vnf-host-name`'/>
+ <parameter name="field6" value='`$ma.elements.element[$ma.elements.element_length].cloud-param-name`'/>
+ <parameter name="field7" value='`$ma.elements.element[$ma.elements.element_length].sw-name`'/>
+ <parameter name="field8" value='`$ma.elements.element[$ma.elements.element_length].resource-value`'/>
+ </record>
+ <set>
+ <parameter name='ma.elements.element_length' value='`$ma.elements.element_length + 1`' />
+ </set>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='false'></outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ <switch test='`$ss.capability-action`'>
+ <outcome value='assign'>
+ <block atomic='true'>
+ <set>
+ <parameter name='prop.restapi.templateDir' value="/opt/lsc/restapi/templates" />
+ <parameter name='prop.mac-address-microserivice.url' value="http://mtanjv9sdlg51-eth1-0.aic.cip.att.com:8989" />
+ </set>
+ <record plugin="com.att.sdnctl.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: restapi-call-node Call MAC Address microService assign"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/mac-address-assign.json'`" />
+ <parameter name='restapiUrl' value="`$prop.mac-address-microserivice.url + '/macaddress/service/assign'`" />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='customHttpHeaders'
+ value="Authorization=Basic YWRtaW46YWRtaW4=" />
+ <parameter name="responsePrefix" value="tmp.mac-address-resp.prefix" />
+ <outcome value='failure'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Error calling MAC Address Micro Service assign"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='502' />
+ <parameter name='error-message' value='self-serve-mS-mac-address-assign: Error calling MAC Address Micro Service assign' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: assign SUCCESS"/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ <for index='mac-address-list-index' start='0' end='`$tmp.mac-address-resp.prefix.mac-address-list_length`' >
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: mac-address-list-index|name|value "/>
+ <parameter name="field3" value='`$mac-address-list-index`'/>
+ <parameter name="field4" value='`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].name`'/>
+ <parameter name="field5" value='`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].value`'/>
+ </record>
+ <for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: vf-module-param-index"/>
+ <parameter name="field3" value='`$vf-module-param-index`'/>
+ </record>
+ <block>
+ <switch test="`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].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[$vf-module-param-index].name`">
+ <outcome value='true'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: mac-address-list MATCH with param.value: "/>
+ <parameter name="field3" value="`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].name`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+ <parameter name="source" value="`$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[$vf-module-param-index].value`" />
+ <parameter name="target" value="$"/>
+ <outcome value='false'>
+ <block>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.capability-name' value='INPUT' />
+ </set>
+ </block>
+ </outcome>
+ <outcome value='true'>
+ <block>
+ <set>
+ <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[$vf-module-param-index].value`" value="`$tmp.mac-address-resp.prefix.mac-address-list[$mac-address-list-index].value`" />
+ </set>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status`" value='SUCCESS' />
+ </set>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='unassign'>
+ <block atomic="true">
+ <set>
+ <parameter name='prop.restapi.templateDir' value="/opt/lsc/restapi/templates" />
+ <parameter name='prop.mac-address-microserivice.url' value="http://mtanjv9sdlg51-eth1-0.aic.cip.att.com:8989" />
+ </set>
+ <record plugin="com.att.sdnctl.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: restapi-call-node Call MAC Address microService unassign"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/mac-address-unassign.json'`" />
+ <parameter name='restapiUrl' value="`$prop.mac-address-microserivice.url + '/macaddress/service/unassign'`" />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name='customHttpHeaders'
+ value="Authorization=Basic YWRtaW46YWRtaW4=" />
+ <parameter name="responsePrefix" value="tmp.mac-address-resp.prefix" />
+ <outcome value='failure'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Error calling MAC Address Micro Service unassign"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='502' />
+ <parameter name='error-message' value='self-serve-mS-mac-address-assign: Error calling MAC Address Micro Service unassign' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: unassign SUCCESS: response: "/>
+ <parameter name='field3' value='`$tmp.mac-address-resp.prefix.status`' />
+ </record>
+ <switch test="`$tmp.mac-address-resp.prefix.status == 'deleted successfully'`">
+ <outcome value='false'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="self-serve-mS-mac-address-assign: Address Micro Service unassign did not return: deleted successfully"/>
+ </record>
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status' value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='502' />
+ <parameter name='error-message' value='self-serve-mS-mac-address-assign: Address Micro Service unassign did not return: deleted successfully' />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='true'>
+ <block>
+ <for index='vf-module-param-index' start='0' end='`$tmp.vf-module-parameters-length`' >
+ <set>
+ <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[$vf-module-param-index].resource-resolution-data.status`" value="DELETED" />
+ </set>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/self-serve-mS-mac-address-assign.log' />
+ </execute>
+ <return status='success'>
+ <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[$vf-module-parameters-index].resource-resolution-data.status`" value='SUCCESS' />
+ </return>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.xml
new file mode 100644
index 00000000..15b4e625
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.xml
@@ -0,0 +1,533 @@
+<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='self-serve-mS-vlan-tag-assign' mode='sync'>
+ <block atomic="true">
+ <switch test='`$ss.capability-name`'>
+ <outcome value=''>
+ <return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="ss.capability-name is null" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$ss.capability-action`'>
+ <outcome value=''>
+ <return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="ss.capability-action is null" />
+ </return>
+ </outcome>
+ <outcome value='assign'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >
+ <outcome value='failure'>
+ <return status="failure">
+ <parameter name="ack-final" value="Y" />
+ <parameter name="error-code" value="500"/>
+ <parameter name="error-message" value="`'Not all assignments are resolved' + $error-message`" />
+ </return>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='qidx' value='0' />
+ <parameter name='ss.vt.' value='' />
+ </set>
+ <for silentFailure='true' index="pidx" start="0" end="`$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_length`">
+ <set>
+ <parameter name='tmp.ss.param.capability-name'
+ value='`$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[$pidx].resource-resolution-data.capability-name`' />
+ </set>
+ <switch test='`$tmp.ss.param.capability-name == $ss.capability-name`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='ss.vt.param[$qidx].index' value='`$pidx`' />
+ </set>
+ <for silentFailure='true' index="kidx" start="0" end="`$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[$pidx].resource-resolution-data.resource-key_length`">
+ <switch test='`$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[$pidx].resource-resolution-data.resource-key[$kidx].name`'>
+ <outcome value='policy-instance-name'>
+ <set>
+ <parameter name='vt.request[$qidx].policy-instance-name' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='resource-name'>
+ <set>
+ <parameter name='vt.request[$qidx].resource-name' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='scope-id'>
+ <set>
+ <parameter name='vt.request[$qidx].scope-id' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='vlan-tag-key'>
+ <set>
+ <parameter name='vt.request[$qidx].vlan-tag-key' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='vlan-type'>
+ <set>
+ <parameter name='vt.request[$qidx].vlan-type' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='resource-value'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+ <parameter name='source' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ <parameter name='target' value='$' />
+ <outcome value='false'>
+ <set>
+ <parameter name='vt.request[$qidx].resource-value' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='true'>
+ <set>
+ <parameter name='vt.request[$qidx].resource-value' value='' />
+ </set>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </for>
+ <set>
+ <parameter name='qidx' value='`$qidx + 1`' />
+ </set>
+ <set>
+ <parameter name='vt.request_length' value='`$qidx`' />
+ </set>
+ <set>
+ <parameter name='ss.vt.param_length' value='`$qidx`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.ss-mS-vlan-tag-assign`"/>
+ <parameter name="outputPath" value="tmp.ss-vlan-tag-url"/>
+ <parameter name="target" value="{action}"/>
+ <parameter name="replacement" value="`$ss.capability-action`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.ss.mS.vlan.tag.assign.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.vt.mS.url + $tmp.ss-vlan-tag-url`' />
+ <parameter name='restapiUser' value='`$prop.vt.mS.user`' />
+ <parameter name='restapiPassword' value='`$prop.vt.mS.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name="responsePrefix" value="vtResp" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <for index="i" start="0" end="`$ss.vt.param_length`">
+ <set>
+ <parameter name='vt-index' value='`$ss.vt.param[$i].index`' />
+ </set>
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ </for>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="Failed to get vlan-tag assisgnment from mS" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <for index="i" start="0" end="`$ss.vt.param_length`">
+ <set>
+ <parameter name='vt-index' value='`$ss.vt.param[$i].index`' />
+ </set>
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ </for>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="Failed to get vlan-tag assisgnment from mS" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <switch test='`$vtResp.error-code`'>
+ <outcome value='500'>
+ <block atomic='true'>
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Encountered error from mS-vlan-tag-assign with error-code = ' + $vtResp.error-code + ' and error-message = ' + $vtResp.error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='200'>
+ <block atomic='true'>
+ <for silentFailure='true' index="pidx" start="0" end="`$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_length`">
+ <switch test='`$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[$pidx].name`'>
+ <outcome value='nfc-function'>
+ <set>
+ <parameter name='ss.param.nfc-function' value='`$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[$pidx].value`' />
+ <parameter name='ss.param.nfc-function-index' value='`$pidx`' />
+ </set>
+ </outcome>
+ <outcome value='nfc-naming-code'>
+ <set>
+ <parameter name='ss.param.nfc-naming-code' value='`$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[$pidx].value`' />
+ <parameter name='ss.param.nfc-naming-code-index' value='`$pidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-customization-uuid'>
+ <set>
+ <parameter name='ss.param.vnfc-model-customization-uuid' value='`$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[$pidx].value`' />
+ <parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$pidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-invariant-uuid'>
+ <set>
+ <parameter name='ss.param.vnfc-model-invariant-uuid' value='`$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[$pidx].value`' />
+ <parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$pidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-model-version'>
+ <set>
+ <parameter name='ss.param.vnfc-model-version' value='`$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[$pidx].value`' />
+ <parameter name='ss.param.vnfc-model-version-index' value='`$pidx`' />
+ </set>
+ </outcome>
+ <outcome value='vm-type'>
+ <set>
+ <parameter name='ss.param.vm-type' value='`$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[$pidx].value`' />
+ <parameter name='ss.param.vm-type-index' value='`$pidx`' />
+ </set>
+ </outcome>
+ <outcome value='vnfc-name'>
+ <block atomic='true'>
+ <set>
+ <parameter name='ss.param.vnfc-name-unresolved-value' value='`$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[$pidx].value`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$ss.param.vnfc-name-unresolved-value`" />
+ <parameter name="target" value="${"/>
+ <parameter name="replacement" value=""/>
+ <parameter name="outputPath" value="ss.param.vnfc-name-unresolved-value"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$ss.param.vnfc-name-unresolved-value`" />
+ <parameter name="target" value="}"/>
+ <parameter name="replacement" value=""/>
+ <parameter name="outputPath" value="ss.param.vnfc-name-unresolved-value"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="`'ss.param.vnfc-name-unresolved-value = ' + $ss.param.vnfc-name-unresolved-value`"/>
+ </record>
+ <block>
+ <for silentFailure='true' index="x" start="0" end="`$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_length`">
+ <switch test='`$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[$x].name == $ss.param.vnfc-name-unresolved-value`'>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <parameter name='ss.param.vnfc-name' value='`$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[$x].value`' />
+ <parameter name='ss.param.vnfc-name-index' value='`$x`' />
+ </set>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <return status='success'></return>
+ </block>
+ <switch test='`$ss.param.vnfc-name`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value='Unable to resolve vnf-name' />
+ </return>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <set>
+ <parameter name = 'service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-type' value = '`$ss.param.vm-type`' />
+ <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-assignments.vms.vm[0].onap-model-information.model-invariant-uuid' value = '`$ss.param.vnfc-model-invariant-uuid`' />
+ <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-assignments.vms.vm[0].onap-model-information.model-customization-uuid' value = '`$ss.param.vnfc-model-customization-uuid`' />
+ <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-assignments.vms.vm[0].onap-model-information.model-version' value = '`$ss.param.vnfc-model-version`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-name' value = '`$ss.param.vnfc-name`' />
+ </set>
+ <set>
+ <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-assignments.vms.vm_length' value = '1' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names_length' value = '1' />
+ </set>
+ <for silentFailure='true' index="oidx" start="0" end="`$vtResp.output_length`">
+ <for silentFailure='true' index="vtidx" start="0" end="`$ss.vt.param_length`">
+ <set>
+ <parameter name='vt-index' value='`$ss.vt.param[$vtidx].index`' />
+ </set>
+ <switch test='`$vtResp.output[$oidx].resource-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[$vt-index].name`'>
+ <outcome value='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >
+ <parameter name='source' value='`$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[$vt-index].value`' />
+ <parameter name='target' value='$' />
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$vt-index].value'
+ value='`$vtResp.output[$oidx].resource-value`' />
+ </set>
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='SUCCESS' />
+ </set>
+ <for silentFailure='true' index="kidx" start="0" end="`$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[$vt-index].resource-resolution-data.resource-key_length`">
+ <switch test='`$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[$vt-index].resource-resolution-data.resource-key[$kidx].name`'>
+ <outcome value='vnfc-network-role'>
+ <block atomic='true'>
+ <set>
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].vnfc-network-role'
+ value='`$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[$vt-index].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ <call module="GENERIC-RESOURCE-API" rpc="generate-cp-instance-id" mode="sync" >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Error in generating cp-instance-id in SDNC; ' + $error-message.generate-cp-instance-id`" />
+ </return>
+ </outcome>
+ </call>
+ <for silentFailure='true' index="sidx" start="0" end="`$vtResp.output[$oidx].stored-elements_length`">
+ <set>
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.connection-point-id'
+ value='`$tmp.return.generate-cp-instance-id.id`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-uuid'
+ value='`$vtResp.output[$oidx].stored-elements[$sidx].vlan-uuid`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-tag-id'
+ value='`$vtResp.output[$oidx].stored-elements[$sidx].vlantag-value`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-tag-description'
+ value='`$vtResp.output[$oidx].stored-elements[$sidx].vlantag-name`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-role'
+ value='`$vtResp.output[$oidx].stored-elements[$sidx].element-vlan-role`' />
+ </set>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic='true'>
+ <block atomic='true'>
+ <set>
+ <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[$vt-index].value'
+ value='`$vtResp.output[$oidx].resource-value`' />
+ </set>
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='SUCCESS' />
+ </set>
+ <for silentFailure='true' index="kidx" start="0" end="`$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[$vt-index].resource-resolution-data.resource-key_length`">
+ <switch test='`$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[$vt-index].resource-resolution-data.resource-key[$kidx].name`'>
+ <outcome value='vnfc-network-role'>
+ <block atomic='true'>
+ <set>
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].vnfc-network-role'
+ value='`$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[$vt-index].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ <call module="GENERIC-RESOURCE-API" rpc="generate-cp-instance-id" mode="sync" >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Error in generating cp-instance-id in SDNC; ' + $error-message.generate-cp-instance-id`" />
+ </return>
+ </outcome>
+ </call>
+ <for silentFailure='true' index="sidx" start="0" end="`$vtResp.output[$oidx].stored-elements_length`">
+ <set>
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.connection-point-id'
+ value='`$tmp.return.generate-cp-instance-id.id`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-uuid'
+ value='`$vtResp.output[$oidx].stored-elements[$sidx].vlan-uuid`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-tag-id'
+ value='`$vtResp.output[$oidx].stored-elements[$sidx].vlantag-value`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-tag-description'
+ value='`$vtResp.output[$oidx].stored-elements[$sidx].vlantag-name`' />
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data[$sidx].vlan-role'
+ value='`$vtResp.output[$oidx].stored-elements[$sidx].element-vlan-role`' />
+ </set>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ <set>
+ <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[$vt-index].resource-resolution-data.capability-name'
+ value='INPUT' />
+ </set>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ </for>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length'
+ value='`$ss.vt.param_length`' />
+ </set>
+ <set>
+ <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-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$vtidx].connection-point.vlan-data_length'
+ value='`$vtResp.output[$oidx].stored-elements_length`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ <outcome value='unassign'>
+ <block atomic="true">
+ <set>
+ <parameter name='qidx' value='0' />
+ <parameter name='ss.vt.' value='' />
+ </set>
+ <for silentFailure='true' index="pidx" start="0" end="`$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_length`">
+ <set>
+ <parameter name='tmp.ss.param.capability-name'
+ value='`$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[$pidx].resource-resolution-data.capability-name`' />
+ </set>
+ <switch test='`$tmp.ss.param.capability-name == $ss.capability-name`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='ss.vt.param[$qidx].index' value='`$pidx`' />
+ </set>
+ <for silentFailure='true' index="kidx" start="0" end="`$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[$pidx].resource-resolution-data.resource-key_length`">
+ <switch test='`$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[$pidx].resource-resolution-data.resource-key[$kidx].name`'>
+ <outcome value='policy-instance-name'>
+ <set>
+ <parameter name='vt.request[$qidx].policy-instance-name' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='vlan-type'>
+ <set>
+ <parameter name='vt.request[$qidx].vlan-type' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ <outcome value='vlan-tag-key'>
+ <set>
+ <parameter name='vt.request[$qidx].vlan-tag-key' value='`$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[$pidx].resource-resolution-data.resource-key[$kidx].value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <set>
+ <parameter name='qidx' value='`$qidx + 1`' />
+ </set>
+ <set>
+ <parameter name='vt.request_length' value='`$qidx`' />
+ </set>
+ <set>
+ <parameter name='ss.vt.param_length' value='`$qidx`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.ss-mS-vlan-tag-assign`"/>
+ <parameter name="outputPath" value="tmp.ss-vlan-tag-url"/>
+ <parameter name="target" value="{action}"/>
+ <parameter name="replacement" value="`$ss.capability-action`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.ss.mS.vlan.tag.unassign.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $prop.restapi.ss-mS-vlan-tag-assign`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='POST' />
+ <parameter name="responsePrefix" value="vtResp" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <for index="i" start="0" end="`$ss.vt.param_length`">
+ <set>
+ <parameter name='vt-index' value='`$ss.vt.param[$i].index`' />
+ </set>
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ </for>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="Failed to get vlan-tag assisgnment from mS" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <for index="i" start="0" end="`$ss.vt.param_length`">
+ <set>
+ <parameter name='vt-index' value='`$ss.vt.param[$i].index`' />
+ </set>
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ </for>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="Failed to get vlan-tag assisgnment from mS" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <switch test='`$vtResp.error-code`'>
+ <outcome value='500'>
+ <block atomic="true">
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='FAILED' />
+ </set>
+ <return status='failure'>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value="`'Encountered error from mS-vlan-tag-assign with error-code = ' + $vtResp.error-code + ' and error-message = ' + $vtResp.error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='200'>
+ <for silentFailure='true' index="oidx" start="0" end="`$vtResp.output_length`">
+ <for silentFailure='true' index="i" start="0" end="`$ss.vt.param_length`">
+ <set>
+ <parameter name='vt-index' value='`$ss.vt.param[$i]-index`' />
+ </set>
+ <set>
+ <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[$vt-index].resource-resolution-data.status'
+ value='DELETED' />
+ </set>
+ </for>
+ </for>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss.ms-vlan-tag.log' />
+ </execute>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-assign.xml
index 6abe8274..33f6f35c 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-assign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-assign.xml
@@ -178,12 +178,15 @@
<parameter name='ss.capability.execution-order[1]' value='alts-entitlement-assign' />
<parameter name='ss.capability.execution-order[2]' value='alts-license-assign' />
<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />
- <parameter name='ss.capability.execution-order[4]' value='eipam-ip-assign' />
- <parameter name='ss.capability.execution-order[5]' value='eipam-create-pool"' />
- <parameter name='ss.capability.execution-order[6]' value='mac-address-assign' />
- <parameter name='ss.capability.execution-order[7]' value='create-vpe-pool' />
- <parameter name='ss.capability.execution-order[8]' value='unresolved-composite-data' />
- <parameter name='ss.capability.execution-order_length' value='9' />
+ <parameter name='ss.capability.execution-order[4]' value='mS-vlan-tag-assign' />
+ <parameter name='ss.capability.execution-order[5]' value='eipam-ip-assign' />
+ <parameter name='ss.capability.execution-order[6]' value='eipam-create-pool"' />
+ <parameter name='ss.capability.execution-order[7]' value='mac-address-assign' />
+ <parameter name='ss.capability.execution-order[8]' value='mS-mac-address-assign' />
+ <parameter name='ss.capability.execution-order[9]' value='create-vpe-pool' />
+ <parameter name='ss.capability.execution-order[10]' value='unresolved-composite-data' />
+ <parameter name='ss.capability.execution-order[11]' value='aai-vf-module-put' />
+ <parameter name='ss.capability.execution-order_length' value='12' />
</set>
<switch test='`$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_length`'>
<outcome value=''>
@@ -213,23 +216,9 @@ ss.capability.execution-order
<set>
<parameter name='ss.capability-action' value='assign' />
</set>
- <switch test='`$ss.capability-name`'>
- <outcome value='alts-entitlement-assign'>
- <set>
- <parameter name='ss.capability-dg' value='self-serve-alts-assignment' />
- </set>
- </outcome>
- <outcome value='alts-license-assign'>
- <set>
- <parameter name='ss.capability-dg' value='self-serve-alts-assignment' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />
- </set>
- </outcome>
- </switch>
+ <set>
+ <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />
+ </set>
<for index='pidx' start='0' end='`$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_length`' >
<set>
<parameter name='tmp.param.capability-name' value='`$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[$pidx].resource-resolution-data.capability-name`' />
@@ -237,18 +226,8 @@ ss.capability.execution-order
<switch test='`$ss.capability-name == $tmp.param.capability-name`'>
<outcome value='true'>
<switch test='`$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[$pidx].resource-resolution-data.status`'>
- <outcome value='SUCCESS'>
- <set>
- <parameter name='`$ss.capability-dg`' value='ASSIGNED' />
- </set>
- </outcome>
<outcome value='PENDING'>
<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >
- <outcome value='success'>
- <set>
- <parameter name='`$ss.capability-dg`' value='ASSIGNED' />
- </set>
- </outcome>
<outcome value='failure'>
<block atomic='true'>
<set>
@@ -307,22 +286,15 @@ ss.capability.execution-order
<parameter name='format' value='json' />
<parameter name='httpMethod' value='PUT' />
<parameter name="responsePrefix" value="mdsal-ss-vfmodule" />
- <outcome value='success'>
- <block></block>
- </outcome>
<outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Failed to persist self-serve vf-module assignments during assign in MD-SAL" />
- </set>
- </block>
+ <set>
+ <parameter name="error-message" value="Failed to persist self-serve vf-module assignments during assign in MD-SAL" />
+ </set>
</outcome>
<outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Failed to persist self-serve vf-module assignments during assign in MD-SAL" />
- </set>
- </block>
+ <set>
+ <parameter name="error-message" value="Failed to persist self-serve vf-module assignments during assign in MD-SAL" />
+ </set>
</outcome>
</execute>
<return status='failure'>
@@ -335,11 +307,6 @@ ss.capability.execution-order
</outcome>
<outcome value='FAILED'>
<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >
- <outcome value='success'>
- <set>
- <parameter name='`$ss.capability-dg`' value='ASSIGNED' />
- </set>
- </outcome>
<outcome value='failure'>
<block atomic='true'>
<set>
@@ -398,22 +365,15 @@ ss.capability.execution-order
<parameter name='format' value='json' />
<parameter name='httpMethod' value='PUT' />
<parameter name="responsePrefix" value="mdsal-ss-vfmodule" />
- <outcome value='success'>
- <block></block>
- </outcome>
<outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Failed to persist self-serve vf-module assignments during assign in MD-SAL" />
- </set>
- </block>
+ <set>
+ <parameter name="error-message" value="Failed to persist self-serve vf-module assignments during assign in MD-SAL" />
+ </set>
</outcome>
<outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Failed to persist self-serve vf-module assignments during assign in MD-SAL" />
- </set>
- </block>
+ <set>
+ <parameter name="error-message" value="Failed to persist self-serve vf-module assignments during assign in MD-SAL" />
+ </set>
</outcome>
</execute>
<return status='failure'>
@@ -429,120 +389,6 @@ ss.capability.execution-order
</switch>
</for>
</for>
- <switch test="`$self-serve-generate-name == 'ASSIGNED'`">
- <outcome value='false'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: self-serve-generate-name status: ' + $self-serve-generate-name`"/>
- </record>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='true'>
- <switch test="`$self-serve-unresolved-composite-data == 'ASSIGNED' or $self-serve-unresolved-composite-data == ''`">
- <outcome value='false'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: self-serve-unresolved-composite-data: ' + $self-serve-unresolved-composite-data`"/>
- </record>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='true'>
- <block atomic='true'>
- <set>
- <parameter name='tmp.ss.nfc-naming-code' value='' />
- <parameter name='tmp.ss.nfc-function' value='' />
- <parameter name='tmp.ss.vnfc-name' value='' />
- </set>
- <for index='i' start='0' end='`$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_length`' >
- <switch test='`$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[$i].name`'>
- <outcome value='vnfc-name'>
- <!--
-<outcome value='vmxvre_name_0'>
--->
- <block>
- <set>
- <parameter name='tmp.ss.vnfc-name' value='`$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[$i].value`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test="`$tmp.ss.vnfc-name != ''`">
- <outcome value='true'>
- <block atomic='true'>
- <for index="kidx" start="0" end="`$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[$i].resource-resolution-data.resource-key_length`">
- <switch test='`$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[$i].resource-resolution-data.resource-key[$kidx].name`'>
- <outcome value='nfc-naming-code'>
- <!--
-<outcome value='NFC_NAMING_CODE'>
--->
- <set>
- <parameter name='tmp.ss.nfc-naming-code' value='`$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[$i].resource-resolution-data.resource-key[$kidx].value`' />
- </set>
- </outcome>
- <outcome value='nfc-function'>
- <set>
- <parameter name='tmp.ss.nfc-function' value='`$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[$i].resource-resolution-data.resource-key[$kidx].value`' />
- </set>
- </outcome>
- </switch>
- </for>
- <switch test="`$tmp.ss.nfc-naming-code != '' and $tmp.ss.nfc-function != ''`">
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc"
- key="vnfc.vnfc-name = $tmp.ss.vnfc-name" >
- <parameter name="nfc-function" value="`$tmp.ss.nfc-function`" />
- <parameter name="nfc-naming-code" value="`$tmp.ss.nfc-naming-code`" />
- <parameter name="orchestration-status" value="pending-create" />
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="Failed to save vnfc object in AAI" />
- </return>
- </outcome>
- </save>
- </outcome>
- <outcome value='false'>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'vnfc object not updated because param.value of vnfc-name is null; '+ $error-message`" />
- </return>
- </outcome>
- </switch>
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-aai-vfmodule-put' mode='sync' >
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'generic-vnf and vf-module not updated; '+ $error-message`" />
- </return>
- </outcome>
- </call>
- </block>
- </outcome>
- <outcome value='false'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: vnfc-name: ' + $tmp.ss.vnfc-name`"/>
- </record>
- </outcome>
- </switch>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
<parameter name='filename' value='/var/tmp/ss-vf-assign.log' />
</execute>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.xml
index 5cece27e..4ca47e63 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.xml
@@ -5,12 +5,14 @@
<block atomic='true'>
<set>
<parameter name='ss.capability.execution-order[0]' value='mac-address-assign' />
- <parameter name='ss.capability.execution-order[1]' value='eipam-ip-assign' />
- <parameter name='ss.capability.execution-order[2]' value='vlan-tag-assign' />
- <parameter name='ss.capability.execution-order[3]' value='alts-license-assign' />
- <parameter name='ss.capability.execution-order[4]' value='alts-entitlement-assign' />
- <parameter name='ss.capability.execution-order[5]' value='generate-name' />
- <parameter name='ss.capability.execution-order_length' value='6' />
+ <parameter name='ss.capability.execution-order[1]' value='mS-mac-address-assign' />
+ <parameter name='ss.capability.execution-order[2]' value='eipam-ip-assign' />
+ <parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />
+ <parameter name='ss.capability.execution-order[4]' value='mS-vlan-tag-assign' />
+ <parameter name='ss.capability.execution-order[5]' value='alts-license-assign' />
+ <parameter name='ss.capability.execution-order[6]' value='alts-entitlement-assign' />
+ <parameter name='ss.capability.execution-order[7]' value='generate-name' />
+ <parameter name='ss.capability.execution-order_length' value='8' />
</set>
<set>
<parameter name='ss.capability-type' value='vf-module' />
@@ -25,23 +27,9 @@ ss.capability.execution-order
<set>
<parameter name='ss.capability-action' value='unassign' />
</set>
- <switch test='`$ss.capability-name`'>
- <outcome value='alts-entitlement-assign'>
- <set>
- <parameter name='ss.capability-dg' value='self-serve-alts-assignment' />
- </set>
- </outcome>
- <outcome value='alts-license-assign'>
- <set>
- <parameter name='ss.capability-dg' value='self-serve-alts-assignment' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />
- </set>
- </outcome>
- </switch>
+ <set>
+ <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />
+ </set>
<for index='pidx' start='0' end='`$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_length`' >
<set>
<parameter name='tmp.param.capability-name' value='`$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[$pidx].resource-resolution-data.capability-name`' />
@@ -51,11 +39,6 @@ ss.capability.execution-order
<switch test='`$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[$pidx].resource-resolution-data.status`'>
<outcome value='SUCCESS'>
<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >
- <outcome value='success'>
- <set>
- <parameter name='`$ss.capability-dg`' value='UNASSIGNED' />
- </set>
- </outcome>
<outcome value='failure'>
<block atomic='true'>
<set>
@@ -114,9 +97,6 @@ ss.capability.execution-order
<parameter name='format' value='json' />
<parameter name='httpMethod' value='PUT' />
<parameter name="responsePrefix" value="mdsal-ss-vfmodule" />
- <outcome value='success'>
- <block></block>
- </outcome>
<outcome value='failure'>
<block atomic="true">
<set>
@@ -141,16 +121,7 @@ ss.capability.execution-order
</call>
</outcome>
<outcome value='DELETED'>
- <block>
- <set>
- <parameter name='`$ss.capability-dg`' value='UNASSIGNED' />
- </set>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: resource-resolution-data.status: ' + $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[$pidx].resource-resolution-data.status`"/>
- <parameter name="field2" value="`'SS: ss.capability-name: ' + $ss.capability-name`"/>
- </record>
- </block>
+ <block></block>
</outcome>
<outcome value='Other'>
<block atomic='true'>
@@ -170,49 +141,30 @@ ss.capability.execution-order
</switch>
</for>
</for>
- <switch test="`$self-serve-generate-name == 'UNASSIGNED'`">
- <outcome value='false'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: self-serve-generate-name status: ' + $self-serve-generate-name`"/>
- <parameter name="field2" value="`'SS: self-serve-unresolved-composite-data: ' + $self-serve-unresolved-composite-data`"/>
- </record>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`" />
- </return>
- </block>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value='1'>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules." value=""/>
+ </set>
</outcome>
- <outcome value='true'>
- <block atomic='true'>
- <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name`'>
- <outcome value='vnfc-name'>
- <!--
-<outcome value='vmxvre_name_0'>
--->
- <block>
- <set>
- <parameter name='tmp.ss.vnfc-name' value='`$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[$i].value`' />
- </set>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc"
- key="vnfc.vnfc-name = $tmp.ss.vnfc-name" >
- <outcome value='failure'>
- <set>
- <parameter name='error-message' value='Failed to delete vnfc object in AnAI' />
- </set>
- </outcome>
- <outcome value='not-found'>
- <block></block>
- </outcome>
- </delete>
- <break/>
- </block>
- </outcome>
- </switch>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='idx' start='`$vf-module-index + 1`' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <set>
+ <parameter name="tmpidx" value="`$idx - 1`"/>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmpidx]." value="$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx]." />
+ </set>
</for>
+ <!--EIPAM plug-in needs this attribute set with this name-->
+ <set>
+ <parameter name='lastidx' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`' />
+ </set>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lastidx]." value=""/>
+ </set>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length" value="`$lastidx`"/>
+ </set>
</block>
</outcome>
</switch>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.xml
new file mode 100644
index 00000000..5b98ce48
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.xml
@@ -0,0 +1,61 @@
+<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='self-serve-vfmodule-changeassign' mode='sync'>
+ <block atomic="true">
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="no param name/value provided in vf-module-request-input" />
+ </return>
+ </outcome>
+ </switch>
+ <for index='i' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >
+ <block atomic='true'>
+ <switch test='`$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_length`'>
+ <outcome value='Other'>
+ <for index='j' start='0' end='`$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_length`' >
+ <switch test='`$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[$j].name == $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].name`'>
+ <outcome value='false'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No param with param[].name = ' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + ' found in service-data.'`" />
+ </return>
+ </outcome>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <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[$j].resource-resolution-data.status`' value='PENDING'/>
+ <parameter name='ss.input.param.index' value='`$i`' />
+ <parameter name='ss.service-data.param.index' value='`$j`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-generate-name-changeassign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error from self-service-generate-name-changeassign" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error from self-service-generate-name-changeassign" />
+ </return>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.xml
index 1d8f6fc4..66243dd4 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.xml
@@ -71,6 +71,13 @@
<parameter name="error-message" value="Error reading VF_MODEL table" />
</return>
</outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No VF_MODEL found with customization_uuid = ' + $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
+ </return>
+ </outcome>
<outcome value='success'>
<set>
<parameter name='tmp.sdnc-model-name' value='`$db1.vf-model.sdnc-model-name`' />
@@ -79,7 +86,8 @@
</outcome>
</get-resource>
<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT vf_module_label from VF_MODULE_MODEL WHERE vf_customization_uuid = $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ key='SELECT vf_module_label from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid
+ AND vf_module_label is not null'
pfx='db1.vf-module-model'>
<outcome value='failure'>
<return status='failure'>
@@ -88,6 +96,13 @@
<parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
</return>
</outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'vf_module_label not found in VF_MODULE_MODEL WHERE customization_uuid = ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
+ </return>
+ </outcome>
<outcome value='success'>
<set>
<parameter name='tmp.vf-module-label' value='`$db1.vf-module-model.vf-module-label`' />
@@ -106,7 +121,7 @@
<parameter name="tmp.config-name-value-payload9" value="`$tmp.config-name-value-payload8 + '&quot;aic-cloud-region&quot;:&quot;' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region + '&quot;'`"/>
<parameter name="tmp.config-name-value-payload91" value="`'{' + $tmp.config-name-value-payload9 + '}'`" />
</set>
- <execute plugin='org.openecomp.sdnc.config.assignment.service.ConfigAssignmentNode' method='process'>
+ <execute plugin='org.onap.ccsdk.config.assignment.service.ConfigAssignmentNode' method='process'>
<parameter name="request-id" value='`$request-id`' />
<parameter name="resource-id" value='`$resource-id`' />
<parameter name="resource-type" value='`$resource-type`' />
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-assign.xml
index efc55ab8..393c7bcb 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-assign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-assign.xml
@@ -169,12 +169,15 @@
<parameter name='ss.capability.execution-order[1]' value='alts-entitlement-assign' />
<parameter name='ss.capability.execution-order[2]' value='alts-license-assign' />
<parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />
- <parameter name='ss.capability.execution-order[4]' value='eipam-ip-assign' />
- <parameter name='ss.capability.execution-order[5]' value='eipam-create-pool"' />
- <parameter name='ss.capability.execution-order[6]' value='mac-address-assign' />
- <parameter name='ss.capability.execution-order[7]' value='create-vpe-pool' />
- <parameter name='ss.capability.execution-order[8]' value='unresolved-composite-data' />
- <parameter name='ss.capability.execution-order_length' value='9' />
+ <parameter name='ss.capability.execution-order[4]' value='mS-vlan-tag-assign' />
+ <parameter name='ss.capability.execution-order[5]' value='eipam-ip-assign' />
+ <parameter name='ss.capability.execution-order[6]' value='eipam-create-pool"' />
+ <parameter name='ss.capability.execution-order[7]' value='mac-address-assign' />
+ <parameter name='ss.capability.execution-order[8]' value='mS-mac-address-assign' />
+ <parameter name='ss.capability.execution-order[9]' value='create-vpe-pool' />
+ <parameter name='ss.capability.execution-order[10]' value='unresolved-composite-data' />
+ <parameter name='ss.capability.execution-order[11]' value='aai-vnf-put' />
+ <parameter name='ss.capability.execution-order_length' value='12' />
</set>
<set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources' value='true' />
@@ -210,23 +213,9 @@ ss.capability.execution-order[]
<set>
<parameter name='ss.capability-action' value='assign' />
</set>
- <switch test='`$ss.capability-name`'>
- <outcome value='alts-entitlement-assign'>
- <set>
- <parameter name='ss.capability-dg' value='self-serve-alts-assignment' />
- </set>
- </outcome>
- <outcome value='alts-license-assign'>
- <set>
- <parameter name='ss.capability-dg' value='self-serve-alts-assignment' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />
- </set>
- </outcome>
- </switch>
+ <set>
+ <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />
+ </set>
<for index='pidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
<set>
<parameter name='tmp.param.capability-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />
@@ -234,11 +223,6 @@ ss.capability.execution-order[]
<switch test='`$ss.capability-name == $tmp.param.capability-name`'>
<outcome value='true'>
<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`'>
- <outcome value='SUCCESS'>
- <set>
- <parameter name='`$ss.capability-dg`' value='ASSIGNED' />
- </set>
- </outcome>
<outcome value='PENDING'>
<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >
<outcome value='failure'>
@@ -291,22 +275,15 @@ ss.capability.execution-order[]
<parameter name='format' value='json' />
<parameter name='httpMethod' value='PUT' />
<parameter name="responsePrefix" value="mdsal-ss-vnf" />
- <outcome value='success'>
- <block></block>
- </outcome>
<outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Failed to persist self-serve vnf assignments during assign in MD-SAL" />
- </set>
- </block>
+ <set>
+ <parameter name="error-message" value="Failed to persist self-serve vnf assignments during assign in MD-SAL" />
+ </set>
</outcome>
<outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Failed to persist self-serve vnf assignments during assign in MD-SAL" />
- </set>
- </block>
+ <set>
+ <parameter name="error-message" value="Failed to persist self-serve vnf assignments during assign in MD-SAL" />
+ </set>
</outcome>
</execute>
<return status='failure'>
@@ -315,11 +292,6 @@ ss.capability.execution-order[]
</return>
</block>
</outcome>
- <outcome value='success'>
- <set>
- <parameter name='`$ss.capability-dg`' value='ASSIGNED' />
- </set>
- </outcome>
</call>
</outcome>
<outcome value='FAILED'>
@@ -374,22 +346,15 @@ ss.capability.execution-order[]
<parameter name='format' value='json' />
<parameter name='httpMethod' value='PUT' />
<parameter name="responsePrefix" value="mdsal-ss-vnf" />
- <outcome value='success'>
- <block></block>
- </outcome>
<outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Failed to persist self-serve vnf assignments during assign in MD-SAL" />
- </set>
- </block>
+ <set>
+ <parameter name="error-message" value="Failed to persist self-serve vnf assignments during assign in MD-SAL" />
+ </set>
</outcome>
<outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Failed to persist self-serve vnf assignments during assign in MD-SAL" />
- </set>
- </block>
+ <set>
+ <parameter name="error-message" value="Failed to persist self-serve vnf assignments during assign in MD-SAL" />
+ </set>
</outcome>
</execute>
<return status='failure'>
@@ -398,11 +363,6 @@ ss.capability.execution-order[]
</return>
</block>
</outcome>
- <outcome value='success'>
- <set>
- <parameter name='`$ss.capability-dg`' value='ASSIGNED' />
- </set>
- </outcome>
</call>
</outcome>
</switch>
@@ -410,78 +370,6 @@ ss.capability.execution-order[]
</switch>
</for>
</for>
- <switch test="`$self-serve-generate-name == 'ASSIGNED'`">
- <outcome value='false'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: self-serve-generate-name status: ' + $self-serve-generate-name`"/>
- </record>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='true'>
- <switch test="`$self-serve-unresolved-composite-data == 'ASSIGNED' or $self-serve-unresolved-composite-data == ''`">
- <outcome value='false'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: self-serve-unresolved-composite-data: ' + $self-serve-unresolved-composite-data`"/>
- </record>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'AAI Put is being skipped because NOT all capability components have SUCCESS status; '+ $error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='true'>
- <block atomic='true'>
- <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name`'>
- <outcome value='vnf_name'>
- <block atomic='true'>
- <set>
- <parameter name='tmp.ss.vnf-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].value`' />
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id "
- pfx="tmp.aai.update.vnf" >
- <parameter name="vnf-name" value='`$tmp.ss.vnf-name`' />
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $tmp.ss.vnf-name`" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name because generic-vnf with vnf-name=' + $tmp.ss.vnf-name + ' is not found in AAI'`" />
- </return>
- </outcome>
- </update>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$tmp.ss.vnf-name`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'generic-vnf not updated because vnf-name param.value is null; '+ $error-message`" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
<parameter name='filename' value='/var/tmp/ss-vnf-assign.log' />
</execute>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.xml
new file mode 100644
index 00000000..dc7b1609
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.xml
@@ -0,0 +1,61 @@
+<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='self-serve-vnf-changeassign' mode='sync'>
+ <block atomic="true">
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="no param name/value provided in vnf-request-input" />
+ </return>
+ </outcome>
+ </switch>
+ <for index='i' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >
+ <block atomic='true'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`'>
+ <outcome value='Other'>
+ <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$j].name == $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name`'>
+ <outcome value='false'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No param with param[].name = ' + $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + ' found in service-data.'`" />
+ </return>
+ </outcome>
+ <outcome value='true'>
+ <block atomic='true'>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$j].resource-resolution-data.status`' value='PENDING'/>
+ <parameter name='ss.input.param.index' value='`$i`' />
+ <parameter name='ss.service-data.param.index' value='`$j`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-generate-name-changeassign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error from self-service-generate-name-changeassign" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error from self-service-generate-name-changeassign" />
+ </return>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ </method>
+</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.xml
index ac31f90d..004d249a 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.xml
@@ -96,7 +96,7 @@
<parameter name="tmp.config-name-value-payload7" value="`$tmp.config-name-value-payload6 + '&quot;aic-cloud-region&quot;:&quot;' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + '&quot;'`"/>
<parameter name="tmp.json-payload" value="`'{' + $tmp.config-name-value-payload7 + '}'`" />
</set>
- <execute plugin='org.openecomp.sdnc.config.assignment.service.ConfigAssignmentNode' method='process'>
+ <execute plugin='org.onap.ccsdk.config.assignment.service.ConfigAssignmentNode' method='process'>
<parameter name="request-id" value='`$request-id`' />
<parameter name="resource-id" value='`$resource-id`' />
<parameter name="resource-type" value='`$resource-type`' />
@@ -147,11 +147,15 @@
</switch>
<switch test='`$tmp.mso.param.found`'>
<outcome value='false'>
- <set>
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].name`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'/>
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>
- <parameter name='highnum' value='`$highnum + 1`' />
- </set>
+ <block atomic='true'>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].name`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'/>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].value`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-value`'/>
+ </set>
+ <set>
+ <parameter name='highnum' value='`$highnum + 1`' />
+ </set>
+ </block>
</outcome>
</switch>
</block>
@@ -181,11 +185,19 @@
<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>
<parameter name='num' value='`$num + 1`' />
</set>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>
+ </set>
+ <set>
+ <parameter name='num' value='`$num + 1`' />
+ </set>
</for>
</outcome>
</switch>
<set>
<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' value='`$highnum + 1`'/>
+ </set>
+ <set>
<parameter name='highnum' value='`$highnum + 1`' />
</set>
</block>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-unassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-unassign.xml
index 968a4595..517948ee 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-unassign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-unassign.xml
@@ -5,12 +5,14 @@
<block atomic='true'>
<set>
<parameter name='ss.capability.execution-order[0]' value='mac-address-assign' />
- <parameter name='ss.capability.execution-order[1]' value='eipam-ip-assign' />
- <parameter name='ss.capability.execution-order[2]' value='vlan-tag-assign' />
- <parameter name='ss.capability.execution-order[3]' value='alts-license-assign' />
- <parameter name='ss.capability.execution-order[4]' value='alts-entitlement-assign' />
- <parameter name='ss.capability.execution-order[5]' value='generate-name' />
- <parameter name='ss.capability.execution-order_length' value='6' />
+ <parameter name='ss.capability.execution-order[1]' value='mS-mac-address-assign' />
+ <parameter name='ss.capability.execution-order[2]' value='eipam-ip-assign' />
+ <parameter name='ss.capability.execution-order[3]' value='vlan-tag-assign' />
+ <parameter name='ss.capability.execution-order[4]' value='mS-vlan-tag-assign' />
+ <parameter name='ss.capability.execution-order[5]' value='alts-license-assign' />
+ <parameter name='ss.capability.execution-order[6]' value='alts-entitlement-assign' />
+ <parameter name='ss.capability.execution-order[7]' value='generate-name' />
+ <parameter name='ss.capability.execution-order_length' value='8' />
</set>
<set>
<parameter name='ss.capability-type' value='vnf' />
@@ -25,23 +27,9 @@ ss.capability.execution-order[]
<set>
<parameter name='ss.capability-action' value='unassign' />
</set>
- <switch test='`$ss.capability-name`'>
- <outcome value='alts-entitlement-assign'>
- <set>
- <parameter name='ss.capability-dg' value='self-serve-alts-assignment' />
- </set>
- </outcome>
- <outcome value='alts-license-assign'>
- <set>
- <parameter name='ss.capability-dg' value='self-serve-alts-assignment' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />
- </set>
- </outcome>
- </switch>
+ <set>
+ <parameter name='ss.capability-dg' value="`'self-serve-' + $ss.capability.execution-order[$cidx]`" />
+ </set>
<for index='pidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
<set>
<parameter name='tmp.param.capability-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />
@@ -51,11 +39,6 @@ ss.capability.execution-order[]
<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status`'>
<outcome value='SUCCESS'>
<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >
- <outcome value='success'>
- <set>
- <parameter name='`$ss.capability-dg`' value='UNASSIGNED' />
- </set>
- </outcome>
<outcome value='failure'>
<block atomic='true'>
<set>
@@ -98,9 +81,6 @@ ss.capability.execution-order[]
<parameter name='format' value='json' />
<parameter name='httpMethod' value='PUT' />
<parameter name="responsePrefix" value="mdsal-ss-vnf" />
- <outcome value='success'>
- <block></block>
- </outcome>
<outcome value='failure'>
<block atomic="true">
<set>
@@ -145,6 +125,29 @@ ss.capability.execution-order[]
</switch>
</for>
</for>
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value='1'>
+ <set>
+ <parameter name="service-data.vnfs." value=""/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >
+ <set>
+ <parameter name="$tmpidx" value="`$idx - 1`"/>
+ <parameter name="service-data.vnfs.vnf[$tmpidx]." value="$service-data.vnfs.vnf[$idx]." />
+ </set>
+ </for>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1]." value=""/>
+ </set>
+ <set>
+ <parameter name="service-data.vnfs.vnf_length" value="`$service-data.vnfs.vnf_length - 1`"/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
<parameter name='filename' value='/var/tmp/ss-vnf-assign.log' />
</execute>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml
index c68737e4..07ae1e64 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml
@@ -98,631 +98,2044 @@
</outcome>
</switch>
</for>
- </block>
- <switch test="`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.vf_module_label == 'true'`">
- <outcome value='true'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id`" />
- </return>
- </outcome>
- </call>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ <switch test="`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.vf_module_label == 'true'`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id`" />
+ </return>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
- </execute>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='false'>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='SELECT sdnc_model_name from VF_MODEL
WHERE customization_uuid = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.onap-model-information.model-customization-uuid
AND sdnc_model_name is not null'
pfx='db.vf-model-name'>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading VF_MODEL table" />
- </return>
- </outcome>
- <outcome value='success'>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODEL table" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='SELECT vf_module_label from VF_MODULE_MODEL
WHERE vf_customization_uuid = $vf-module-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
AND vf_module_label is not null '
pfx='db.vf-module-label'>
- <outcome value='success'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id`" />
- </return>
- </outcome>
- </call>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
- value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
- </execute>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
+ <outcome value='success'>
<block atomic="true">
- <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
- <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
+ <outcome value='failure'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="vf-module-information.vf-module-request-input.vf-module-name is a required input" />
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id`" />
</return>
</outcome>
- </switch>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
- <outcome value=''>
- <set>
- <parameter name='vf-module-index' value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value=''>
<set>
- <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
+ <parameter name='vf-module-index' value='0' />
</set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
- <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
- <outcome value='true'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
+ ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
- </return>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
- <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
- <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
+ <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
+ <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="cloud-region"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </return>
- </outcome>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving cloud region from AAI" />
- </return>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </return>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+ </return>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
- </block>
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
+ </return>
</outcome>
</switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
- </return>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
value='`$db.vf-module-model.invariant-uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
value='`$db.vf-module-model.uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
value='`$db.vf-module-model.version`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
value='`$db.vf-module-model.name`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-parameters.'
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-parameters.'
value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='GET' />
- <parameter name="responsePrefix" value="mdsal-preload" />
- <outcome value='failure'>
- <block>
- <switch test='`$mdsal-preload.response-code`'>
- <outcome value='404'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
- <outcome value='failure'>
- <return status='failure'></return>
- </outcome>
- </call>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving preload-information" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='success'>
- <block>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
+ </set>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
+ <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
<outcome value='failure'>
- <return status='failure'></return>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
</outcome>
</call>
- </block>
- </outcome>
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
+ </outcome>
+ <outcome value='Other'>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-preload" />
+ <outcome value='failure'>
+ <block>
+ <switch test='`$mdsal-preload.response-code`'>
+ <outcome value='404'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving preload-information" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
+ </execute>
+ <switch test='`$from-preload`'>
+ <outcome value='false'>
+ <set>
+ <parameter name='automated-assignment' value='true' />
+ </set>
+ </outcome>
+ <outcome value='true'>
+ <set>
+ <parameter name='automated-assignment' value='false' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <block>
- <set>
- <parameter name='tmp.network-role' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role`' />
- </set>
+ <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
<set>
- <parameter name='found-network-role' value='false' />
+ <parameter name='vnf-network-index' value='-1' />
</set>
- <for index='vnf-network-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
<outcome value='true'>
- <block>
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='`$idx`' />
+ </set>
<set>
- <parameter name='found-network-role' value='true' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
</set>
<break/>
</block>
</outcome>
</switch>
</for>
- <switch test='`$found-network-role`'>
- <outcome value='false'>
+ <switch test='`$vnf-network-index`'>
+ <outcome value='-1'>
<block atomic="true">
<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message"
- value="`'Cannot find VNF network role ' + $tmp.network-role`" />
+ <parameter name="error-message" value="`'VNFC network role '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ + ' is not found in VNF network list'
+ `" />
</return>
</block>
</outcome>
</switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`' />
- </set>
<for index='subnet-role-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
<for index='address-family-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- <parameter name='tmp.subnet-role'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-subnet-role`' />
- </set>
- <set>
- <parameter name='found-subnet' value='false' />
- </set>
- <for silentFailure='true' index='vnf-address-family-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>
- <outcome value='true'>
- <switch test='`$tmp.subnet-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].subnet-role`'>
- <outcome value='true'>
- <block>
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='af-count' value='0' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <set>
+ <parameter name='af-count' value='`$af-count + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$af-count`'>
+ <outcome value='1'>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
+ value='`$subnet-id`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='-1' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <set>
+ <parameter name='ip-type' value='IPv4' />
+ </set>
+ </outcome>
+ <outcome value='ipv6'>
+ <set>
+ <parameter name='ip-type' value='IPv6' />
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
+ <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
+ <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
+ <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
+ <parameter name="ipType" value="`$ip-type`" />
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$subnet-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
+ `" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
<set>
- <parameter name='found-subnet' value='true' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
</set>
- <break/>
</block>
</outcome>
</switch>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-subnet`'>
- <outcome value='false'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find VNF address family '
- + $tmp.address-family
- + ' for subnet role '
- + $tmp.subnet-role`" />
- </return>
</block>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />
- </set>
- </block>
+ </block>
+ </outcome>
+ </switch>
</for>
</for>
</block>
</for>
</for>
- <for silentFailure='true' index='vm-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block>
- <set>
- <parameter name='tmp.network-role' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-role`' />
- </set>
- <for index='vnf-network-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <break/>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
+ and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='false' />
+ </set>
+ <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
+ == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='true' />
+ </set>
+ <set>
+ <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
+ <parameter name='saved-related-network-index' value='`$related-network-index`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='false'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find related network '
+ + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
+ </set>
+ <set>
+ <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </for>
+ </outcome>
+ </get-resource>
+ </block>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='vf-module-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vf-modules/vf-module/'
+ + $vf-module-topology-operation-input.vf-module-information.vf-module-id
+ + '/vf-module-data/vf-module-topology/'`"/>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="selflink" value="`$vf-module-object-path`" />
+ <parameter name="automated-assignment" value="`$automated-assignment`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
+ </set>
</outcome>
</switch>
- </for>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length &gt; 0`'>
- <outcome value='true'>
- <block atomic="true">
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-function' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
<set>
- <parameter name='tmp.address-family' value='ipv4' />
+ <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
</set>
+ </outcome>
+ </switch>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id +
+ '/vf-modules/vf-module/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vnfc relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
+ <parameter name="ctx-destination" value="cp-instance-id" />
+ </execute>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id" >
+ <parameter name="cp-instance-id" value="`$cp-instance-id`" />
+ <parameter name="port-id" value="0" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating cp object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating cp object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
<set>
- <parameter name='found-address-family' value='false' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
+ value='`$cp-instance-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
+ value='0' />
</set>
- <for silentFailure='true' index='vnf-address-family-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>
+ <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
+ <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ <outcome value='ipv6'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </for>
+ <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
<outcome value='true'>
- <block>
- <set>
- <parameter name='found-address-family' value='true' />
- </set>
- <break/>
- </block>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
+ </return>
+ </block>
+ </outcome>
+ </save>
</outcome>
</switch>
</for>
- <switch test='`$found-address-family`'>
- <outcome value='false'>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </for>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
+ <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
+ <parameter name="vip-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
<block atomic="true">
<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find VNF address family '
- + $tmp.address-family
- + ' for network role '
- + $tmp.network-role`" />
+ <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
</return>
</block>
</outcome>
- </switch>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
+ <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
+ <parameter name="vip-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
<set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
</set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
+ </execute>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
+ <block atomic="true">
+ <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
+ AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
+ AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </delete>
+ <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
+key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
+ value='$vf-module-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
+ value='$vf-module-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
+ value='$vf-module-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
+ value='$vf-module-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
+ value='$vf-module-topology-operation-input.vf-module-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
+ value='$vf-module-topology-operation-input.vf-module-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vf-module-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
+ + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
+ value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
+ <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
+ <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </return>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+ </return>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-module-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$db.vf-module-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$db.vf-module-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$db.vf-module-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-parameters.'
+ value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />
+ </set>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
+ <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-preload" />
+ <outcome value='failure'>
+ <block>
+ <switch test='`$mdsal-preload.response-code`'>
+ <outcome value='404'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving preload-information" />
+ </return>
</block>
</outcome>
</switch>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length &gt; 0`'>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
+ </execute>
+ <switch test='`$from-preload`'>
+ <outcome value='false'>
+ <set>
+ <parameter name='automated-assignment' value='true' />
+ </set>
+ </outcome>
+ <outcome value='true'>
+ <set>
+ <parameter name='automated-assignment' value='false' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='-1' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
<outcome value='true'>
<block atomic="true">
<set>
- <parameter name='tmp.address-family' value='ipv6' />
+ <parameter name='vnf-network-index' value='`$idx`' />
</set>
<set>
- <parameter name='found-address-family' value='false' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
</set>
- <for silentFailure='true' index='vnf-address-family-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>
- <outcome value='true'>
- <block>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$vnf-network-index`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNFC network role '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ + ' is not found in VNF network list'
+ `" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <for index='subnet-role-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
+ <for index='address-family-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='af-count' value='0' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <set>
+ <parameter name='af-count' value='`$af-count + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$af-count`'>
+ <outcome value='1'>
<set>
- <parameter name='found-address-family' value='true' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
+ value='`$subnet-id`' />
</set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='-1' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <set>
+ <parameter name='ip-type' value='IPv4' />
+ </set>
+ </outcome>
+ <outcome value='ipv6'>
+ <set>
+ <parameter name='ip-type' value='IPv6' />
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
+ <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
+ <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
+ <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
+ <parameter name="ipType" value="`$ip-type`" />
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$subnet-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
+ `" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </for>
+ </block>
+ </for>
+ </for>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
+ and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='false' />
+ </set>
+ <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
+ == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='true' />
+ </set>
+ <set>
+ <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
+ <parameter name='saved-related-network-index' value='`$related-network-index`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='true'>
<break/>
- </block>
- </outcome>
- </switch>
+ </outcome>
+ </switch>
+ </block>
</for>
- <switch test='`$found-address-family`'>
+ <switch test='`$found-related-network`'>
<outcome value='false'>
- <block atomic="true">
+ <block>
<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find VNF address family '
- + $tmp.address-family
- + ' for network role '
- + $tmp.network-role`" />
+ <parameter name="error-message" value="`'Unable to find related network '
+ + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
</return>
</block>
</outcome>
</switch>
<set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
+ </set>
+ <set>
+ <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
</set>
</block>
- </outcome>
- </switch>
- </block>
- </for>
- </block>
- </for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
- </execute>
- <set>
- <parameter name='vf-module-object-path'
+ </for>
+ </outcome>
+ </get-resource>
+ </block>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='vf-module-object-path'
value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $service-data.service-topology.service-topology-identifier.service-instance-id
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ '/service-data/vnfs/vnf/'
+ $service-data.vnfs.vnf[$vnf-index].vnf-id
+ '/vnf-data/vf-modules/vf-module/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ + $vf-module-topology-operation-input.vf-module-information.vf-module-id
+ '/vf-module-data/vf-module-topology/'`"/>
- </set>
- <switch test='`$from-preload`'>
- <outcome value='false'>
- <set>
- <parameter name='automated-assignment' value='true' />
- </set>
- </outcome>
- <outcome value='true'>
- <set>
- <parameter name='automated-assignment' value='false' />
- </set>
- </outcome>
- </switch>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vf-module"
key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
force="true" pfx="tmp.AnAI-data">
- <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="selflink" value="`$vf-module-object-path`" />
- <parameter name="automated-assignment" value="`$automated-assignment`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- </return>
- </block>
- </outcome>
- </update>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="selflink" value="`$vf-module-object-path`" />
+ <parameter name="automated-assignment" value="`$automated-assignment`" />
+ <outcome value='failure'>
<block atomic="true">
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-function' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
+ </set>
+ </outcome>
+ </switch>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vnfc"
key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
- <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <parameter name="nfc-naming-code" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`" />
- <parameter name="nfc-function" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
- <parameter name="orchestration-status" value="`PendingCreate`" />
- <parameter name="prov-status" value="`PREPROV`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vnfc:relationship-list"
key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
- <parameter name="relationship-list.relationship[0].related-link"
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link"
value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
$vf-module-topology-operation-input.vnf-information.vnf-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
- <parameter name="relationship-list.relationship[1].related-link"
+ <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
+ <parameter name="relationship-list.relationship[1].related-link"
value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
$vf-module-topology-operation-input.vnf-information.vnf-id +
'/vf-modules/vf-module/' +
$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating vnfc relationships" />
- </return>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vnfc relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
+ <parameter name="ctx-destination" value="cp-instance-id" />
+ </execute>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id" >
+ <parameter name="cp-instance-id" value="`$cp-instance-id`" />
+ <parameter name="port-id" value="0" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating cp object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating cp object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
+ value='`$cp-instance-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
+ value='0' />
+ </set>
<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
<block atomic="true">
@@ -737,6 +2150,7 @@
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="l3-interface-ipv4-address-list"
key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
<parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
<parameter name="l3-interface-ipv4-prefix-length" value="32" />
@@ -755,6 +2169,7 @@
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="l3-interface-ipv4-address-list:relationship-list"
key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
force="true" pfx="tmp.AnAI-data">
<parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
@@ -795,6 +2210,7 @@
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="l3-interface-ipv6-address-list"
key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
<parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
<parameter name="l3-interface-ipv6-prefix-length" value="128" />
@@ -813,6 +2229,7 @@
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="l3-interface-ipv6-address-list:relationship-list"
key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
force="true" pfx="tmp.AnAI-data">
<parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
@@ -853,80 +2270,162 @@
</block>
</for>
</for>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </for>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vf-module:relationship-list"
key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
value="`'/aai/v$/network/l3-networks/l3-network/' +
$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
- </set>
- <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <outcome value='failure'>
<block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vip-ipv4-address-list"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
- <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
- <parameter name="vip-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
+ <parameter name="vip-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vip-ipv4-address-list:relationship-list"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
@@ -964,44 +2463,86 @@
</block>
</outcome>
</save>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vip-ipv6-address-list"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
- <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
- <parameter name="vip-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
+ <parameter name="vip-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vip-ipv6-address-list:relationship-list"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
@@ -1039,1038 +2580,139 @@
</block>
</outcome>
</save>
- </for>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
- </execute>
- <return status='failure'></return>
- </block>
- </outcome>
- </call>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
- <block atomic="true">
- <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
- AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
- AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </delete>
- <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
-key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </save>
- </block>
- </for>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
- value='$vf-module-topology-operation-input.sdnc-request-header.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
- value='$vf-module-topology-operation-input.request-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
- value='$vf-module-topology-operation-input.service-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
- value='$vf-module-topology-operation-input.vnf-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
- value='$vf-module-topology-operation-input.vf-module-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
- value='$vf-module-topology-operation-input.vf-module-request-input.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
- value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
- </execute>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <block atomic="true">
- <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vf-module-information.vf-module-request-input.vf-module-name is a required input" />
- </return>
- </outcome>
- </switch>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
- <outcome value=''>
- <set>
- <parameter name='vf-module-index' value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block>
- <set>
- <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
- </set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
- <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
- <outcome value='true'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
- + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
- </return>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
- value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
- <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
- <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cloud-region"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
- cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
- pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </return>
- </outcome>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving cloud region from AAI" />
- </return>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
- value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
- </return>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
- value='`$db.vf-module-model.invariant-uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
- value='`$db.vf-module-model.uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
- value='`$db.vf-module-model.version`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
- value='`$db.vf-module-model.name`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-parameters.'
- value='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='GET' />
- <parameter name="responsePrefix" value="mdsal-preload" />
- <outcome value='failure'>
- <block>
- <switch test='`$mdsal-preload.response-code`'>
- <outcome value='404'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
- <outcome value='failure'>
- <return status='failure'></return>
- </outcome>
- </call>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving preload-information" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='success'>
- <block>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
- <outcome value='failure'>
- <return status='failure'></return>
- </outcome>
- </call>
- </block>
- </outcome>
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <block>
- <set>
- <parameter name='tmp.network-role' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role`' />
- </set>
- <set>
- <parameter name='found-network-role' value='false' />
- </set>
- <for index='vnf-network-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='found-network-role' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-network-role`'>
- <outcome value='false'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message"
- value="`'Cannot find VNF network role ' + $tmp.network-role`" />
- </return>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`' />
- </set>
- <for index='subnet-role-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
- <for index='address-family-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- <parameter name='tmp.subnet-role'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-subnet-role`' />
- </set>
- <set>
- <parameter name='found-subnet' value='false' />
- </set>
- <for silentFailure='true' index='vnf-address-family-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>
- <outcome value='true'>
- <switch test='`$tmp.subnet-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].subnet-role`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='found-subnet' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-subnet`'>
- <outcome value='false'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find VNF address family '
- + $tmp.address-family
- + ' for subnet role '
- + $tmp.subnet-role`" />
- </return>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />
- </set>
- </block>
- </for>
- </for>
- </block>
- </for>
- </for>
- <for silentFailure='true' index='vm-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block>
- <set>
- <parameter name='tmp.network-role' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-role`' />
- </set>
- <for index='vnf-network-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </for>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length &gt; 0`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family' value='ipv4' />
- </set>
- <set>
- <parameter name='found-address-family' value='false' />
- </set>
- <for silentFailure='true' index='vnf-address-family-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='found-address-family' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-address-family`'>
- <outcome value='false'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find VNF address family '
- + $tmp.address-family
- + ' for network role '
- + $tmp.network-role`" />
- </return>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />
- </set>
- </block>
- </outcome>
- </switch>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length &gt; 0`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family' value='ipv6' />
- </set>
- <set>
- <parameter name='found-address-family' value='false' />
- </set>
- <for silentFailure='true' index='vnf-address-family-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].ip-version`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='found-address-family' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-address-family`'>
- <outcome value='false'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find VNF address family '
- + $tmp.address-family
- + ' for network role '
- + $tmp.network-role`" />
- </return>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$vnf-address-family-index].sdnc-subnet-id`' />
- </set>
- </block>
- </outcome>
- </switch>
- </block>
- </for>
- </block>
- </for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
- </execute>
- <set>
- <parameter name='vf-module-object-path'
- 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/'`"/>
- </set>
- <switch test='`$from-preload`'>
- <outcome value='false'>
- <set>
- <parameter name='automated-assignment' value='true' />
- </set>
- </outcome>
- <outcome value='true'>
- <set>
- <parameter name='automated-assignment' value='false' />
- </set>
- </outcome>
- </switch>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="selflink" value="`$vf-module-object-path`" />
- <parameter name="automated-assignment" value="`$automated-assignment`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- </return>
- </block>
- </outcome>
- </update>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
- <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <parameter name="nfc-naming-code" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`" />
- <parameter name="nfc-function" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
- <parameter name="orchestration-status" value="`PendingCreate`" />
- <parameter name="prov-status" value="`PREPROV`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
- $vf-module-topology-operation-input.vnf-information.vnf-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
- $vf-module-topology-operation-input.vnf-information.vnf-id +
- '/vf-modules/vf-module/' +
- $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating vnfc relationships" />
- </return>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
- <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- </set>
- <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
- <switch test='`$tmp.address-family`'>
- <outcome value='ipv4'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv4-address-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
- <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
- <parameter name="l3-interface-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
- </return>
- </block>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv4-address-list:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
- '/subnets/subnet/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
- </return>
- </block>
- </outcome>
- </save>
- </block>
- </outcome>
- <outcome value='ipv6'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv6-address-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
- <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
- <parameter name="l3-interface-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
- </return>
- </block>
- </outcome>
- </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv6-address-list:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
<parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
- '/subnets/subnet/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
<outcome value='failure'>
<block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
</return>
</block>
</outcome>
<outcome value='not-found'>
<block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
</return>
</block>
</outcome>
</save>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
</for>
- </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
+ </execute>
+ <return status='failure'></return>
</block>
- </for>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ </outcome>
+ </call>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
<block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
+ AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
+ AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
<outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
- </return>
- </block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
</outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- </return>
- </block>
+ </delete>
+ <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
+key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
</outcome>
</save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
- </set>
- <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
- <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
- <parameter name="vip-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
- + '/subnets/subnet/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
- </return>
- </block>
- </outcome>
- </save>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
- <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
- <parameter name="vip-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
- + '/subnets/subnet/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
- </return>
- </block>
- </outcome>
- </save>
- </for>
- </block>
- </for>
</block>
</for>
- </block>
- </for>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
- </execute>
- <return status='failure'></return>
- </block>
- </outcome>
- </call>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
- <block atomic="true">
- <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
- AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
- AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </delete>
- <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
-key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </save>
- </block>
</for>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
value='$vf-module-topology-operation-input.sdnc-request-header.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
value='$vf-module-topology-operation-input.request-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
value='$vf-module-topology-operation-input.service-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
value='$vf-module-topology-operation-input.vnf-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
value='$vf-module-topology-operation-input.vf-module-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
value='$vf-module-topology-operation-input.vf-module-request-input.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
- </execute>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
</block>
- </block>
- </outcome>
- </get-resource>
- </outcome>
- </switch>
+ </outcome>
+ </get-resource>
+ </outcome>
+ </switch>
+ </block>
</block>
</method>
</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.xml
index 5a0d61e5..b9547f37 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.xml
@@ -85,41 +85,64 @@
</return>
</outcome>
</switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.sdnc-generated-cloud-resources`'>
+ <outcome value='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vfmodule-changeassign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Encountered error while updating self-serve vf-module resources with error: '+ $error-message`" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'
pfx='db.vf-module-model'>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
- </return>
- </outcome>
- </get-resource>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.onap-model-information.'
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.onap-model-information.'
value='$vf-module-topology-operation-input.vf-module-information.onap-model-information.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
value='Created' />
- <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'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
- </set>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
+ </set>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
</block>
</method>
</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.xml
index d9907226..f804500f 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.xml
@@ -85,155 +85,252 @@
</return>
</outcome>
</switch>
- <set>
- <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`" />
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
-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'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table" />
- </return>
- </outcome>
- </update>
- <!--EIPAM plug-in needs this attribute set with this name-->
- <set>
- <parameter name='service-data.service-information.service-type' value='`$service-data.service-information.subscription-service-type`' />
- </set>
- <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">
- <parameter name="deleteEIPAM_status" value="`$tmp.status`" />
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error in EIPAM unassign IP address" />
- </return>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.sdnc-generated-cloud-resources`'>
+ <outcome value='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-unassign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Encountered error while unassigning self-serve vf-moldule esources with error: '+ $error-message`" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </outcome>
+ </call>
</outcome>
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for silentFailure='true' index='vm-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
+ <outcome value='Other'>
<block atomic="true">
- <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ <set>
+ <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`" />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
+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'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating EIPAM_IP_ASSIGNMENTS table" />
+ </return>
+ </outcome>
+ </update>
+ <!--EIPAM plug-in needs this attribute set with this name-->
+ <set>
+ <parameter name='service-data.service-information.service-type' value='`$service-data.service-information.subscription-service-type`' />
+ </set>
+ <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">
+ <parameter name="deleteEIPAM_status" value="`$tmp.status`" />
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error in EIPAM unassign IP address" />
+ </return>
+ </outcome>
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for silentFailure='true' index='vm-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
+ <block atomic="true">
+ <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
AND vm_name = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </delete>
+ </block>
+ </for>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[0].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function`'>
+ <outcome value=''>
+ <block></block>
</outcome>
- </delete>
- </block>
- </for>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[0].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <outcome value='Other'>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="instance-groups"
key="instance-group.instance-group-function = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[0].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function
AND instance-group.instance-group-type = 'L3-NETWORK'"
pfx='aai.instance-group' local-only='false' >
- <outcome value='success'>
- <for index='ig-index' start='0' end='`$aai.instance-group.instance-group_length`' >
- <for index='rel-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship_length`' >
- <for index='reldata-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data_length`' >
- <switch test="`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-key
+ <outcome value='success'>
+ <for index='ig-index' start='0' end='`$aai.instance-group.instance-group_length`' >
+ <for index='rel-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship_length`' >
+ <for index='reldata-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data_length`' >
+ <switch test="`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-key
== 'service-instance.service-instance-id'`">
- <outcome value='true'>
- <switch test='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-value
+ <outcome value='true'>
+ <switch test='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-value
== $service-data.service-information.service-instance-id`'>
- <outcome value='true'>
- <block>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
- <outcome value='1'>
+ <outcome value='true'>
<block>
- <set>
- <parameter name='tmp.status' value="`'PENDING_DELETE_' + $aai.instance-group.instance-group[$ig-index].id`" />
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value='1'>
+ <block>
+ <set>
+ <parameter name='tmp.status' value="`'PENDING_DELETE_' + $aai.instance-group.instance-group[$ig-index].id`" />
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
key="UPDATE EIPAM_IP_ASSIGNMENTS set status = $tmp.status WHERE info = $aai.instance-group.instance-group[$ig-index].id" ></update>
- <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">
- <parameter name="deleteEIPAM_status" value="`$tmp.status`" />
- </execute>
- </block>
- </outcome>
- </switch>
- <for index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
- <switch test='`$aai.instance-group.instance-group[$ig-index].id
+ <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="unassignIPAddress">
+ <parameter name="deleteEIPAM_status" value="`$tmp.status`" />
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <for index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
+ <switch test='`$aai.instance-group.instance-group[$ig-index].id
== $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
- <outcome value='true'>
- <for index='network-index' start='0' end='`$service-data.network-instance-groups.network-instance-group[$nig-index].networks.network_length`' >
- <set>
- <parameter name='service-data.network-instance-groups.network-instance-group[$nig-index].networks.network[$network-index].vlan-tag-id'
+ <outcome value='true'>
+ <for index='network-index' start='0' end='`$service-data.network-instance-groups.network-instance-group[$nig-index].networks.network_length`' >
+ <set>
+ <parameter name='service-data.network-instance-groups.network-instance-group[$nig-index].networks.network[$network-index].vlan-tag-id'
value='' />
- <parameter name='service-data.network-instance-groups.network-instance-group[$nig-index].networks.network[$network-index].network-status'
+ <parameter name='service-data.network-instance-groups.network-instance-group[$nig-index].networks.network[$network-index].network-status'
value='unassigned' />
- </set>
+ </set>
+ </for>
+ </outcome>
+ </switch>
</for>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </for>
+ </for>
+ </outcome>
+ </get-resource>
+ </outcome>
+ </switch>
+ <switch test='`$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-name`'>
+ <outcome value='Other'>
+ <block></block>
+ </outcome>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name='generate-unique-name-input.name-table-type' value='VF_MODULE_INSTANCE' />
+ <parameter name='generate-unique-name-input.context-id' value='`$vf-module-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='generate-unique-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-unique-name' mode='sync' ></call>
+ </block>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='vm-type-index' start='0'
+ end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block>
+ <for silentFailure='true' index='vm-name-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-name-index]`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VM' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$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`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNFC' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$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`' />
+ <parameter name='naming-policy-generate-name-input.vm-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vnfc-index]`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
</outcome>
</switch>
- </for>
- </for>
- </for>
- </outcome>
- </get-resource>
- </outcome>
- </switch>
- <for silentFailure='true' index='vm-type-index' start='0'
- end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for silentFailure='true' index='vnfc-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vnfc"
key="vnfc.vnfc-name = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"></delete>
- </for>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
- <outcome value='1'>
- <set>
- <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules." value=""/>
- </set>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <for index='idx' start='`$vf-module-index + 1`' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
- <set>
- <parameter name="tmpidx" value="`$idx - 1`"/>
- <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmpidx]." value="$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx]." />
- </set>
+ </block>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block>
+ <for silentFailure='true' index='ipv4-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" ></delete>
+ </for>
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" ></delete>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
</for>
- <!--EIPAM plug-in needs this attribute set with this name-->
- <set>
- <parameter name='lastidx' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`' />
- </set>
- <set>
- <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lastidx]." value=""/>
- </set>
- <set>
- <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length" value="`$lastidx`"/>
- </set>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value='1'>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules." value=""/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='idx' start='`$vf-module-index + 1`' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <set>
+ <parameter name="tmpidx" value="`$idx - 1`"/>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmpidx]." value="$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx]." />
+ </set>
+ </for>
+ <!--EIPAM plug-in needs this attribute set with this name-->
+ <set>
+ <parameter name='lastidx' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`' />
+ </set>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lastidx]." value=""/>
+ </set>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length" value="`$lastidx`"/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
</block>
</outcome>
</switch>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
</block>
</method>
</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml
index 9f60d4bf..8c1d2166 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml
@@ -353,9 +353,6 @@
</set>
</outcome>
</switch>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
- </execute>
<set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
@@ -609,6 +606,18 @@
<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
<block atomic="true">
<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
+ <outcome value='service-instance'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='service-instance.service-instance-id'>
+ <set>
+ <parameter name='network-service-instance-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
<outcome value='cloud-region'>
<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
@@ -726,6 +735,12 @@
value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
</set>
<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
<outcome value='true'>
@@ -750,6 +765,240 @@
</block>
</outcome>
</switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
+ and network_role = $db.vf-network-role-mapping[$role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$network-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.ntis-url"/>
+ <parameter name="target" value="{network-id}"/>
+ <parameter name="replacement" value="`$l3-network-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-ntis" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`
+ 'Error retrieving network-topology-identifier-structure for service instance '
+ + $network-service-instance-id
+ + ' and network-id '
+ + $l3-network-id`" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'
+ value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'
+ value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.oe">
+ <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="/query/owning-entity-fromService-instance" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting owning entity from service instance" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Unable to find owning entity from service instance" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.get-networks">
+ <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role
+ + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '
+ + $db.vnf-related-network-role[0].related-network-role`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />
+ </set>
+ <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >
+ <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='vlan-tag'>
+ <block atomic="true">
+ <set>
+ <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $vlan-tag-id"
+ pfx='aai.vlan-tag' local-only='false'
+>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting vlan-tag object from AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$aai.vlan-tag.vlan-tag-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$aai.vlan-tag.vlan-id-outer`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$aai.vlan-tag.vlan-id-inner`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$aai.vlan-tag.is-private`' />
+ </set>
+ </outcome>
+ </get-resource>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
<set>
<parameter name='network-index' value='`$network-index + 1`' />
</set>
@@ -757,6 +1006,9 @@
</outcome>
</switch>
</for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />
+ </execute>
<set>
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'
value='`$network-index`' />
@@ -906,7 +1158,11 @@
+ $vnf-topology-operation-input.service-information.service-instance-id
+ '/service-data/vnfs/vnf/'
+ $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vnf-topology'`"/>
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
</set>
<update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="generic-vnf"
@@ -919,6 +1175,7 @@
<parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
<parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
<parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="in-maint" value="true" />
<parameter name="selflink" value="`$vnf-object-path`" />
<outcome value='failure'>
<block>
@@ -1015,7 +1272,7 @@
<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
</set>
<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-viprend.log' />
+ <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
</execute>
<return status='success'>
<parameter name="ack-final-indicator" value="Y" />
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml
index 5823f6ba..60634ade 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml
@@ -42,40 +42,63 @@
</return>
</outcome>
</switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources`'>
+ <outcome value='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-changeassign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Encountered error while unassigning self-serve resources with error: '+ $error-message`" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
pfx='db.vf-model'>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading VF_MODEL table" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
- </return>
- </outcome>
- </get-resource>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.'
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODEL table" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.'
value='`$vnf-topology-operation-input.vnf-information.onap-model-information.`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
- </set>
- <set>
- <parameter name='service-object-path'
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <set>
+ <parameter name='service-object-path'
value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ $service-topology-operation-input.service-information.service-instance-id
+ '/service-data/service-topology/'`"/>
- </set>
- <return status='success'></return>
+ </set>
+ <return status='success'></return>
+ </block>
+ </outcome>
+ </switch>
</block>
</method>
</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.xml
index a50fa7d9..b3ea3447 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.xml
@@ -59,68 +59,61 @@
</switch>
<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources`'>
<outcome value='true'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-unassign' mode='sync' >
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='error-code' value='500' />
- <parameter name='error-message' value="`'Encountered error while unassigning self-serve resources with error: '+ $error-message`" />
- </return>
- </outcome>
- </call>
- </block>
- </outcome>
- </switch>
- <switch test='`$service-data.vnfs.vnf_length`'>
- <outcome value='1'>
- <set>
- <parameter name="service-data.vnfs." value=""/>
- </set>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-unassign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='error-code' value='500' />
+ <parameter name='error-message' value="`'Encountered error while unassigning self-serve resources with error: '+ $error-message`" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </outcome>
+ </call>
</outcome>
<outcome value='Other'>
<block atomic="true">
- <for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >
- <set>
- <parameter name="$tmpidx" value="`$idx - 1`"/>
- <parameter name="service-data.vnfs.vnf[$tmpidx]." value="$service-data.vnfs.vnf[$idx]." />
- </set>
- </for>
- <set>
- <parameter name="service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1]." value=""/>
- </set>
- <set>
- <parameter name="service-data.vnfs.vnf_length" value="`$service-data.vnfs.vnf_length - 1`"/>
- </set>
- </block>
- </outcome>
- </switch>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.sdnc-generated-cloud-resources`'>
- <outcome value='false'>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- </outcome>
- <outcome value=''>
- <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value='1'>
+ <set>
+ <parameter name="service-data.vnfs." value=""/>
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >
+ <set>
+ <parameter name="$tmpidx" value="`$idx - 1`"/>
+ <parameter name="service-data.vnfs.vnf[$tmpidx]." value="$service-data.vnfs.vnf[$idx]." />
+ </set>
+ </for>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1]." value=""/>
+ </set>
+ <set>
+ <parameter name="service-data.vnfs.vnf_length" value="`$service-data.vnfs.vnf_length - 1`"/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
<set>
<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
<parameter name='naming-policy-generate-name-input.action' value='DELETE' />
</set>
<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
</block>
</outcome>
</switch>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
</block>
</method>
</service-logic> \ No newline at end of file