aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/generic-resource-api/src/main
diff options
context:
space:
mode:
authorCheung, Pat <kc1472@att.com>2018-10-04 18:35:55 +0000
committerDan Timoney <dtimoney@att.com>2018-10-04 20:01:45 +0000
commit7f70731621bcd7cdb4f4157eba0d66b3638f1519 (patch)
treeee4a185b69efe53321284766027e26c514771b8b /platform-logic/generic-resource-api/src/main
parent0d607948ff5a38a1ca0306bc68f7985a94b0be37 (diff)
self-serve dg patch
inclues new self-serve forking logic, added silentFailure to for loops, not to set cap name to INPUT for generate-name Change-Id: Idd3deb016533dc70611d60dd289f4c4bc40d3136 Issue-ID: CCSDK-604 Signed-off-by: Cheung, Pat <kc1472@att.com> Former-commit-id: 7209c246e382048781f166c2b3eeab24be7e9815
Diffstat (limited to 'platform-logic/generic-resource-api/src/main')
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.json1043
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.json632
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-generate-name.json2903
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-assign.json1270
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.json1
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json692
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.json296
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-assign.json2505
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.json320
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.json1
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-unassign.json1325
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vf-module-input.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json540
-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
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/resources/graph.versions15
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml30
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.xml340
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.xml19
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-generate-name.xml197
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.xml2
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.xml16
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-assign.xml17
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.xml85
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.xml13
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.xml35
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.xml98
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-assign.xml6
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-changeassign.xml37
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.xml54
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.xml86
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vf-module-input.xml11
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml22
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml3404
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-changeassign.xml16
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-unassign.xml19
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml2076
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml48
-rwxr-xr-xplatform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-unassign.xml39
48 files changed, 7260 insertions, 10977 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
index 9a86105b..5d28c63a 100644
--- 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
@@ -1 +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
+[{"id":"7b26ebf.6f49f14","type":"dgstart","name":"DGSTART","outputs":1,"x":105.55554962158203,"y":32.22222137451172,"z":"587ae061.3728","wires":[["2394077.d0dfaf8"]]},{"id":"26a09f3e.623a8","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":236.34127044677734,"y":107.68254470825195,"z":"587ae061.3728","wires":[["670345b1.4bc86c"]]},{"id":"670345b1.4bc86c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":116.87699127197266,"y":188.46034049987793,"z":"587ae061.3728","wires":[["bbc591bb.706e9","914f01b6.fe9b3"]]},{"id":"2394077.d0dfaf8","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.4126968383789,"y":31.65078830718994,"z":"587ae061.3728","wires":[["26a09f3e.623a8"]]},{"id":"bbc591bb.706e9","type":"switchNode","name":"switch: ss.capability-action","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":360.5555763244629,"y":188.11507368087769,"z":"587ae061.3728","wires":[["5b59a23f.8a739c","d9805320.cf78c","5176d4f5.0acf6c"]]},{"id":"5b59a23f.8a739c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":569.0555725097656,"y":188.36507368087769,"z":"587ae061.3728","wires":[["4126a6bd.b190e8"]]},{"id":"4126a6bd.b190e8","type":"returnFailure","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":724.9722442626953,"y":188.4761724472046,"z":"587ae061.3728","wires":[]},{"id":"d9805320.cf78c","type":"outcome","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":568.8055686950684,"y":237.3650770187378,"z":"587ae061.3728","wires":[["b7a31908.a7c678"]]},{"id":"914f01b6.fe9b3","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":312.51983642578125,"y":413.65077209472656,"z":"587ae061.3728","wires":[[]]},{"id":"5be66a71.cb9eb4","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":956.0198516845703,"y":1590.0438108444214,"z":"587ae061.3728","wires":[["6c640f39.1083a","9b325eef.ee788"]]},{"id":"6c640f39.1083a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1156.2698822021484,"y":1590.400857925415,"z":"587ae061.3728","wires":[["4e70de55.d4a13"]]},{"id":"9b325eef.ee788","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1162.5198936462402,"y":1642.1508922576904,"z":"587ae061.3728","wires":[["d4583f14.def33"]]},{"id":"8b85bac9.76e438","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":1594.1388397216797,"y":1590.186562538147,"z":"587ae061.3728","wires":[]},{"id":"abce347d.bd24a8","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":1594.7103576660156,"y":1640.4247388839722,"z":"587ae061.3728","wires":[]},{"id":"1a6a99cc.372f26","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":952.9840469360352,"y":2554.0077180862427,"z":"587ae061.3728","wires":[["4597574f.498bd8","3daece71.ee4af2"]]},{"id":"4597574f.498bd8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1160.9840469360352,"y":2554.0077180862427,"z":"587ae061.3728","wires":[["4beed03c.8d4db"]]},{"id":"22c667e8.cd2b28","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":4193.103519439697,"y":1945.0324897766113,"z":"587ae061.3728","wires":[["2e11bcd4.889d84","5bf6e296.b005ac","11cfdb92.6bbdf4"]]},{"id":"2e11bcd4.889d84","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4431.353504180908,"y":1944.532434463501,"z":"587ae061.3728","wires":[["49935fa6.5ff8e"]]},{"id":"5bf6e296.b005ac","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4437.603515625,"y":1996.2824687957764,"z":"587ae061.3728","wires":[["60848333.084a8c"]]},{"id":"8bdbab0.659cb58","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":949.3055763244629,"y":1430.9365787506104,"z":"587ae061.3728","wires":[["967cd3cd.ea61c","7745898a.e7ff88"]]},{"id":"967cd3cd.ea61c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1157.841209411621,"y":1430.436499595642,"z":"587ae061.3728","wires":[["e290c73f.be4828"]]},{"id":"7745898a.e7ff88","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1164.0911293029785,"y":1529.3294076919556,"z":"587ae061.3728","wires":[["2828353c.ce5f2a"]]},{"id":"e15519a.36e41e8","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":1600.2814140319824,"y":1475.9365186691284,"z":"587ae061.3728","wires":[]},{"id":"f68a0f36.041db","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":1601.9958877563477,"y":1529.8890762329102,"z":"587ae061.3728","wires":[]},{"id":"20e12a6b.8386e6","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":3999.245964050293,"y":2583.74653339386,"z":"587ae061.3728","wires":[["9f9ef8cf.ba0808","5960c4d9.4f908c","a3fabdd5.5e91c"]]},{"id":"4beed03c.8d4db","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1355.7340393066406,"y":2554.007691383362,"z":"587ae061.3728","wires":[["723cef03.6f931","813dff6d.3c4df"]]},{"id":"b7a31908.a7c678","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":722.5555648803711,"y":237.61507320404053,"z":"587ae061.3728","wires":[["8bdbab0.659cb58","5be66a71.cb9eb4","1a6a99cc.372f26","b3d36a2d.60ec98","e164d9f4.60c058","7e27541a.fd7cac","70716c34.e32b54","41ec3a6e.5488d4","ab5a0467.30fd98","14b65022.d7dc6","eafc73a1.97feb","608befa2.bb7d1"]]},{"id":"b3d36a2d.60ec98","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":1008.9723587036133,"y":5359.127058982849,"z":"587ae061.3728","wires":[]},{"id":"e290c73f.be4828","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1329.4127960205078,"y":1430.4722929000854,"z":"587ae061.3728","wires":[["e2a65309.1de6b","e15519a.36e41e8"]]},{"id":"4e70de55.d4a13","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1329.6984481811523,"y":1590.4723825454712,"z":"587ae061.3728","wires":[["e2a65309.1de6b","8b85bac9.76e438"]]},{"id":"d4583f14.def33","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1332.5556640625,"y":1641.3295240402222,"z":"587ae061.3728","wires":[["e2a65309.1de6b","abce347d.bd24a8"]]},{"id":"2828353c.ce5f2a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1330.269874572754,"y":1529.4722929000854,"z":"587ae061.3728","wires":[["e2a65309.1de6b","f68a0f36.041db"]]},{"id":"e2a65309.1de6b","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":1696.9841842651367,"y":1430.186604499817,"z":"587ae061.3728","wires":[]},{"id":"1821aab8.b0b995","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":1290.7459030151367,"y":321.60316371917725,"z":"587ae061.3728","wires":[["c7903cf5.7529f"]]},{"id":"2efcedeb.63df22","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":2025.8888702392578,"y":837.0317640304565,"z":"587ae061.3728","wires":[["b3062d0b.d599a","de4afc04.ac71b","cc904d52.55947","3a38cbce.3d1914","c2c93de0.a525a","f33802e2.35a41","dcdd6fda.009f2","41fff236.4d538c","f85da22e.73f75","64a45c1e.5e5da4","3c333dc5.d2c562","a56d2ffd.59cb8","a8e2121d.a4758","3f467dbb.41a9a2","bfa7fb43.80d328","4f4f7860.ec2048","db27910b.c139","b0169c71.ea199","781da3e1.bf8fdc","21a35d6b.aba542"]]},{"id":"b3062d0b.d599a","type":"outcome","name":"vf_module_id","xml":"<outcome value='vf_module_id'>\n","comments":"","outputs":1,"x":2319.8888626098633,"y":432.888876914978,"z":"587ae061.3728","wires":[["e8f48aaa.3c8928"]]},{"id":"e8f48aaa.3c8928","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":2658.3174934387207,"y":433.74604082107544,"z":"587ae061.3728","wires":[]},{"id":"de4afc04.ac71b","type":"outcome","name":"vf_module_name","xml":"<outcome value='vf_module_name'>\n","comments":"","outputs":1,"x":2331.3174018859863,"y":475.74602603912354,"z":"587ae061.3728","wires":[["44d7cd5b.26ec74"]]},{"id":"44d7cd5b.26ec74","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":2669.603157043457,"y":476.3174843788147,"z":"587ae061.3728","wires":[]},{"id":"cc904d52.55947","type":"outcome","name":"volume-group-name","xml":"<outcome value='volume-group-name'>\n","comments":"","outputs":1,"x":2340.6031341552734,"y":560.6032028198242,"z":"587ae061.3728","wires":[["27bd99c7.bf9f06"]]},{"id":"27bd99c7.bf9f06","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":2683.603157043457,"y":561.3174843788147,"z":"587ae061.3728","wires":[]},{"id":"3a38cbce.3d1914","type":"outcome","name":"aic-cloud-region","xml":"<outcome value='aic-cloud-region'>\n","comments":"","outputs":1,"x":2326.603183746338,"y":602.6031827926636,"z":"587ae061.3728","wires":[["d06fa0c.76b6f6"]]},{"id":"d06fa0c.76b6f6","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":2671.8889389038086,"y":603.1746411323547,"z":"587ae061.3728","wires":[]},{"id":"c2c93de0.a525a","type":"outcome","name":"volume_group_id","xml":"<outcome value='volume_group_id'>\n","comments":"","outputs":1,"x":2331.8888778686523,"y":517.8889169692993,"z":"587ae061.3728","wires":[["4b1c4733.8a7788"]]},{"id":"4b1c4733.8a7788","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":2670.174633026123,"y":518.4603753089905,"z":"587ae061.3728","wires":[]},{"id":"7e27541a.fd7cac","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":949.9128341674805,"y":2117.162986755371,"z":"587ae061.3728","wires":[["18b35a36.1a22d6","4d3835b8.abd7fc"]]},{"id":"18b35a36.1a22d6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1143.1628189086914,"y":2116.6629314422607,"z":"587ae061.3728","wires":[["4becd3c6.95804c"]]},{"id":"4d3835b8.abd7fc","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1149.4128303527832,"y":2168.412965774536,"z":"587ae061.3728","wires":[["c9bc817f.270c2"]]},{"id":"34f7a405.4decbc","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":1499.0079650878906,"y":2045.841459274292,"z":"587ae061.3728","wires":[]},{"id":"e164d9f4.60c058","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":941.5914726257324,"y":1955.5556411743164,"z":"587ae061.3728","wires":[["134aeeb9.731e21","439be79e.916c28"]]},{"id":"134aeeb9.731e21","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1130.8414573669434,"y":1955.055585861206,"z":"587ae061.3728","wires":[["a9b53c64.98c31"]]},{"id":"439be79e.916c28","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1138.5199394226074,"y":2011.0912771224976,"z":"587ae061.3728","wires":[["43a38615.dde1b8"]]},{"id":"4becd3c6.95804c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1340.5913848876953,"y":2116.734456062317,"z":"587ae061.3728","wires":[["d53d90e1.35335","19217514.29df0b"]]},{"id":"c9bc817f.270c2","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1343.448600769043,"y":2167.591597557068,"z":"587ae061.3728","wires":[["c3c8c0a5.2b2e3","19217514.29df0b"]]},{"id":"8caa3e1d.19b86","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":4244.532001495361,"y":1899.4011116027832,"z":"587ae061.3728","wires":[]},{"id":"11cfdb92.6bbdf4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4435.42476272583,"y":2044.544038772583,"z":"587ae061.3728","wires":[["e232aa68.c9ca08"]]},{"id":"19217514.29df0b","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3935.710460662842,"y":1855.7940559387207,"z":"587ae061.3728","wires":[["8caa3e1d.19b86","22c667e8.cd2b28","489c245b.b0274c"]]},{"id":"4aa37991.d5d7f8","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":4171.032272338867,"y":2225.6152572631836,"z":"587ae061.3728","wires":[["328a520c.3947ce","42080a8e.cb8ca4","a5e6f2ca.4741c"]]},{"id":"328a520c.3947ce","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4409.282257080078,"y":2225.1152019500732,"z":"587ae061.3728","wires":[["2938cb15.2d2414"]]},{"id":"42080a8e.cb8ca4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4417.53226852417,"y":2267.8652362823486,"z":"587ae061.3728","wires":[["8acca4a5.d63fc8"]]},{"id":"a5e6f2ca.4741c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4414.353515625,"y":2311.1268062591553,"z":"587ae061.3728","wires":[["1c9758b3.0c0cb7"]]},{"id":"f33802e2.35a41","type":"outcome","name":"vnfc-name","xml":"<outcome value='vnfc-name'>","comments":"","outputs":1,"x":2309.9365463256836,"y":647.6983466148376,"z":"587ae061.3728","wires":[["8c076485.6b1728"]]},{"id":"8c076485.6b1728","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":2676.043773651123,"y":648.4484195709229,"z":"587ae061.3728","wires":[]},{"id":"79520400.13e42c","type":"comment","name":"vf-module params","info":"","comments":"","x":1943.6030883789062,"y":504.98407554626465,"z":"587ae061.3728","wires":[]},{"id":"6fd7ede2.6a41d4","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":1499.1389465332031,"y":1991.0556926727295,"z":"587ae061.3728","wires":[]},{"id":"a9b53c64.98c31","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1302.80570602417,"y":1955.5557498931885,"z":"587ae061.3728","wires":[["6fd7ede2.6a41d4","19217514.29df0b"]]},{"id":"43a38615.dde1b8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1303.0556869506836,"y":2011.0557289123535,"z":"587ae061.3728","wires":[["34f7a405.4decbc","19217514.29df0b"]]},{"id":"49935fa6.5ff8e","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":4614.174701690674,"y":1944.6511087417603,"z":"587ae061.3728","wires":[]},{"id":"60848333.084a8c","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":4616.674701690674,"y":1995.901110649109,"z":"587ae061.3728","wires":[]},{"id":"e232aa68.c9ca08","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\" Rollback of generic-vnf update completed. \" />\n","comments":"","x":4619.174701690674,"y":2044.9011087417603,"z":"587ae061.3728","wires":[]},{"id":"d53d90e1.35335","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":1533.4723205566406,"y":2142.0557403564453,"z":"587ae061.3728","wires":[]},{"id":"c3c8c0a5.2b2e3","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":1534.7223205566406,"y":2192.805742263794,"z":"587ae061.3728","wires":[]},{"id":"723cef03.6f931","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":1548.9126892089844,"y":2554.341318130493,"z":"587ae061.3728","wires":[]},{"id":"2938cb15.2d2414","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":4590.710739135742,"y":2224.579610824585,"z":"587ae061.3728","wires":[]},{"id":"8acca4a5.d63fc8","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":4609.710739135742,"y":2267.079610824585,"z":"587ae061.3728","wires":[]},{"id":"489c245b.b0274c","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":4198.674701690674,"y":1854.9011096954346,"z":"587ae061.3728","wires":[[]]},{"id":"ac27fb68.a731c8","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":4178.960739135742,"y":2181.0796098709106,"z":"587ae061.3728","wires":[[]]},{"id":"621cfe10.6a00f","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3934.960708618164,"y":2181.329584121704,"z":"587ae061.3728","wires":[["ac27fb68.a731c8","4aa37991.d5d7f8"]]},{"id":"1c9758b3.0c0cb7","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":4597.460746765137,"y":2310.5796089172363,"z":"587ae061.3728","wires":[]},{"id":"9f9ef8cf.ba0808","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4206.317329406738,"y":2584.222270011902,"z":"587ae061.3728","wires":[["29cd94c9.a4fedc"]]},{"id":"5960c4d9.4f908c","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4214.56734085083,"y":2626.9723043441772,"z":"587ae061.3728","wires":[["532afc8b.850994"]]},{"id":"a3fabdd5.5e91c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4211.38858795166,"y":2670.233874320984,"z":"587ae061.3728","wires":[["8d72022f.86537"]]},{"id":"29cd94c9.a4fedc","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":4387.745811462402,"y":2583.6866788864136,"z":"587ae061.3728","wires":[]},{"id":"532afc8b.850994","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":4406.745811462402,"y":2627.1866788864136,"z":"587ae061.3728","wires":[]},{"id":"8fa93667.ba6488","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":4037.9958114624023,"y":2540.1866779327393,"z":"587ae061.3728","wires":[[]]},{"id":"ef4014db.371ed8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3782.995780944824,"y":2540.4366521835327,"z":"587ae061.3728","wires":[["8fa93667.ba6488","20e12a6b.8386e6"]]},{"id":"8d72022f.86537","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' Rollback of volume_group completed.'`\" />\n","comments":"","x":4394.495819091797,"y":2670.686676979065,"z":"587ae061.3728","wires":[]},{"id":"70716c34.e32b54","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":917.3413467407227,"y":2848.293809890747,"z":"587ae061.3728","wires":[["8a3fd0b6.6280e","e0c3e38d.51691"]]},{"id":"8a3fd0b6.6280e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1106.3413467407227,"y":2848.293809890747,"z":"587ae061.3728","wires":[["38247114.ff80be"]]},{"id":"38247114.ff80be","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1309.0913391113281,"y":2848.293783187866,"z":"587ae061.3728","wires":[["829f5f37.eeb7e","c2f74776.281c08"]]},{"id":"829f5f37.eeb7e","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":1502.2699890136719,"y":2848.6274099349976,"z":"587ae061.3728","wires":[]},{"id":"4518b605.8ddd28","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":3830.1747703552246,"y":2887.6388149261475,"z":"587ae061.3728","wires":[["11a4b521.25a57b","8df7cd83.d9ea4","4c8defa8.ceafe"]]},{"id":"11a4b521.25a57b","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4037.24613571167,"y":2888.1145515441895,"z":"587ae061.3728","wires":[["cde32e34.1f286"]]},{"id":"8df7cd83.d9ea4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4045.4961471557617,"y":2930.864585876465,"z":"587ae061.3728","wires":[["4d65af2a.eda2b"]]},{"id":"4c8defa8.ceafe","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4042.317394256592,"y":2974.1261558532715,"z":"587ae061.3728","wires":[["c2521fb5.c495b"]]},{"id":"feb81e83.5db67","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":4474.674617767334,"y":2887.578960418701,"z":"587ae061.3728","wires":[]},{"id":"4d65af2a.eda2b","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":4237.674617767334,"y":2931.078960418701,"z":"587ae061.3728","wires":[]},{"id":"c4ed8420.343b38","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":3867.924617767334,"y":2844.078959465027,"z":"587ae061.3728","wires":[[]]},{"id":"a66445ad.c6e778","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3624.9245681762695,"y":2843.7575731277466,"z":"587ae061.3728","wires":[["c4ed8420.343b38","4518b605.8ddd28"]]},{"id":"c2521fb5.c495b","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":4225.4246253967285,"y":2974.5789585113525,"z":"587ae061.3728","wires":[]},{"id":"cf51daa2.2bb388","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":1263.0199508666992,"y":3035.293676376343,"z":"587ae061.3728","wires":[["2441e9af.073706","6aa96e1.1313b9","7e0461e0.77124"]]},{"id":"2441e9af.073706","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1484.0199508666992,"y":3035.293676376343,"z":"587ae061.3728","wires":[["49300019.24a0b"]]},{"id":"49300019.24a0b","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1677.7699432373047,"y":3035.293649673462,"z":"587ae061.3728","wires":[["52441a65.a27a64","7f9cda81.239a14"]]},{"id":"52441a65.a27a64","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":1861.9485931396484,"y":3035.6272764205933,"z":"587ae061.3728","wires":[]},{"id":"41ec3a6e.5488d4","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":981.7341690063477,"y":3034.793632507324,"z":"587ae061.3728","wires":[["cf51daa2.2bb388"]]},{"id":"82a690a4.ccdc","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":1915.996078491211,"y":3659.71040058136,"z":"587ae061.3728","wires":[["b6d800ec.15f77","1d29b839.e69138","c2756913.223288"]]},{"id":"b6d800ec.15f77","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2092.996078491211,"y":3659.71040058136,"z":"587ae061.3728","wires":[["35e697ce.beef68"]]},{"id":"35e697ce.beef68","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2284.7460708618164,"y":3659.710373878479,"z":"587ae061.3728","wires":[["5a5a2f36.9965a","b989ea09.c55598"]]},{"id":"5a5a2f36.9965a","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":2464.92472076416,"y":3660.0440006256104,"z":"587ae061.3728","wires":[]},{"id":"11ff501c.6422f","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":1854.5318145751953,"y":4120.030818939209,"z":"587ae061.3728","wires":[["1aa54dd9.0dee62","bc423cbf.7ea25"]]},{"id":"1aa54dd9.0dee62","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2027.5318145751953,"y":4120.030818939209,"z":"587ae061.3728","wires":[["cbb3b078.1d713"]]},{"id":"cbb3b078.1d713","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2197.281806945801,"y":4120.030792236328,"z":"587ae061.3728","wires":[["8f5af142.a1364","b989ea09.c55598"]]},{"id":"8f5af142.a1364","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":2381.4604568481445,"y":4120.3644189834595,"z":"587ae061.3728","wires":[]},{"id":"2b02af6c.43d85","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":1693.9603118896484,"y":3659.4605054855347,"z":"587ae061.3728","wires":[["82a690a4.ccdc"]]},{"id":"6aa96e1.1313b9","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1492.4841918945312,"y":3080.7936754226685,"z":"587ae061.3728","wires":[["49300019.24a0b"]]},{"id":"64d3e11a.41a6b","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":4291.889190673828,"y":3553.4123163223267,"z":"587ae061.3728","wires":[["4a8370ce.e010e","7f1657a7.92a418","3bd731c5.a13a4e"]]},{"id":"4a8370ce.e010e","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4498.960556030273,"y":3553.8880529403687,"z":"587ae061.3728","wires":[["1f1559a0.81e976"]]},{"id":"7f1657a7.92a418","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4507.210567474365,"y":3596.638087272644,"z":"587ae061.3728","wires":[["c84f718f.2f76f"]]},{"id":"3bd731c5.a13a4e","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4504.031814575195,"y":3639.8996572494507,"z":"587ae061.3728","wires":[["c24d6e93.59834"]]},{"id":"5b226aa3.cbdea4","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":4937.055931091309,"y":3552.685839176178,"z":"587ae061.3728","wires":[]},{"id":"c84f718f.2f76f","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":4699.3890380859375,"y":3596.8524618148804,"z":"587ae061.3728","wires":[]},{"id":"80cf041f.38f1c8","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":3752.3537216186523,"y":3504.1380672454834,"z":"587ae061.3728","wires":[[]]},{"id":"90c07c4a.83ca","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3490.353691101074,"y":3504.388041496277,"z":"587ae061.3728","wires":[["80cf041f.38f1c8","19a92334.7e178d"]]},{"id":"c24d6e93.59834","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":4687.139045715332,"y":3640.3524599075317,"z":"587ae061.3728","wires":[]},{"id":"544294cb.d5af0c","type":"comment","name":"Deleting vnfc will delete connection-point (cp)","info":"","comments":"","x":1787.0079650878906,"y":2982.341206550598,"z":"587ae061.3728","wires":[]},{"id":"1d29b839.e69138","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2101.3175201416016,"y":3706.0317764282227,"z":"587ae061.3728","wires":[["35e697ce.beef68"]]},{"id":"19a92334.7e178d","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":3757.4608993530273,"y":3553.9837789535522,"z":"587ae061.3728","wires":[["709584aa.d56cbc"]]},{"id":"709584aa.d56cbc","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":4053.889488220215,"y":3553.8409566879272,"z":"587ae061.3728","wires":[["64d3e11a.41a6b"]]},{"id":"e701689.fa89598","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":2282.603084564209,"y":3762.602714538574,"z":"587ae061.3728","wires":[["5e08607b.d4891","508b54b.91184ac"]]},{"id":"5e08607b.d4891","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2491.888858795166,"y":3762.1740951538086,"z":"587ae061.3728","wires":[["25fd854c.5dac5a"]]},{"id":"25fd854c.5dac5a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2683.92440032959,"y":3762.1740617752075,"z":"587ae061.3728","wires":[["b246448b.3ec4f8","b989ea09.c55598"]]},{"id":"b246448b.3ec4f8","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":2864.1030502319336,"y":3762.507688522339,"z":"587ae061.3728","wires":[]},{"id":"7e0461e0.77124","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1480.984260559082,"y":3659.5558919906616,"z":"587ae061.3728","wires":[["2b02af6c.43d85"]]},{"id":"dcdd6fda.009f2","type":"outcome","name":"oam-interface-name","xml":"<outcome value='oam-interface-name'>","comments":"","outputs":1,"x":2340.9365310668945,"y":690.5078482627869,"z":"587ae061.3728","wires":[["3d731ab3.981e86"]]},{"id":"3d731ab3.981e86","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":2704.043758392334,"y":691.2579212188721,"z":"587ae061.3728","wires":[]},{"id":"41fff236.4d538c","type":"outcome","name":"lo0-interface-name","xml":"<outcome value='=”lo0-interface-name'>","comments":"","outputs":1,"x":2337.650733947754,"y":733.2222218513489,"z":"587ae061.3728","wires":[["bd223968.8d8ed8"]]},{"id":"bd223968.8d8ed8","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":2698.7579612731934,"y":733.9722948074341,"z":"587ae061.3728","wires":[]},{"id":"6845eda.7cb3314","type":"comment","name":"ROLLBACK STARET HERE","info":"","comments":"","x":3967.2461738586426,"y":1800.8534259796143,"z":"587ae061.3728","wires":[]},{"id":"813dff6d.3c4df","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3753.3176345825195,"y":2064.6036291122437,"z":"587ae061.3728","wires":[["621cfe10.6a00f","19217514.29df0b"]]},{"id":"c2f74776.281c08","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3604.7463455200195,"y":2336.3889112472534,"z":"587ae061.3728","wires":[["813dff6d.3c4df","ef4014db.371ed8"]]},{"id":"7f9cda81.239a14","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3455.103225708008,"y":2693.53168964386,"z":"587ae061.3728","wires":[["c2f74776.281c08","a66445ad.c6e778"]]},{"id":"b989ea09.c55598","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3313.317558288574,"y":3089.127052307129,"z":"587ae061.3728","wires":[["7f9cda81.239a14","90c07c4a.83ca"]]},{"id":"c2756913.223288","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2098.3172340393066,"y":3762.745767593384,"z":"587ae061.3728","wires":[["e701689.fa89598"]]},{"id":"cd445d6d.a98f2","type":"switchNode","name":"switch: ss.param.oam-interface-name != NULL","xml":"<switch test=\"`$ss.param.oam-interface-name != ''`\">\n","comments":"","outputs":1,"x":1201.889015197754,"y":4119.602787971497,"z":"587ae061.3728","wires":[["d45dcb6e.c3d178"]]},{"id":"d45dcb6e.c3d178","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1464.8890380859375,"y":4120.102786540985,"z":"587ae061.3728","wires":[["44a961e1.1c601"]]},{"id":"54829aaa.505a54","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":1852.46044921875,"y":4733.888261795044,"z":"587ae061.3728","wires":[["aa0a3068.f8788","742a956b.4f639c"]]},{"id":"aa0a3068.f8788","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2025.46044921875,"y":4733.888261795044,"z":"587ae061.3728","wires":[["99531e6d.c647f"]]},{"id":"99531e6d.c647f","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2195.2104415893555,"y":4733.888235092163,"z":"587ae061.3728","wires":[["b2a6cf65.f0ff8","151ef2dc.1c80bd"]]},{"id":"b2a6cf65.f0ff8","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":2379.389091491699,"y":4734.221861839294,"z":"587ae061.3728","wires":[]},{"id":"a352bec.acb3b4","type":"switchNode","name":"switch: ss.param.lo0-interface-name != NULL","xml":"<switch test=\"`$ss.param.lo0-interface-name != ''`\">\n","comments":"","outputs":1,"x":1197.2461013793945,"y":4733.888648033142,"z":"587ae061.3728","wires":[["c5de1767.46f7b8"]]},{"id":"c5de1767.46f7b8","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1460.2461242675781,"y":4734.388646602631,"z":"587ae061.3728","wires":[["7b92f765.5c1068"]]},{"id":"ab5a0467.30fd98","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":914.6032257080078,"y":4120.031339645386,"z":"587ae061.3728","wires":[["cd445d6d.a98f2","a352bec.acb3b4"]]},{"id":"f85da22e.73f75","type":"outcome","name":"ipv4-oam-address","xml":"<outcome value='ipv4-oam-address'>","comments":"","outputs":1,"x":2333.412727355957,"y":777.4126973152161,"z":"587ae061.3728","wires":[["4c61d3fd.8df93c"]]},{"id":"4c61d3fd.8df93c","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":2697.377052307129,"y":778.162745475769,"z":"587ae061.3728","wires":[]},{"id":"64a45c1e.5e5da4","type":"outcome","name":"loopback0_ipv4_address","xml":"<outcome value='loopback0_ipv4_address'>","comments":"","outputs":1,"x":2355.8412551879883,"y":861.6984219551086,"z":"587ae061.3728","wires":[["8dac6aea.64c678"]]},{"id":"8dac6aea.64c678","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":2717.091423034668,"y":861.3055577278137,"z":"587ae061.3728","wires":[]},{"id":"2a41c3fb.10a52c","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":4111.5560302734375,"y":4107.3173542022705,"z":"587ae061.3728","wires":[["e916fc9e.ea8cb","cd68fa16.f9cdc8","fccb8e4.d1f307"]]},{"id":"e916fc9e.ea8cb","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4319.627395629883,"y":4107.7930908203125,"z":"587ae061.3728","wires":[["fa11faa.24ca908"]]},{"id":"cd68fa16.f9cdc8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4327.877407073975,"y":4150.543125152588,"z":"587ae061.3728","wires":[["246fdb5d.9e9424"]]},{"id":"fccb8e4.d1f307","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4324.698654174805,"y":4193.8046951293945,"z":"587ae061.3728","wires":[["985ccd7.50a213"]]},{"id":"45078030.cf3e6","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":4762.72306060791,"y":4108.257723808289,"z":"587ae061.3728","wires":[]},{"id":"246fdb5d.9e9424","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":4520.055877685547,"y":4150.757499694824,"z":"587ae061.3728","wires":[]},{"id":"7baf5024.62e0b","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":3628.305809020996,"y":4058.900403022766,"z":"587ae061.3728","wires":[[]]},{"id":"1566a874.953628","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3368.3057594299316,"y":4058.579016685486,"z":"587ae061.3728","wires":[["7baf5024.62e0b","7df924d2.9fde8c"]]},{"id":"985ccd7.50a213","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":4507.805885314941,"y":4194.257497787476,"z":"587ae061.3728","wires":[]},{"id":"7df924d2.9fde8c","type":"switchNode","name":"switch: ss.param.oam-interface-name != NULL","xml":"<switch test=\"`$ss.param.oam-interface-name != ''`\">\n","comments":"","outputs":1,"x":3663.556022644043,"y":4108.174520492554,"z":"587ae061.3728","wires":[["82313fdd.741ac"]]},{"id":"82313fdd.741ac","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":3922.413200378418,"y":4107.174520492554,"z":"587ae061.3728","wires":[["2a41c3fb.10a52c"]]},{"id":"bfe1f6.27f6ce08","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":3947.9839782714844,"y":4556.746128082275,"z":"587ae061.3728","wires":[["c9b5f695.459538","a381cbbb.bc0b98","495abd23.6e1964"]]},{"id":"c9b5f695.459538","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4156.05534362793,"y":4557.221864700317,"z":"587ae061.3728","wires":[["35106a9.1d51196"]]},{"id":"a381cbbb.bc0b98","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":4164.3053550720215,"y":4599.971899032593,"z":"587ae061.3728","wires":[["7e6d8d78.04b344"]]},{"id":"495abd23.6e1964","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4161.126602172852,"y":4643.233469009399,"z":"587ae061.3728","wires":[["ebe5ab27.c24218"]]},{"id":"ee417e90.e6281","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":4610.816970825195,"y":4555.352953910828,"z":"587ae061.3728","wires":[]},{"id":"7e6d8d78.04b344","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":4356.483825683594,"y":4600.186273574829,"z":"587ae061.3728","wires":[]},{"id":"b9de345f.2f1598","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":3488.733757019043,"y":4508.329176902771,"z":"587ae061.3728","wires":[[]]},{"id":"13d41abe.92eac5","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3204.7337074279785,"y":4508.007790565491,"z":"587ae061.3728","wires":[["b9de345f.2f1598","cfb5085f.548968"]]},{"id":"ebe5ab27.c24218","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":4344.233833312988,"y":4643.6862716674805,"z":"587ae061.3728","wires":[]},{"id":"ce7204cd.e3e4e8","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":3758.841148376465,"y":4556.603294372559,"z":"587ae061.3728","wires":[["bfe1f6.27f6ce08"]]},{"id":"cfb5085f.548968","type":"switchNode","name":"switch: ss.param.lo0-interface-name != NULL","xml":"<switch test=\"`$ss.param.lo0-interface-name != ''`\">\n","comments":"","outputs":1,"x":3497.9838104248047,"y":4557.174842834473,"z":"587ae061.3728","wires":[["ce7204cd.e3e4e8"]]},{"id":"151ef2dc.1c80bd","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3167.8413696289062,"y":3898.174654364586,"z":"587ae061.3728","wires":[["1566a874.953628","b989ea09.c55598"]]},{"id":"bc423cbf.7ea25","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2035.6031799316406,"y":4162.317143440247,"z":"587ae061.3728","wires":[["cbb3b078.1d713"]]},{"id":"742a956b.4f639c","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2032.460350036621,"y":4776.459685325623,"z":"587ae061.3728","wires":[["99531e6d.c647f"]]},{"id":"944a49c7.77dcf8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2996.4122772216797,"y":4311.03185749054,"z":"587ae061.3728","wires":[["13d41abe.92eac5","151ef2dc.1c80bd"]]},{"id":"3c333dc5.d2c562","type":"outcome","name":"ipv4-oam-address-prefix","xml":"<outcome value='ipv4-oam-address-prefix'>","comments":"","outputs":1,"x":2353.412727355957,"y":819.4127621650696,"z":"587ae061.3728","wires":[["72ccbf5e.7353e"]]},{"id":"72ccbf5e.7353e","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":2686.091297149658,"y":819.5913519859314,"z":"587ae061.3728","wires":[]},{"id":"44a961e1.1c601","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1624.7460174560547,"y":4119.602458953857,"z":"587ae061.3728","wires":[["11ff501c.6422f","f5f9ae7e.9c245"]]},{"id":"7b92f765.5c1068","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1621.8889389038086,"y":4734.459685325623,"z":"587ae061.3728","wires":[["54829aaa.505a54","7678c403.2f16ec"]]},{"id":"f5f9ae7e.9c245","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":1901.317512512207,"y":4265.317090988159,"z":"587ae061.3728","wires":[["33fab36e.83ae2c","b33d167.21525e8"]]},{"id":"33fab36e.83ae2c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2122.317512512207,"y":4265.317090988159,"z":"587ae061.3728","wires":[["b1b71822.59fd78"]]},{"id":"b1b71822.59fd78","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2292.0675048828125,"y":4265.317064285278,"z":"587ae061.3728","wires":[["8f1d2be9.b03218","151ef2dc.1c80bd"]]},{"id":"8f1d2be9.b03218","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":2476.2461547851562,"y":4265.65069103241,"z":"587ae061.3728","wires":[]},{"id":"b33d167.21525e8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2130.3888778686523,"y":4307.603415489197,"z":"587ae061.3728","wires":[["b1b71822.59fd78"]]},{"id":"7678c403.2f16ec","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":1896.3175430297852,"y":4851.031002998352,"z":"587ae061.3728","wires":[["45173cac.f20124","d2b46db7.6b188"]]},{"id":"45173cac.f20124","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2117.317543029785,"y":4851.031002998352,"z":"587ae061.3728","wires":[["3d583f22.d0617"]]},{"id":"3d583f22.d0617","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2287.0675354003906,"y":4851.030976295471,"z":"587ae061.3728","wires":[["eeaa2012.e77fd","944a49c7.77dcf8"]]},{"id":"eeaa2012.e77fd","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":2471.2461853027344,"y":4851.3646030426025,"z":"587ae061.3728","wires":[]},{"id":"d2b46db7.6b188","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2125.3889083862305,"y":4893.31732749939,"z":"587ae061.3728","wires":[["3d583f22.d0617"]]},{"id":"1a2d0487.d8eb1b","type":"comment","name":"Delete l-interface will delete l3-interface-ipv4-address-list","info":"","comments":"","x":3360.6986198425293,"y":4452.460501194,"z":"587ae061.3728","wires":[]},{"id":"c7903cf5.7529f","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":1608.745948791504,"y":321.6984586715698,"z":"587ae061.3728","wires":[["52c5ecbd.a9ad04","349aa760.9100d8"]]},{"id":"52c5ecbd.a9ad04","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1818.995948791504,"y":321.9484586715698,"z":"587ae061.3728","wires":[["d3a908bc.795728"]]},{"id":"d3a908bc.795728","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":2035.8887786865234,"y":321.6984643936157,"z":"587ae061.3728","wires":[["e894f22.fe6b11"]]},{"id":"e894f22.fe6b11","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2245.8886489868164,"y":321.2698698043823,"z":"587ae061.3728","wires":[["f4103af2.606478"]]},{"id":"8bc85394.b5842","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":2597.3169841766357,"y":320.6984167098999,"z":"587ae061.3728","wires":[]},{"id":"7f44f7f5.266e08","type":"set","name":"nidx++","xml":"<set>\n<parameter name='nidx' value='`$nidx + 1`' />\n","comments":"","x":2537.317092895508,"y":364.1270399093628,"z":"587ae061.3728","wires":[]},{"id":"fb9a01e4.d3667","type":"set","name":"set nidx = 0","xml":"<set>\n<parameter name='nidx' value='0' />\n","comments":"","x":1205.8885955810547,"y":238.26982975006104,"z":"587ae061.3728","wires":[]},{"id":"f4103af2.606478","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2384.4603004455566,"y":321.5556125640869,"z":"587ae061.3728","wires":[["8bc85394.b5842","7f44f7f5.266e08"]]},{"id":"349aa760.9100d8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1820.1746940612793,"y":364.841290473938,"z":"587ae061.3728","wires":[["2efcedeb.63df22"]]},{"id":"14b65022.d7dc6","type":"for","name":"for n in nidx","xml":"<for silentFailure='true' index='n' start='0' end='`$nidx`' >\n","comments":"","outputs":1,"x":895.9365997314453,"y":5238.413019180298,"z":"587ae061.3728","wires":[["b3b3d79d.4a8368"]]},{"id":"b3b3d79d.4a8368","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":1180.7934875488281,"y":5238.412530899048,"z":"587ae061.3728","wires":[["bf489f3f.7a0be","7bbe74ac.56c95c"]]},{"id":"508b54b.91184ac","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2501.126811981201,"y":3807.222270965576,"z":"587ae061.3728","wires":[["25fd854c.5dac5a"]]},{"id":"bf489f3f.7a0be","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1456.5079040527344,"y":5239.126764297485,"z":"587ae061.3728","wires":[["3caa550a.31a69a"]]},{"id":"3caa550a.31a69a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1653.2578964233398,"y":5239.1267375946045,"z":"587ae061.3728","wires":[["ef0d2f1c.ef3df","14a923b6.b3fa7c"]]},{"id":"ef0d2f1c.ef3df","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":1833.4365463256836,"y":5239.460364341736,"z":"587ae061.3728","wires":[]},{"id":"7bbe74ac.56c95c","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1465.7458572387695,"y":5284.174940109253,"z":"587ae061.3728","wires":[["3caa550a.31a69a"]]},{"id":"3a8a44a8.3ec81c","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 relationship.related-link = $tmp.related-link\" >","comments":"","outputs":1,"x":3487.6509857177734,"y":5026.555124282837,"z":"587ae061.3728","wires":[["eeca6aa2.a147d8","10d8d9f.6a99526","b7962a.a432e9d8"]]},{"id":"eeca6aa2.a147d8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3750.7223510742188,"y":5027.030860900879,"z":"587ae061.3728","wires":[["5fb7fbc4.4dc6d4"]]},{"id":"10d8d9f.6a99526","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":3758.9723625183105,"y":5069.780895233154,"z":"587ae061.3728","wires":[["5af5bf99.b7834"]]},{"id":"b7962a.a432e9d8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3755.7936096191406,"y":5113.042465209961,"z":"587ae061.3728","wires":[["a08fe55f.6586c8"]]},{"id":"a151e8cd.03bcf8","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":4217.150470733643,"y":5026.161575317383,"z":"587ae061.3728","wires":[]},{"id":"5af5bf99.b7834","type":"set","name":"set error-message","xml":"<set>\n<parameter name='error-message' value=\"`$error-message + ' l3-network relationship with related-path = ' + $tmp.related-path + ' not found in AAI. Consider silent success!'`\" />\n","comments":"","x":3951.150833129883,"y":5069.995269775391,"z":"587ae061.3728","wires":[]},{"id":"3da2eb0b.3f60d4","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":3326.876697540283,"y":4925.233882904053,"z":"587ae061.3728","wires":[[]]},{"id":"8a76e7d8.f97bd8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3028.8766479492188,"y":4924.9124965667725,"z":"587ae061.3728","wires":[["3da2eb0b.3f60d4","7b9cf0c2.93fb5"]]},{"id":"a08fe55f.6586c8","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":3938.9008407592773,"y":5113.495267868042,"z":"587ae061.3728","wires":[]},{"id":"7b9cf0c2.93fb5","type":"for","name":"for n in nidx","xml":"<for silentFailure='true' index='n' start='0' end='`$nidx`' >\n","comments":"","outputs":1,"x":3219.2697257995605,"y":4978.651028633118,"z":"587ae061.3728","wires":[["3a8a44a8.3ec81c","113685f3.1d790a"]]},{"id":"14a923b6.b3fa7c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2834.984317779541,"y":4800.079701423645,"z":"587ae061.3728","wires":[["944a49c7.77dcf8","8a76e7d8.f97bd8"]]},{"id":"3daece71.ee4af2","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1170.8413162231445,"y":2595.7937545776367,"z":"587ae061.3728","wires":[["4beed03c.8d4db"]]},{"id":"e0c3e38d.51691","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1117.8413162231445,"y":2892.9365768432617,"z":"587ae061.3728","wires":[["38247114.ff80be"]]},{"id":"a56d2ffd.59cb8","type":"outcome","name":"aai-vf-module-put","xml":"<outcome value='aai-vf-module-put'>\n","comments":"","outputs":1,"x":2333.1268157958984,"y":904.3174576759338,"z":"587ae061.3728","wires":[["7a9bf76a.b81108"]]},{"id":"7a9bf76a.b81108","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":2695.269691467285,"y":904.6031632423401,"z":"587ae061.3728","wires":[]},{"id":"5176d4f5.0acf6c","type":"outcome","name":"unassign","xml":"<outcome value='unassign'>","comments":"","outputs":1,"x":559.6630172729492,"y":757.8647058010101,"z":"587ae061.3728","wires":[["99fa0701.8fa4a8"]]},{"id":"eafc73a1.97feb","type":"block","name":"block","xml":"<block>","atomic":"false","comments":"","outputs":1,"x":1023.2935638427734,"y":237.91267013549805,"z":"587ae061.3728","wires":[["fb9a01e4.d3667","1821aab8.b0b995","af547181.d6458"]]},{"id":"3cad896.b2a4776","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2804.055503845215,"y":2851.483910560608,"z":"587ae061.3728","wires":[["a66445ad.c6e778","90c07c4a.83ca","1566a874.953628","13d41abe.92eac5","8a76e7d8.f97bd8"]]},{"id":"1c0219fe.342ff6","type":"comment","name":"UNASSIGN","info":"","comments":"","x":3267.3889236450195,"y":2824.4840726852417,"z":"587ae061.3728","wires":[]},{"id":"99fa0701.8fa4a8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":722.7461318969727,"y":757.3649499416351,"z":"587ae061.3728","wires":[["3cad896.b2a4776","eafc73a1.97feb","f210bca9.3ed11","9060c12a.f2f22"]]},{"id":"f210bca9.3ed11","type":"set","name":"set tmp.return-failure = true","xml":"<set>\n<parameter name='tmp.return-failure' value ='true' />","comments":"","x":1113.7460174560547,"y":757.3649938106537,"z":"587ae061.3728","wires":[]},{"id":"de6a6502.b839b8","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4488.388412475586,"y":3062.4842443466187,"z":"587ae061.3728","wires":[["47cd2a6b.35fa94"]]},{"id":"cde32e34.1f286","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4239.055458068848,"y":2887.4840030670166,"z":"587ae061.3728","wires":[["feb81e83.5db67","de6a6502.b839b8"]]},{"id":"47cd2a6b.35fa94","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4682.055744171143,"y":3062.4840841293335,"z":"587ae061.3728","wires":[["8ddee1ad.02ec6"]]},{"id":"d1531676.4de328","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":5057.0559158325195,"y":3113.8173360824585,"z":"587ae061.3728","wires":[]},{"id":"1f1559a0.81e976","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4698.0554122924805,"y":3553.4839448928833,"z":"587ae061.3728","wires":[["50c370e.12d199","5b226aa3.cbdea4"]]},{"id":"50c370e.12d199","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4947.388366699219,"y":3728.4841861724854,"z":"587ae061.3728","wires":[["c358f90d.641208"]]},{"id":"fa11faa.24ca908","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4544.722053527832,"y":4108.15078830719,"z":"587ae061.3728","wires":[["46126f9f.d283f","45078030.cf3e6"]]},{"id":"46126f9f.d283f","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4794.05500793457,"y":4279.151029586792,"z":"587ae061.3728","wires":[["dfa0dcdd.b3f5"]]},{"id":"dfa0dcdd.b3f5","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4987.722339630127,"y":4279.150869369507,"z":"587ae061.3728","wires":[["97999b3b.0678f8"]]},{"id":"35106a9.1d51196","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4388.055549621582,"y":4555.81729221344,"z":"587ae061.3728","wires":[["9fc3a0f3.02ab","ee417e90.e6281"]]},{"id":"9fc3a0f3.02ab","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4637.38850402832,"y":4730.817533493042,"z":"587ae061.3728","wires":[["20e91aed.a73166"]]},{"id":"20e91aed.a73166","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4831.055835723877,"y":4730.817373275757,"z":"587ae061.3728","wires":[["4900b38b.ee5c8c"]]},{"id":"5fb7fbc4.4dc6d4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":3986.388988494873,"y":5026.150192260742,"z":"587ae061.3728","wires":[["9a98f4db.a74a48","a151e8cd.03bcf8"]]},{"id":"9a98f4db.a74a48","type":"switchNode","name":"switch tmp.return-failure","xml":"<switch test='`$tmp.return-failure`'>\n","comments":"","outputs":1,"x":4235.721942901611,"y":5201.150433540344,"z":"587ae061.3728","wires":[["ae6646b6.0f8818"]]},{"id":"ae6646b6.0f8818","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4429.389274597168,"y":5201.150273323059,"z":"587ae061.3728","wires":[["bdba1c6d.3aa19"]]},{"id":"9060c12a.f2f22","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":1115.0794296264648,"y":1219.0315454006195,"z":"587ae061.3728","wires":[]},{"id":"517cca6f.9fe014","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":5154.38907623291,"y":3061.4840788841248,"z":"587ae061.3728","wires":[]},{"id":"8ddee1ad.02ec6","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4843.055549621582,"y":3061.81729221344,"z":"587ae061.3728","wires":[["517cca6f.9fe014","d1531676.4de328"]]},{"id":"c358f90d.641208","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":5141.055698394775,"y":3728.4840259552,"z":"587ae061.3728","wires":[["609157cc.f8c1c8"]]},{"id":"e495739b.fe9d4","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":5519.722053527832,"y":3780.150544166565,"z":"587ae061.3728","wires":[]},{"id":"4cad6093.215d6","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":5617.055213928223,"y":3727.817286968231,"z":"587ae061.3728","wires":[]},{"id":"609157cc.f8c1c8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":5305.7216873168945,"y":3728.1505002975464,"z":"587ae061.3728","wires":[["4cad6093.215d6","e495739b.fe9d4"]]},{"id":"8d944eff.ee518","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":5376.388557434082,"y":4331.15078830719,"z":"587ae061.3728","wires":[]},{"id":"435ab1d3.a2e71","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":5473.721717834473,"y":4278.817531108856,"z":"587ae061.3728","wires":[]},{"id":"97999b3b.0678f8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":5162.3881912231445,"y":4279.150744438171,"z":"587ae061.3728","wires":[["435ab1d3.a2e71","8d944eff.ee518"]]},{"id":"5b3cd7c6.ab8928","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":5214.722053527832,"y":4783.15078830719,"z":"587ae061.3728","wires":[]},{"id":"7c918563.1a6f7c","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":5312.055213928223,"y":4730.817531108856,"z":"587ae061.3728","wires":[]},{"id":"4900b38b.ee5c8c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":5000.7216873168945,"y":4731.150744438171,"z":"587ae061.3728","wires":[["7c918563.1a6f7c","5b3cd7c6.ab8928"]]},{"id":"7f3dbf63.2eed1","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":4819.722393035889,"y":5252.483804702759,"z":"587ae061.3728","wires":[]},{"id":"88b5c55c.2498a8","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":4917.055553436279,"y":5200.150547504425,"z":"587ae061.3728","wires":[]},{"id":"bdba1c6d.3aa19","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":4605.722026824951,"y":5200.48376083374,"z":"587ae061.3728","wires":[["88b5c55c.2498a8","7f3dbf63.2eed1"]]},{"id":"a8e2121d.a4758","type":"outcome","name":"nfc-naming-code","xml":"<outcome value='nfc-naming-code'>","comments":"","outputs":1,"x":2330.6269607543945,"y":945.7222089767456,"z":"587ae061.3728","wires":[["cc76c3bc.0c706"]]},{"id":"cc76c3bc.0c706","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":2727.4484329223633,"y":945.9008235931396,"z":"587ae061.3728","wires":[]},{"id":"3f467dbb.41a9a2","type":"outcome","name":"nfc-function","xml":"<outcome value='nfc-function'>","comments":"","outputs":1,"x":2315.3412437438965,"y":987.1507959365845,"z":"587ae061.3728","wires":[["60bc8131.6ea93"]]},{"id":"60bc8131.6ea93","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":2677.5912742614746,"y":987.1865816116333,"z":"587ae061.3728","wires":[]},{"id":"bfa7fb43.80d328","type":"outcome","name":"vnfc-model-customization-uuid","xml":"<outcome value='vnfc-model-customization-uuid'>","comments":"","outputs":1,"x":2374.769920349121,"y":1027.1508302688599,"z":"587ae061.3728","wires":[["b9d2703a.110de"]]},{"id":"b9d2703a.110de","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":2735.019950866699,"y":1027.1866159439087,"z":"587ae061.3728","wires":[]},{"id":"4f4f7860.ec2048","type":"outcome","name":"vnfc-model-invariant-uuid","xml":"<outcome value='vnfc-model-invariant-uuid'>","comments":"","outputs":1,"x":2359.484172821045,"y":1068.5794353485107,"z":"587ae061.3728","wires":[["b4d2e8c5.9023a8"]]},{"id":"b4d2e8c5.9023a8","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":2718.734203338623,"y":1068.6152210235596,"z":"587ae061.3728","wires":[]},{"id":"db27910b.c139","type":"outcome","name":"vnfc-model-version","xml":"<outcome value='vnfc-model-version'>","comments":"","outputs":1,"x":2339.912742614746,"y":1110.0079889297485,"z":"587ae061.3728","wires":[["dcdaaa14.a24458"]]},{"id":"dcdaaa14.a24458","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":2700.162773132324,"y":1110.0437746047974,"z":"587ae061.3728","wires":[]},{"id":"c40a7c81.c5bf2","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":950.9126968383789,"y":53.436500549316406,"z":"587ae061.3728","wires":[]},{"id":"b0169c71.ea199","type":"outcome","name":"ipv4-loopback0-address","xml":"<outcome value='ipv4-loopback0-address'>","comments":"","outputs":1,"x":2356.341194152832,"y":1154.293610572815,"z":"587ae061.3728","wires":[["7b2ce523.9f07cc"]]},{"id":"7b2ce523.9f07cc","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":2683.5912170410156,"y":1154.0436267852783,"z":"587ae061.3728","wires":[]},{"id":"21a35d6b.aba542","type":"outcome","name":"vlan-id-outer","xml":"<outcome value='vlan-id-outer'>","comments":"","outputs":1,"x":2321.162643432617,"y":1241.0793781280518,"z":"587ae061.3728","wires":[["7b5c7d54.ad2f94"]]},{"id":"781da3e1.bf8fdc","type":"outcome","name":"as-number","xml":"<outcome value='as-number'>","comments":"","outputs":1,"x":2315.9483337402344,"y":1198.9007892608643,"z":"587ae061.3728","wires":[["8bf521e4.b0dd7"]]},{"id":"8bf521e4.b0dd7","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":2644.448310852051,"y":1199.4007902145386,"z":"587ae061.3728","wires":[]},{"id":"7b5c7d54.ad2f94","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":2649.6626205444336,"y":1240.8293771743774,"z":"587ae061.3728","wires":[]},{"id":"af547181.d6458","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":1226.3888092041016,"y":425.81743240356445,"z":"587ae061.3728","wires":[]},{"id":"5a1e5047.75637","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":973.0554885864258,"y":102.48411655426025,"z":"587ae061.3728","wires":[[]]},{"id":"a655e5b7.704df8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":736.3888092041016,"y":75.81745052337646,"z":"587ae061.3728","wires":[["c40a7c81.c5bf2","5a1e5047.75637"]]},{"id":"a9e6a5bb.f91718","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":1501.0554313659668,"y":2460.81733417511,"z":"587ae061.3728","wires":[]},{"id":"608befa2.bb7d1","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":943.6389389038086,"y":2370.5315160751343,"z":"587ae061.3728","wires":[["4aba82dd.b2c52c","71a95ca.1193aa4"]]},{"id":"4aba82dd.b2c52c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1132.8889236450195,"y":2370.031460762024,"z":"587ae061.3728","wires":[["46179c00.a62e04"]]},{"id":"71a95ca.1193aa4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1140.5674057006836,"y":2426.0671520233154,"z":"587ae061.3728","wires":[["5d603643.fe9568"]]},{"id":"48118715.dc3e28","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":1501.1864128112793,"y":2406.0315675735474,"z":"587ae061.3728","wires":[]},{"id":"46179c00.a62e04","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1304.853172302246,"y":2370.5316247940063,"z":"587ae061.3728","wires":[["48118715.dc3e28","813dff6d.3c4df"]]},{"id":"5d603643.fe9568","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1305.1031532287598,"y":2426.0316038131714,"z":"587ae061.3728","wires":[["a9e6a5bb.f91718","813dff6d.3c4df"]]},{"id":"113685f3.1d790a","type":"set","name":"set tmp.related-link","xml":"<set>\n<parameter name='tmp.related-link' value=\"`'/aai/v$/network/l3-networks/l3-network/' + $ss.network[$n].netid`\" />\n<!--\n<parameter name='tmp.related-link' value=\"`'/aai/' + $prop.aai.version + '/network/l3-networks/l3-network/' + $ss.network[$n].netid`\" />\n-->","comments":"","x":3440.5553436279297,"y":4978.984006881714,"z":"587ae061.3728","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.json
index d26c8a42..1c4de41f 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.json
@@ -1,1042 +1 @@
-[
- {
- "id": "4744948b.ff4c4c",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 141,
- "y": 483,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "124ab7ec.a801c"
- ]
- ]
- },
- {
- "id": "1f00af0b.9f7bd1",
- "type": "method",
- "name": "self-serve-capability-param-resolution",
- "xml": "<method rpc='self-serve-capability-param-resolution' mode='sync'>",
- "comments": "",
- "outputs": 1,
- "x": 249.99998474121094,
- "y": 547.2857217788696,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "65a0cd94.bdc594"
- ]
- ]
- },
- {
- "id": "124ab7ec.a801c",
- "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": 449,
- "y": 483,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "1f00af0b.9f7bd1"
- ]
- ]
- },
- {
- "id": "65a0cd94.bdc594",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 171.7142791748047,
- "y": 611.1428604125977,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "66ae79cc.1d7e18"
- ]
- ]
- },
- {
- "id": "4ed777ba.f198e8",
- "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": 645.2857437133789,
- "y": 688.9999961853027,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "9f7a061a.9653b"
- ]
- ]
- },
- {
- "id": "9f7a061a.9653b",
- "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": 926.4286079406738,
- "y": 689.5714192390442,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "746bea5c.ab0a0c"
- ]
- ]
- },
- {
- "id": "746bea5c.ab0a0c",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1131.4285583496094,
- "y": 688.9999995231628,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "e0880a9e.98666"
- ]
- ]
- },
- {
- "id": "e0880a9e.98666",
- "type": "for",
- "name": "for j in resource-key[]",
- "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": 717.7142295837402,
- "y": 801.1428470611572,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "81560eb8.deb4b8"
- ]
- ]
- },
- {
- "id": "81560eb8.deb4b8",
- "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[$i].resource-resolution-data.resource-key[$j].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
- "comments": "",
- "outputs": 1,
- "x": 995.285717010498,
- "y": 800.1428556442261,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "50303ac8.f7d374"
- ]
- ]
- },
- {
- "id": "50303ac8.f7d374",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1224.7142295837402,
- "y": 799.1428470611572,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "b782a60f.f917f"
- ]
- ]
- },
- {
- "id": "343ae815.d283b",
- "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[$i].resource-resolution-data.resource-key[$j].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1175.4286346435547,
- "y": 1006.7143096923828,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "78f989a4.59c0c8",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"tmp.s1\" value='`$resource-resolution-split[0]`'/>\n <parameter name=\"tmp.resolved.var.value\" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`'/>\n \n\n",
- "comments": "",
- "x": 1112.7143630981445,
- "y": 1078.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "39044a20.560d76",
- "type": "execute",
- "name": "split s2",
- "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": 1114.7143630981445,
- "y": 1149.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "728c9078.2610e",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1494.7143630981445,
- "y": 1241.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "f592e1dc.01e3b",
- "47e441ee.3e69a8"
- ]
- ]
- },
- {
- "id": "47e441ee.3e69a8",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"tmp.s2.s2\" value='`$s2[1]`'/>\n \n\n",
- "comments": "",
- "x": 1663.7143630981445,
- "y": 1275.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "1aa70d20.b73f4b",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"tmp.s2.s1\" value='`$s2[0]`'/>\n \n\n",
- "comments": "",
- "x": 1488.7143630981445,
- "y": 1171.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "c841ca3e.c379c",
- "type": "execute",
- "name": "concat",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>\n <parameter name='source' value='`$tmp.s1`' />\n <parameter name='target' value='`$tmp.resolved.var.value`' />\n <parameter name='outputPath' value='tmp.result' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1106.5714263916016,
- "y": 1400.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "1e80edf2.8f177a",
- "type": "switchNode",
- "name": "switch s2 length",
- "xml": "<switch test='`$s2_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1142.7143630981445,
- "y": 1213.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "74f5c20d.50dfdc",
- "6e8493b1.d78f1c"
- ]
- ]
- },
- {
- "id": "74f5c20d.50dfdc",
- "type": "outcome",
- "name": "1",
- "xml": "<outcome value='1'>",
- "comments": "",
- "outputs": 1,
- "x": 1328.7143630981445,
- "y": 1171.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "1aa70d20.b73f4b"
- ]
- ]
- },
- {
- "id": "6e8493b1.d78f1c",
- "type": "outcome",
- "name": "2",
- "xml": "<outcome value='2'>",
- "comments": "",
- "outputs": 1,
- "x": 1331.7143630981445,
- "y": 1242.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "728c9078.2610e"
- ]
- ]
- },
- {
- "id": "f592e1dc.01e3b",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"tmp.s2.s1\" value='`$s2[0]`'/>\n \n\n",
- "comments": "",
- "x": 1659.7143630981445,
- "y": 1206.4285774230957,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "9fcf0455.6ca21",
- "type": "execute",
- "name": "concat",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>\n <parameter name='source' value='`$tmp.result`' />\n <parameter name='target' value='`$tmp.s2.s2`' />\n <parameter name='outputPath' value='tmp.result' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1510.5714263916016,
- "y": 1523.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "7a91a0fa.de357",
- "type": "switchNode",
- "name": "switch tmp.s2.s2 exist",
- "xml": "<switch test='`$tmp.s2.s2`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1153.5714263916016,
- "y": 1492.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "bccddf67.4dce08",
- "d0ec0616.2e66a8"
- ]
- ]
- },
- {
- "id": "bccddf67.4dce08",
- "type": "outcome",
- "name": "null",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1355.5714263916016,
- "y": 1459.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "d0ec0616.2e66a8",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1358.5714263916016,
- "y": 1522.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "9fcf0455.6ca21"
- ]
- ]
- },
- {
- "id": "c46d4ae4.e29dc",
- "type": "set",
- "name": "set result of resolution",
- "xml": "<set>\n <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`' value='`$tmp.result`'/>\n \n\n",
- "comments": "",
- "x": 1154.5714263916016,
- "y": 1553.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "6aad122a.5123ac",
- "type": "for",
- "name": "for cn in vnf-parameters-data.param[]",
- "xml": "<for index='cn' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1200.5714263916016,
- "y": 1333.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "365ad3d4.9975ec"
- ]
- ]
- },
- {
- "id": "365ad3d4.9975ec",
- "type": "switchNode",
- "name": "switch param[].name",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cn].name == $tmp.s2.s1`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1482.2857666015625,
- "y": 1333.4285984039307,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "e4e67239.3278e8"
- ]
- ]
- },
- {
- "id": "e4e67239.3278e8",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1677.2857666015625,
- "y": 1333.4285984039307,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "971e16c2.f735f"
- ]
- ]
- },
- {
- "id": "971e16c2.f735f",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name='tmp.resolved.var.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cn].value`'/>\n \n\n",
- "comments": "",
- "x": 1827.2857666015625,
- "y": 1333.4285984039307,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "c50b2f87.5994a",
- "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[$i].resource-resolution-data.resource-key[$j].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
- "comments": "",
- "outputs": 1,
- "x": 1181.5714263916016,
- "y": 1630.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "d1841585.786d58"
- ]
- ]
- },
- {
- "id": "d1841585.786d58",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1410.5714263916016,
- "y": 1630.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "c9c91cf2.f3c51"
- ]
- ]
- },
- {
- "id": "c9c91cf2.f3c51",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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 resolve Capability ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + ':' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`\" />\n \n \n",
- "comments": "",
- "x": 1599.5714263916016,
- "y": 1631.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "b782a60f.f917f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 881.5714263916016,
- "y": 945.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "343ae815.d283b",
- "78f989a4.59c0c8",
- "39044a20.560d76",
- "1e80edf2.8f177a",
- "6aad122a.5123ac",
- "c841ca3e.c379c",
- "7a91a0fa.de357",
- "c46d4ae4.e29dc",
- "c50b2f87.5994a",
- "a0e5ea6f.08636"
- ]
- ]
- },
- {
- "id": "66ae79cc.1d7e18",
- "type": "switchNode",
- "name": "switch capability-type",
- "xml": "<switch test=\"`$ss.capability-type`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 208.28570556640625,
- "y": 688.2857093811035,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "b6866d1b.4d78a8",
- "5a149c88.42d234"
- ]
- ]
- },
- {
- "id": "b6866d1b.4d78a8",
- "type": "not-found",
- "name": "vnf",
- "xml": "<outcome value='vnf'>\n",
- "comments": "",
- "outputs": 1,
- "x": 409.9999694824219,
- "y": 688.7143249511719,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "4ed777ba.f198e8"
- ]
- ]
- },
- {
- "id": "5a149c88.42d234",
- "type": "not-found",
- "name": "vf-module",
- "xml": "<outcome value='vf-module'>\n",
- "comments": "",
- "outputs": 1,
- "x": 417.4285659790039,
- "y": 1742.2857333421707,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "d6d9f5e.5ffcc88"
- ]
- ]
- },
- {
- "id": "d6d9f5e.5ffcc88",
- "type": "for",
- "name": "for i in vf-parameters-data.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": 656.8571319580078,
- "y": 1741.8570499420166,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "6fdf73e7.b0b8dc"
- ]
- ]
- },
- {
- "id": "6fdf73e7.b0b8dc",
- "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": 938.8571319580078,
- "y": 1741.8570499420166,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "923e19af.fe9dd"
- ]
- ]
- },
- {
- "id": "923e19af.fe9dd",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1145.8571319580078,
- "y": 1741.8570499420166,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "cf78f36.049c31"
- ]
- ]
- },
- {
- "id": "cf78f36.049c31",
- "type": "for",
- "name": "for j in respurce-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[$i].resource-resolution-data.resource-key_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 784.71435546875,
- "y": 1829.8572063446045,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "45bb1a10.5144f4"
- ]
- ]
- },
- {
- "id": "45bb1a10.5144f4",
- "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[$i].resource-resolution-data.resource-key[$j].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
- "comments": "",
- "outputs": 1,
- "x": 1061.71435546875,
- "y": 1828.8572063446045,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "55948daf.742904"
- ]
- ]
- },
- {
- "id": "55948daf.742904",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1291.71435546875,
- "y": 1828.8572063446045,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "98294273.a5fb38"
- ]
- ]
- },
- {
- "id": "f9e46f22.08e988",
- "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[$i].resource-resolution-data.resource-key[$j].value`' />\n <parameter name='regex' value='\\$\\{' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1215.0000457763672,
- "y": 1993.7143115997314,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "bbe76270.f3408",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"tmp.s1\" value='`$resource-resolution-split[0]`'/>\n <parameter name=\"tmp.resolved.var.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[$i].resource-resolution-data.resource-key[$j].value`'/>\n \n\n",
- "comments": "",
- "x": 1152.2857360839844,
- "y": 2054.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "32f65671.ec5b3a",
- "type": "execute",
- "name": "split s2",
- "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": 1154.2857360839844,
- "y": 2125.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "a04dbec6.3323e8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1534.2857360839844,
- "y": 2217.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "bcb2f951.912cf8",
- "b11ae880.afbd58"
- ]
- ]
- },
- {
- "id": "b11ae880.afbd58",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"tmp.s2.s2\" value='`$s2[1]`'/>\n \n\n",
- "comments": "",
- "x": 1703.2857360839844,
- "y": 2251.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "4c81ab97.3b7744",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"tmp.s2.s1\" value='`$s2[0]`'/>\n \n\n",
- "comments": "",
- "x": 1528.2857360839844,
- "y": 2147.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "d8df467f.8cad78",
- "type": "execute",
- "name": "concat",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>\n <parameter name='source' value='`$tmp.s1`' />\n <parameter name='target' value='`$tmp.resolved.var.value`' />\n <parameter name='outputPath' value='tmp.result' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1157.5714263916016,
- "y": 2373.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "5906dad2.0e56dc",
- "type": "switchNode",
- "name": "switch s2 length",
- "xml": "<switch test='`$s2_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1182.2857360839844,
- "y": 2189.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "bfbc7b03.3b9998",
- "fbaf50ef.915158"
- ]
- ]
- },
- {
- "id": "bfbc7b03.3b9998",
- "type": "outcome",
- "name": "1",
- "xml": "<outcome value='1'>",
- "comments": "",
- "outputs": 1,
- "x": 1368.2857360839844,
- "y": 2147.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "4c81ab97.3b7744"
- ]
- ]
- },
- {
- "id": "fbaf50ef.915158",
- "type": "outcome",
- "name": "2",
- "xml": "<outcome value='2'>",
- "comments": "",
- "outputs": 1,
- "x": 1371.2857360839844,
- "y": 2218.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "a04dbec6.3323e8"
- ]
- ]
- },
- {
- "id": "bcb2f951.912cf8",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name=\"tmp.s2.s1\" value='`$s2[0]`'/>\n \n\n",
- "comments": "",
- "x": 1699.2857360839844,
- "y": 2182.285650253296,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "4a2214e3.1eb11c",
- "type": "execute",
- "name": "concat",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>\n <parameter name='source' value='`$tmp.result`' />\n <parameter name='target' value='`$tmp.s2.s2`' />\n <parameter name='outputPath' value='tmp.result' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1560.1429138183594,
- "y": 2494.714319229126,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "335d0adc.5736e6",
- "type": "switchNode",
- "name": "switch tmp.s2.s2 exist",
- "xml": "<switch test='`$tmp.s2.s2`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1204.5714263916016,
- "y": 2465.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "5ae49566.19b84c",
- "99c6d4e3.206e28"
- ]
- ]
- },
- {
- "id": "5ae49566.19b84c",
- "type": "outcome",
- "name": "null",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1405.1429138183594,
- "y": 2431.714319229126,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "99c6d4e3.206e28",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1409.1429138183594,
- "y": 2494.714319229126,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "4a2214e3.1eb11c"
- ]
- ]
- },
- {
- "id": "f99ad227.88187",
- "type": "set",
- "name": "set result of resolution",
- "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.resource-key[$j].value`' value='`$tmp.result`'/>\n \n\n",
- "comments": "",
- "x": 1205.5714263916016,
- "y": 2526.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "d0ce13d0.f3104",
- "type": "for",
- "name": "for cn in vf-parameters-data.param[]",
- "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": 1245.5714263916016,
- "y": 2306.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "e3913f3f.a076e"
- ]
- ]
- },
- {
- "id": "e3913f3f.a076e",
- "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 == $tmp.s2.s1`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1534.5714263916016,
- "y": 2305.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "3b5750da.a381d"
- ]
- ]
- },
- {
- "id": "3b5750da.a381d",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1740.5714263916016,
- "y": 2305.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "386b7833.6aba1"
- ]
- ]
- },
- {
- "id": "386b7833.6aba1",
- "type": "set",
- "name": "set",
- "xml": "<set>\n <parameter name='tmp.resolved.var.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[$cn].value`'/>\n \n\n",
- "comments": "",
- "x": 1893.5714263916016,
- "y": 2305.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "69f8e9bc.e255a",
- "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[$i].resource-resolution-data.resource-key[$j].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n",
- "comments": "",
- "outputs": 1,
- "x": 1232.5714263916016,
- "y": 2603.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "4d034e4b.48d61"
- ]
- ]
- },
- {
- "id": "4d034e4b.48d61",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1461.5714263916016,
- "y": 2603.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "c2dd6cef.c6a32"
- ]
- ]
- },
- {
- "id": "c2dd6cef.c6a32",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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 resolve Capability ' + $service-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 + ':' + $service-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 \n",
- "comments": "",
- "x": 1635.5714111328125,
- "y": 2604,
- "z": "6ed0daf1.5e6824",
- "wires": []
- },
- {
- "id": "98294273.a5fb38",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 932.5714263916016,
- "y": 1918.9999985694885,
- "z": "6ed0daf1.5e6824",
- "wires": [
- [
- "f9e46f22.08e988",
- "bbe76270.f3408",
- "32f65671.ec5b3a",
- "5906dad2.0e56dc",
- "d0ce13d0.f3104",
- "d8df467f.8cad78",
- "335d0adc.5736e6",
- "f99ad227.88187",
- "69f8e9bc.e255a",
- "108ba025.b40668"
- ]
- ]
- },
- {
- "id": "a0e5ea6f.08636",
- "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: param[].value with leading $: ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1105.2856369018555,
- "y": 945.4286179542542,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- },
- {
- "id": "108ba025.b40668",
- "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: param[].value with leading $: ' + $service-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": 1142.4285736083984,
- "y": 1919.0000076293945,
- "z": "6ed0daf1.5e6824",
- "wires": [
- []
- ]
- }
-] \ No newline at end of file
+[{"id":"b2f9de4.fde782","type":"dgstart","name":"DGSTART","outputs":1,"x":127.5,"y":65.00000000000001,"z":"2eed414c.ede50e","wires":[["d02e6a72.1e6a48"]]},{"id":"b3a65ba9.eb9688","type":"method","name":"self-serve-capability-param-resolution","xml":"<method rpc='self-serve-capability-param-resolution' mode='sync'>","comments":"","outputs":1,"x":236.49998474121094,"y":129.28572177886963,"z":"2eed414c.ede50e","wires":[["be1c8d3f.9ef6b"]]},{"id":"d02e6a72.1e6a48","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":435.5,"y":65.00000000000001,"z":"2eed414c.ede50e","wires":[["b3a65ba9.eb9688"]]},{"id":"be1c8d3f.9ef6b","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":158.2142791748047,"y":193.14286041259766,"z":"2eed414c.ede50e","wires":[["7f9405a.75baafc"]]},{"id":"c011bd0.1ca2f4","type":"for","name":"for i in vnf-parameters-data.param[]","xml":"<for silentFailure='true' 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":720.7857666015625,"y":328,"z":"2eed414c.ede50e","wires":[["e3613cb3.e23c"]]},{"id":"e3613cb3.e23c","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":1001.9286308288574,"y":328.57142305374146,"z":"2eed414c.ede50e","wires":[["453b20b8.0bf3"]]},{"id":"453b20b8.0bf3","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1206.928581237793,"y":328.0000033378601,"z":"2eed414c.ede50e","wires":[["83285695.56f8f8"]]},{"id":"6d2ac1ec.6947d","type":"for","name":"for j in resource-key[]","xml":"<for silentFailure='true' 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":818.2142333984375,"y":468.1428527832031,"z":"2eed414c.ede50e","wires":[["57b15620.094f48"]]},{"id":"57b15620.094f48","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[$i].resource-resolution-data.resource-key[$j].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n","comments":"","outputs":1,"x":1095.7857208251953,"y":467.142861366272,"z":"2eed414c.ede50e","wires":[["ac3fad8b.2f5fc"]]},{"id":"ac3fad8b.2f5fc","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1325.2142333984375,"y":466.1428527832031,"z":"2eed414c.ede50e","wires":[["fe88f79e.c02fb8"]]},{"id":"277ff0ac.3260f","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[$i].resource-resolution-data.resource-key[$j].value`' />\n <parameter name='regex' value='\\$\\{' />\n","comments":"","outputs":1,"x":1161.9286346435547,"y":588.7143096923828,"z":"2eed414c.ede50e","wires":[[]]},{"id":"7b0114.5d80beec","type":"set","name":"set","xml":"<set>\n <parameter name=\"tmp.s1\" value='`$resource-resolution-split[0]`'/>\n <parameter name=\"tmp.s2.s2\" value=''/>\n <parameter name=\"tmp.resolved.var.value\" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`'/>\n \n\n","comments":"","x":1099.2143630981445,"y":660.4285774230957,"z":"2eed414c.ede50e","wires":[]},{"id":"6aba5cdd.959204","type":"execute","name":"split s2","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":1101.2143630981445,"y":731.4285774230957,"z":"2eed414c.ede50e","wires":[[]]},{"id":"f80112e3.e8376","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1481.2143630981445,"y":823.4285774230957,"z":"2eed414c.ede50e","wires":[["a0d1d1d7.06391","16a1ad1c.4c38f3"]]},{"id":"16a1ad1c.4c38f3","type":"set","name":"set","xml":"<set>\n <parameter name=\"tmp.s2.s2\" value='`$s2[1]`'/>\n \n\n","comments":"","x":1650.2143630981445,"y":857.4285774230957,"z":"2eed414c.ede50e","wires":[]},{"id":"b8edb73c.2cd188","type":"set","name":"set","xml":"<set>\n <parameter name=\"tmp.s2.s1\" value='`$s2[0]`'/>\n \n\n","comments":"","x":1475.2143630981445,"y":753.4285774230957,"z":"2eed414c.ede50e","wires":[]},{"id":"b7190e5.81e8af","type":"execute","name":"concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>\n <parameter name='source' value='`$tmp.s1`' />\n <parameter name='target' value='`$tmp.resolved.var.value`' />\n <parameter name='outputPath' value='tmp.result' />\n","comments":"","outputs":1,"x":1093.0714263916016,"y":982.9999985694885,"z":"2eed414c.ede50e","wires":[[]]},{"id":"91228785.77c5c8","type":"switchNode","name":"switch s2 length","xml":"<switch test='`$s2_length`'>\n","comments":"","outputs":1,"x":1129.2143630981445,"y":795.4285774230957,"z":"2eed414c.ede50e","wires":[["1bed4afb.3b60b5","cf8df26e.65e38"]]},{"id":"1bed4afb.3b60b5","type":"outcome","name":"1","xml":"<outcome value='1'>","comments":"","outputs":1,"x":1315.2143630981445,"y":753.4285774230957,"z":"2eed414c.ede50e","wires":[["b8edb73c.2cd188"]]},{"id":"cf8df26e.65e38","type":"outcome","name":"2","xml":"<outcome value='2'>","comments":"","outputs":1,"x":1318.2143630981445,"y":824.4285774230957,"z":"2eed414c.ede50e","wires":[["f80112e3.e8376"]]},{"id":"a0d1d1d7.06391","type":"set","name":"set","xml":"<set>\n <parameter name=\"tmp.s2.s1\" value='`$s2[0]`'/>\n \n\n","comments":"","x":1646.2143630981445,"y":788.4285774230957,"z":"2eed414c.ede50e","wires":[]},{"id":"e12991dc.9f762","type":"execute","name":"concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>\n <parameter name='source' value='`$tmp.result`' />\n <parameter name='target' value='`$tmp.s2.s2`' />\n <parameter name='outputPath' value='tmp.result' />\n","comments":"","outputs":1,"x":1497.0714263916016,"y":1105.9999985694885,"z":"2eed414c.ede50e","wires":[[]]},{"id":"9ee590b9.86b03","type":"switchNode","name":"switch tmp.s2.s2 null","xml":"<switch test=\"`$tmp.s2.s2 == ''`\">\n","comments":"","outputs":1,"x":1140.0714263916016,"y":1074.9999985694885,"z":"2eed414c.ede50e","wires":[["d5945243.43236","76d2ae80.99aaa"]]},{"id":"d5945243.43236","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1342.0714263916016,"y":1041.9999985694885,"z":"2eed414c.ede50e","wires":[[]]},{"id":"76d2ae80.99aaa","type":"other","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1345.0714263916016,"y":1104.9999985694885,"z":"2eed414c.ede50e","wires":[["e12991dc.9f762"]]},{"id":"a34fa202.a8f58","type":"set","name":"set result of resolution","xml":"<set>\n <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`' value='`$tmp.result`'/>\n \n\n","comments":"","x":1141.0714263916016,"y":1135.9999985694885,"z":"2eed414c.ede50e","wires":[]},{"id":"12905fab.09b84","type":"for","name":"for cn in vnf-parameters-data.param[]","xml":"<for silentFailure='true' index='cn' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >\n","comments":"","outputs":1,"x":1187.0714263916016,"y":915.9999985694885,"z":"2eed414c.ede50e","wires":[["93df27b1.8320b8"]]},{"id":"93df27b1.8320b8","type":"switchNode","name":"switch param[].name","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cn].name == $tmp.s2.s1`'>\n","comments":"","outputs":1,"x":1468.7857666015625,"y":915.4285984039307,"z":"2eed414c.ede50e","wires":[["74ab785e.43db98"]]},{"id":"74ab785e.43db98","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1663.7857666015625,"y":915.4285984039307,"z":"2eed414c.ede50e","wires":[["ca61b0c8.8e36"]]},{"id":"ca61b0c8.8e36","type":"set","name":"set","xml":"<set>\n <parameter name='tmp.resolved.var.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cn].value`'/>\n \n\n","comments":"","x":1813.7857666015625,"y":915.4285984039307,"z":"2eed414c.ede50e","wires":[]},{"id":"fe88f79e.c02fb8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":868.0714263916016,"y":527.9999985694885,"z":"2eed414c.ede50e","wires":[["277ff0ac.3260f","7b0114.5d80beec","6aba5cdd.959204","91228785.77c5c8","12905fab.09b84","b7190e5.81e8af","9ee590b9.86b03","a34fa202.a8f58","77607272.82d98c"]]},{"id":"7f9405a.75baafc","type":"switchNode","name":"switch capability-type","xml":"<switch test=\"`$ss.capability-type`\">\n","comments":"","outputs":1,"x":194.78570556640625,"y":270.2857093811035,"z":"2eed414c.ede50e","wires":[["cff28686.cdc6c8","489c8727.568328"]]},{"id":"cff28686.cdc6c8","type":"not-found","name":"vnf","xml":"<outcome value='vnf'>\n","comments":"","outputs":1,"x":385.4999694824219,"y":269.7143249511719,"z":"2eed414c.ede50e","wires":[["d8b5acf7.f5e9e"]]},{"id":"489c8727.568328","type":"not-found","name":"vf-module","xml":"<outcome value='vf-module'>\n","comments":"","outputs":1,"x":404.9285583496094,"y":1295.2857666015625,"z":"2eed414c.ede50e","wires":[["2fc1611b.146ece"]]},{"id":"4a358999.23b6a8","type":"for","name":"for i in vf-parameters-data.param[]","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-parameters.param_length`' >\n","comments":"","outputs":1,"x":760.3571319580078,"y":1349.857021331787,"z":"2eed414c.ede50e","wires":[["309116d8.9b624a"]]},{"id":"309116d8.9b624a","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":1042.3571319580078,"y":1349.857021331787,"z":"2eed414c.ede50e","wires":[["45936ec1.758c9"]]},{"id":"45936ec1.758c9","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1249.3571319580078,"y":1349.857021331787,"z":"2eed414c.ede50e","wires":[["b8b2343e.d81f58"]]},{"id":"e93f5357.c408e","type":"for","name":"for j in respurce-key[]","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-parameters.param[$i].resource-resolution-data.resource-key_length`' >\n","comments":"","outputs":1,"x":888.21435546875,"y":1437.857177734375,"z":"2eed414c.ede50e","wires":[["e768587b.b2c608"]]},{"id":"e768587b.b2c608","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[$i].resource-resolution-data.resource-key[$j].value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n","comments":"","outputs":1,"x":1165.21435546875,"y":1436.857177734375,"z":"2eed414c.ede50e","wires":[["419d4a7c.0714c4"]]},{"id":"419d4a7c.0714c4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1395.21435546875,"y":1436.857177734375,"z":"2eed414c.ede50e","wires":[["ac809c2a.e7902"]]},{"id":"8e785194.b1cc6","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[$i].resource-resolution-data.resource-key[$j].value`' />\n <parameter name='regex' value='\\$\\{' />\n","comments":"","outputs":1,"x":1201.5000457763672,"y":1575.7143115997314,"z":"2eed414c.ede50e","wires":[[]]},{"id":"a068e82.37e7818","type":"set","name":"set","xml":"<set>\n <parameter name=\"tmp.s1\" value='`$resource-resolution-split[0]`'/>\n <parameter name=\"tmp.s2.s2\" value=''/>\n <parameter name=\"tmp.resolved.var.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[$i].resource-resolution-data.resource-key[$j].value`'/>\n \n\n","comments":"","x":1138.7857360839844,"y":1636.285650253296,"z":"2eed414c.ede50e","wires":[]},{"id":"53bc4452.d2d82c","type":"execute","name":"split s2","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":1140.7857360839844,"y":1707.285650253296,"z":"2eed414c.ede50e","wires":[[]]},{"id":"78020424.b816cc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1520.7857360839844,"y":1799.285650253296,"z":"2eed414c.ede50e","wires":[["b28d62f6.1f02c","ee486258.1c7fe"]]},{"id":"ee486258.1c7fe","type":"set","name":"set","xml":"<set>\n <parameter name=\"tmp.s2.s2\" value='`$s2[1]`'/>\n \n\n","comments":"","x":1689.7857360839844,"y":1833.285650253296,"z":"2eed414c.ede50e","wires":[]},{"id":"1a870566.9db06b","type":"set","name":"set","xml":"<set>\n <parameter name=\"tmp.s2.s1\" value='`$s2[0]`'/>\n \n\n","comments":"","x":1514.7857360839844,"y":1729.285650253296,"z":"2eed414c.ede50e","wires":[]},{"id":"78fe075e.f46998","type":"execute","name":"concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>\n <parameter name='source' value='`$tmp.s1`' />\n <parameter name='target' value='`$tmp.resolved.var.value`' />\n <parameter name='outputPath' value='tmp.result' />\n","comments":"","outputs":1,"x":1144.0714263916016,"y":1955.9999985694885,"z":"2eed414c.ede50e","wires":[[]]},{"id":"72ca73d8.90947c","type":"switchNode","name":"switch s2 length","xml":"<switch test='`$s2_length`'>\n","comments":"","outputs":1,"x":1168.7857360839844,"y":1771.285650253296,"z":"2eed414c.ede50e","wires":[["7614f305.fb0e1c","9f867041.2f0b4"]]},{"id":"7614f305.fb0e1c","type":"outcome","name":"1","xml":"<outcome value='1'>","comments":"","outputs":1,"x":1354.7857360839844,"y":1729.285650253296,"z":"2eed414c.ede50e","wires":[["1a870566.9db06b"]]},{"id":"9f867041.2f0b4","type":"outcome","name":"2","xml":"<outcome value='2'>","comments":"","outputs":1,"x":1357.7857360839844,"y":1800.285650253296,"z":"2eed414c.ede50e","wires":[["78020424.b816cc"]]},{"id":"b28d62f6.1f02c","type":"set","name":"set","xml":"<set>\n <parameter name=\"tmp.s2.s1\" value='`$s2[0]`'/>\n \n\n","comments":"","x":1685.7857360839844,"y":1764.285650253296,"z":"2eed414c.ede50e","wires":[]},{"id":"10d75c04.4a43a4","type":"execute","name":"concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>\n <parameter name='source' value='`$tmp.result`' />\n <parameter name='target' value='`$tmp.s2.s2`' />\n <parameter name='outputPath' value='tmp.result' />\n","comments":"","outputs":1,"x":1546.6429138183594,"y":2076.714319229126,"z":"2eed414c.ede50e","wires":[[]]},{"id":"d3d1db22.56e008","type":"switchNode","name":"switch tmp.s2.s2 null","xml":"<switch test=\"`$tmp.s2.s2 == ''`\">\n","comments":"","outputs":1,"x":1191.0714263916016,"y":2047.9999985694885,"z":"2eed414c.ede50e","wires":[["831b610a.e4f05","9d346e29.92e22"]]},{"id":"831b610a.e4f05","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1391.6429138183594,"y":2013.714319229126,"z":"2eed414c.ede50e","wires":[[]]},{"id":"9d346e29.92e22","type":"other","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1395.6429138183594,"y":2076.714319229126,"z":"2eed414c.ede50e","wires":[["10d75c04.4a43a4"]]},{"id":"b9830f43.d7d8b","type":"set","name":"set result of resolution","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.resource-key[$j].value`' value='`$tmp.result`'/>\n \n\n","comments":"","x":1192.0714263916016,"y":2108.9999985694885,"z":"2eed414c.ede50e","wires":[]},{"id":"9eb906fd.1a56d8","type":"for","name":"for cn in vf-parameters-data.param[]","xml":"<for silentFailure='true' 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":1232.0714263916016,"y":1888.9999985694885,"z":"2eed414c.ede50e","wires":[["a4257282.69bd5"]]},{"id":"a4257282.69bd5","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 == $tmp.s2.s1`'>\n","comments":"","outputs":1,"x":1521.0714263916016,"y":1887.9999985694885,"z":"2eed414c.ede50e","wires":[["59d239dc.21c0f8"]]},{"id":"59d239dc.21c0f8","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1727.0714263916016,"y":1887.9999985694885,"z":"2eed414c.ede50e","wires":[["eb169026.04af4"]]},{"id":"eb169026.04af4","type":"set","name":"set","xml":"<set>\n <parameter name='tmp.resolved.var.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[$cn].value`'/>\n \n\n","comments":"","x":1880.0714263916016,"y":1887.9999985694885,"z":"2eed414c.ede50e","wires":[]},{"id":"ac809c2a.e7902","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":919.0714263916016,"y":1500.9999985694885,"z":"2eed414c.ede50e","wires":[["8e785194.b1cc6","a068e82.37e7818","53bc4452.d2d82c","72ca73d8.90947c","9eb906fd.1a56d8","78fe075e.f46998","d3d1db22.56e008","b9830f43.d7d8b","d5392fd8.d89da"]]},{"id":"77607272.82d98c","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: param[].value with leading $: ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`\"/>\n","comments":"","outputs":1,"x":1091.7856369018555,"y":527.4286179542542,"z":"2eed414c.ede50e","wires":[[]]},{"id":"d5392fd8.d89da","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: param[].value with leading $: ' + $service-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":1128.9285736083984,"y":1501.0000076293945,"z":"2eed414c.ede50e","wires":[[]]},{"id":"d8b5acf7.f5e9e","type":"switchNode","name":"switch param_length null","xml":"<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length == ''`\">\n","comments":"","outputs":1,"x":574.5,"y":270,"z":"2eed414c.ede50e","wires":[["d9d991b7.4c7a"]]},{"id":"d9d991b7.4c7a","type":"outcome","name":"false","xml":"<outcome value='false'>","comments":"","outputs":1,"x":793.5,"y":269,"z":"2eed414c.ede50e","wires":[["c011bd0.1ca2f4"]]},{"id":"2fc1611b.146ece","type":"switchNode","name":"switch param_length null","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":636.5,"y":1294,"z":"2eed414c.ede50e","wires":[["8fadf57.37efd08"]]},{"id":"8fadf57.37efd08","type":"outcome","name":"false","xml":"<outcome value='false'>","comments":"","outputs":1,"x":837.5,"y":1293,"z":"2eed414c.ede50e","wires":[["4a358999.23b6a8"]]},{"id":"83285695.56f8f8","type":"switchNode","name":"switch resource-key_length null","xml":"<switch test=\"`$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":754.5,"y":397,"z":"2eed414c.ede50e","wires":[["17890ec9.2f6321"]]},{"id":"17890ec9.2f6321","type":"outcome","name":"false","xml":"<outcome value='false'>","comments":"","outputs":1,"x":973.5,"y":396,"z":"2eed414c.ede50e","wires":[["6d2ac1ec.6947d"]]},{"id":"b8b2343e.d81f58","type":"switchNode","name":"switch resource-key_length null","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_length == ''`\">\n","comments":"","outputs":1,"x":822.5,"y":1396,"z":"2eed414c.ede50e","wires":[["61744b7d.8c66d4"]]},{"id":"61744b7d.8c66d4","type":"outcome","name":"false","xml":"<outcome value='false'>","comments":"","outputs":1,"x":1041.5,"y":1395,"z":"2eed414c.ede50e","wires":[["e93f5357.c408e"]]}] \ No newline at end of file
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
index dfb78775..a679b1f5 100644
--- 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
@@ -1,20 +1,20 @@
[
{
- "id": "72ace04a.7be558",
+ "id": "1c1b1b8c.f22d8c",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 103.75,
- "y": 43.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 101,
+ "y": 36,
+ "z": "cd15d378.222de8",
"wires": [
[
- "4683e336.13fbec"
+ "5242feba.24d568"
]
]
},
{
- "id": "4683e336.13fbec",
+ "id": "5242feba.24d568",
"type": "service-logic",
"name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
@@ -22,897 +22,897 @@
"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",
+ "x": 377,
+ "y": 37,
+ "z": "cd15d378.222de8",
"wires": [
[
- "1e499485.148aab"
+ "d27cbed.05f55c"
]
]
},
{
- "id": "1e499485.148aab",
+ "id": "d27cbed.05f55c",
"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",
+ "x": 773,
+ "y": 36,
+ "z": "cd15d378.222de8",
"wires": [
[
- "fce9c766.afb09"
+ "5dd94280.59f404"
]
]
},
{
- "id": "fce9c766.afb09",
+ "id": "5dd94280.59f404",
"type": "block",
"name": "block atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 122.25,
- "y": 126.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 119.5,
+ "y": 119,
+ "z": "cd15d378.222de8",
"wires": [
[
- "96c99a94.2dd13",
- "d2f322ed.7ab698",
- "a1151215.a41af8"
+ "f7b2e52c.493238",
+ "f8d58ab4.c216e",
+ "488f44a1.f47cc4"
]
]
},
{
- "id": "a1151215.a41af8",
+ "id": "488f44a1.f47cc4",
"type": "switchNode",
"name": "switch",
"xml": "<switch test='`$ss.capability-type`'>\n\n",
"comments": "",
"outputs": 1,
- "x": 367.75,
- "y": 457.86114501953125,
- "z": "8e64cd0a.c97ea8",
+ "x": 365,
+ "y": 450.11114501953125,
+ "z": "cd15d378.222de8",
"wires": [
[
- "2d8e8b63.2be73c",
- "8641945a.85d85",
- "87d6f1d6.fde57",
- "b49433f5.4f0a18"
+ "2c48172e.c12508",
+ "33b5a922.c609d6",
+ "7e07a472.6c934c",
+ "b86ad187.19dd28"
]
]
},
{
- "id": "2d8e8b63.2be73c",
+ "id": "2c48172e.c12508",
"type": "outcome",
"name": "vnf",
"xml": "<outcome value='vnf'>\n",
"comments": "",
"outputs": 1,
- "x": 552.75,
- "y": 521.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 550,
+ "y": 514,
+ "z": "cd15d378.222de8",
"wires": [
[
- "8257892.ab90ef8"
+ "973953f9.a1f848"
]
]
},
{
- "id": "8641945a.85d85",
+ "id": "33b5a922.c609d6",
"type": "outcome",
"name": "vf-module",
"xml": "<outcome value='vf-module'>\n",
"comments": "",
"outputs": 1,
- "x": 570.1944580078125,
- "y": 1370.527587890625,
- "z": "8e64cd0a.c97ea8",
+ "x": 567.4444580078125,
+ "y": 1362.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "3b7a5a5b.0869d6"
+ "fc92d96a.d71e28"
]
]
},
{
- "id": "87d6f1d6.fde57",
+ "id": "7e07a472.6c934c",
"type": "outcome",
"name": "other",
"xml": "<outcome value='Other'>\n",
"comments": "",
"outputs": 1,
- "x": 540.861083984375,
- "y": 2097.3056030273438,
- "z": "8e64cd0a.c97ea8",
+ "x": 538.111083984375,
+ "y": 2089.5556030273438,
+ "z": "cd15d378.222de8",
"wires": [
[
- "440694ff.4f3a6c"
+ "6e4fdf25.0d9908"
]
]
},
{
- "id": "b49433f5.4f0a18",
+ "id": "b86ad187.19dd28",
"type": "outcome",
"name": "null",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 543.861083984375,
- "y": 2167.3056030273438,
- "z": "8e64cd0a.c97ea8",
+ "x": 541.111083984375,
+ "y": 2159.5556030273438,
+ "z": "cd15d378.222de8",
"wires": [
[
- "440694ff.4f3a6c"
+ "6e4fdf25.0d9908"
]
]
},
{
- "id": "440694ff.4f3a6c",
+ "id": "6e4fdf25.0d9908",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 726.111083984375,
+ "y": 2119.5556030273438,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "96c99a94.2dd13",
+ "id": "f7b2e52c.493238",
"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",
+ "x": 362,
+ "y": 162,
+ "z": "cd15d378.222de8",
"wires": [
[
- "a6eb425f.b8bdd"
+ "570568eb.22122"
]
]
},
{
- "id": "d2f322ed.7ab698",
+ "id": "f8d58ab4.c216e",
"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",
+ "x": 364,
+ "y": 235,
+ "z": "cd15d378.222de8",
"wires": [
[
- "4bd1595c.013718"
+ "b5d6857c.4e6108"
]
]
},
{
- "id": "a6eb425f.b8bdd",
+ "id": "570568eb.22122",
"type": "outcome",
"name": "null",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 527.75,
- "y": 168.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 525,
+ "y": 161,
+ "z": "cd15d378.222de8",
"wires": [
[
- "150b73ba.cd1f84"
+ "efa9a9cc.1d3f18"
]
]
},
{
- "id": "4bd1595c.013718",
+ "id": "b5d6857c.4e6108",
"type": "outcome",
"name": "null",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 530.75,
- "y": 241.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 528,
+ "y": 234,
+ "z": "cd15d378.222de8",
"wires": [
[
- "2339ed70.e452d2"
+ "7c13efe5.43ea88"
]
]
},
{
- "id": "150b73ba.cd1f84",
+ "id": "efa9a9cc.1d3f18",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 714,
+ "y": 161,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "2339ed70.e452d2",
+ "id": "7c13efe5.43ea88",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 715,
+ "y": 234,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "fa65e5dc.08b3d8",
+ "id": "776ec9b3.cfe35",
"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",
+ "x": 839,
+ "y": 829,
+ "z": "cd15d378.222de8",
"wires": [
[
- "2e29dd23.0f7632",
- "268c5fb8.e45f3"
+ "ece4186c.66532",
+ "92f7fa59.72257"
]
]
},
{
- "id": "2e29dd23.0f7632",
+ "id": "ece4186c.66532",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 1082.75,
- "y": 791.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 1080,
+ "y": 784,
+ "z": "cd15d378.222de8",
"wires": [
[
- "a64477a3.5d098"
+ "cef19df0.cf597"
]
]
},
{
- "id": "268c5fb8.e45f3",
+ "id": "92f7fa59.72257",
"type": "failure",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 1087.75,
- "y": 889.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 1085,
+ "y": 882,
+ "z": "cd15d378.222de8",
"wires": [
[
- "a64477a3.5d098"
+ "cef19df0.cf597"
]
]
},
{
- "id": "a64477a3.5d098",
+ "id": "cef19df0.cf597",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic='true'>",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1239.75,
- "y": 833.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 1237,
+ "y": 826,
+ "z": "cd15d378.222de8",
"wires": [
[
- "735acfc0.69263",
- "9f441bcd.48c91"
+ "ee51f6c5.2fc7b",
+ "2868a2e7.19a866"
]
]
},
{
- "id": "735acfc0.69263",
+ "id": "ee51f6c5.2fc7b",
"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",
+ "x": 1438,
+ "y": 774,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "9f441bcd.48c91",
+ "id": "2868a2e7.19a866",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 1424,
+ "y": 883,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "8257892.ab90ef8",
+ "id": "973953f9.a1f848",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic='true'>",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 720.75,
- "y": 521.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 718,
+ "y": 514,
+ "z": "cd15d378.222de8",
"wires": [
[
- "53e3c0e3.64d5d8",
- "50624aa7.268ebc",
- "1f68cda.b8d8b32",
- "fa65e5dc.08b3d8",
- "8643313e.d4e4a8",
- "5380e841.bea77"
+ "e2385750.976298",
+ "924870b0.89a2",
+ "43fb1f27.951ec8",
+ "776ec9b3.cfe35",
+ "cdac6275.62c538",
+ "3d7cf445.7e3e64"
]
]
},
{
- "id": "53e3c0e3.64d5d8",
+ "id": "e2385750.976298",
"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",
+ "x": 886,
+ "y": 577,
+ "z": "cd15d378.222de8",
"wires": [
[
- "67ae549.369122c"
+ "502bdf23.14a01"
]
]
},
{
- "id": "67ae549.369122c",
+ "id": "502bdf23.14a01",
"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",
+ "x": 1042,
+ "y": 639,
+ "z": "cd15d378.222de8",
"wires": [
[
- "408a6d52.bca67c"
+ "a82dd4d8.fa645"
]
]
},
{
- "id": "408a6d52.bca67c",
+ "id": "a82dd4d8.fa645",
"type": "outcome",
"name": "external-key",
"xml": "<outcome value='external-key'>\n",
"comments": "",
"outputs": 1,
- "x": 1230.75,
- "y": 646.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 1228,
+ "y": 639,
+ "z": "cd15d378.222de8",
"wires": [
[
- "9801ba33.1a3de"
+ "c9562be9.ab781"
]
]
},
{
- "id": "9801ba33.1a3de",
+ "id": "c9562be9.ab781",
"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",
+ "x": 1460,
+ "y": 639,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "1f68cda.b8d8b32",
+ "id": "43fb1f27.951ec8",
"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;}]'`\"/>",
+ "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",
+ "x": 775,
+ "y": 763,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "50624aa7.268ebc",
+ "id": "924870b0.89a2",
"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",
+ "x": 746,
+ "y": 706,
+ "z": "cd15d378.222de8",
"wires": [
[
- "c1a7e7c7.bb67c"
+ "a1e3a0cf.8001e8"
]
]
},
{
- "id": "c1a7e7c7.bb67c",
+ "id": "a1e3a0cf.8001e8",
"type": "outcome",
"name": "null",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 901.75,
- "y": 712.75,
- "z": "8e64cd0a.c97ea8",
+ "x": 899,
+ "y": 705,
+ "z": "cd15d378.222de8",
"wires": [
[
- "17d289d6.1a9e5e"
+ "8627e3cd.3b77e8"
]
]
},
{
- "id": "17d289d6.1a9e5e",
+ "id": "8627e3cd.3b77e8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 1060,
+ "y": 705,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "420ba6ad.26a838",
+ "id": "89b0826d.ca14b",
"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",
+ "x": 897.4444580078125,
+ "y": 1678.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "40004b3f.e2bedc",
- "a93541ba.8e68b8"
+ "24cee4e8.4b448c",
+ "75bedfb3.3ade98"
]
]
},
{
- "id": "40004b3f.e2bedc",
+ "id": "24cee4e8.4b448c",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 1137.1944580078125,
- "y": 1640.527587890625,
- "z": "8e64cd0a.c97ea8",
+ "x": 1134.4444580078125,
+ "y": 1632.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "89d30d0a.86861"
+ "cb648bfb.cf66d8"
]
]
},
{
- "id": "a93541ba.8e68b8",
+ "id": "75bedfb3.3ade98",
"type": "failure",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 1143.1944580078125,
- "y": 1740.527587890625,
- "z": "8e64cd0a.c97ea8",
+ "x": 1140.4444580078125,
+ "y": 1732.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "89d30d0a.86861"
+ "cb648bfb.cf66d8"
]
]
},
{
- "id": "89d30d0a.86861",
+ "id": "cb648bfb.cf66d8",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic='true'>",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1290.1944580078125,
- "y": 1682.527587890625,
- "z": "8e64cd0a.c97ea8",
+ "x": 1287.4444580078125,
+ "y": 1674.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "fc409ea5.e85ae",
- "e3c25f44.0cb21"
+ "6fbd418e.fb8d9",
+ "a4b1611a.39c14"
]
]
},
{
- "id": "fc409ea5.e85ae",
+ "id": "6fbd418e.fb8d9",
"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",
+ "x": 1496.4444580078125,
+ "y": 1623.777587890625,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "e3c25f44.0cb21",
+ "id": "a4b1611a.39c14",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 1482.4444580078125,
+ "y": 1732.777587890625,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "3b7a5a5b.0869d6",
+ "id": "fc92d96a.d71e28",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic='true'>",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 779.1944580078125,
- "y": 1371.527587890625,
- "z": "8e64cd0a.c97ea8",
+ "x": 776.4444580078125,
+ "y": 1363.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "2cccc824.ad2a78",
- "231cd5d7.8b6a1a",
- "2c11cde8.d352fa",
- "420ba6ad.26a838",
- "828d5f62.22b218",
- "bd0adc9e.3de71"
+ "c4770fe1.62916",
+ "dd52b043.a96ef",
+ "12397850.e2f698",
+ "89b0826d.ca14b",
+ "352c4756.0206c8",
+ "d93b3d94.b2b228"
]
]
},
{
- "id": "2cccc824.ad2a78",
+ "id": "c4770fe1.62916",
"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",
+ "x": 944.4444580078125,
+ "y": 1426.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "5e430810.e35d5"
+ "7c7934f8.f11a6c"
]
]
},
{
- "id": "5e430810.e35d5",
+ "id": "7c7934f8.f11a6c",
"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",
+ "x": 1098.4444580078125,
+ "y": 1488.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "1cd2631e.5000ad"
+ "c6f3adca.93b718"
]
]
},
{
- "id": "1cd2631e.5000ad",
+ "id": "c6f3adca.93b718",
"type": "outcome",
"name": "external-key",
"xml": "<outcome value='external-key'>\n",
"comments": "",
"outputs": 1,
- "x": 1287.1944580078125,
- "y": 1496.527587890625,
- "z": "8e64cd0a.c97ea8",
+ "x": 1284.4444580078125,
+ "y": 1488.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "b5e021a4.2b14"
+ "be8ee91c.01b38"
]
]
},
{
- "id": "b5e021a4.2b14",
+ "id": "be8ee91c.01b38",
"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",
+ "x": 1516.4444580078125,
+ "y": 1488.777587890625,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "2c11cde8.d352fa",
+ "id": "12397850.e2f698",
"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;}]'`\"/>",
+ "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",
+ "x": 833.4444580078125,
+ "y": 1612.777587890625,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "231cd5d7.8b6a1a",
+ "id": "dd52b043.a96ef",
"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",
+ "x": 804.4444580078125,
+ "y": 1555.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "c92f1042.b4f728"
+ "e401bf03.ed02a8"
]
]
},
{
- "id": "c92f1042.b4f728",
+ "id": "e401bf03.ed02a8",
"type": "outcome",
"name": "null",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 960.1944580078125,
- "y": 1562.527587890625,
- "z": "8e64cd0a.c97ea8",
+ "x": 957.4444580078125,
+ "y": 1554.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "928dfda3.a334e"
+ "1bd8e3a8.c533b4"
]
]
},
{
- "id": "928dfda3.a334e",
+ "id": "1bd8e3a8.c533b4",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 1118.4444580078125,
+ "y": 1554.777587890625,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "e9758b29.f137c8",
+ "id": "c22afee4.bb0e98",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 893.7499389648438,
- "y": 956.6388549804688,
- "z": "8e64cd0a.c97ea8",
+ "x": 890.9999389648438,
+ "y": 948.8888549804688,
+ "z": "cd15d378.222de8",
"wires": [
[
- "866c1fb3.eb77a"
+ "d52d5d8a.20fc58"
]
]
},
{
- "id": "866c1fb3.eb77a",
+ "id": "d52d5d8a.20fc58",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic='true'>",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1059.3056640625,
- "y": 1001.1944427490234,
- "z": "8e64cd0a.c97ea8",
+ "x": 1056.5556640625,
+ "y": 993.4444427490234,
+ "z": "cd15d378.222de8",
"wires": [
[
- "e7f01e3.2acaae",
- "712546c8.9b5af"
+ "85e49276.168cd",
+ "f60bf43e.3a4bd8"
]
]
},
{
- "id": "e7f01e3.2acaae",
+ "id": "85e49276.168cd",
"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",
+ "x": 1266,
+ "y": 949,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "712546c8.9b5af",
+ "id": "f60bf43e.3a4bd8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 1254,
+ "y": 1037,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "5380e841.bea77",
+ "id": "3d7cf445.7e3e64",
"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",
+ "x": 688.1111450195312,
+ "y": 1077.8888549804688,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "c57b7486.a57b1",
+ "id": "296de1b7.0fd81e",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 961.861083984375,
- "y": 1811.8609008789062,
- "z": "8e64cd0a.c97ea8",
+ "x": 959.111083984375,
+ "y": 1804.1109008789062,
+ "z": "cd15d378.222de8",
"wires": [
[
- "4fc9b736.8d6e3"
+ "1a47636d.f18615"
]
]
},
{
- "id": "4fc9b736.8d6e3",
+ "id": "1a47636d.f18615",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic='true'>",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1125.1944580078125,
- "y": 1847.527587890625,
- "z": "8e64cd0a.c97ea8",
+ "x": 1122.4444580078125,
+ "y": 1839.777587890625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "c4cb3411.ce3c08",
- "5be64b3b.d3de2c"
+ "13f096ae.130bd9",
+ "446f10ad.05f988"
]
]
},
{
- "id": "c4cb3411.ce3c08",
+ "id": "13f096ae.130bd9",
"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",
+ "x": 1337.4444580078125,
+ "y": 1799.777587890625,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "5be64b3b.d3de2c",
+ "id": "446f10ad.05f988",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 1325.4444580078125,
+ "y": 1887.777587890625,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "bd0adc9e.3de71",
+ "id": "d93b3d94.b2b228",
"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",
+ "x": 788.4444580078125,
+ "y": 1929.777587890625,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "3ab1de2e.107f4a",
+ "id": "ef964ca0.407bf8",
"type": "comment",
"name": "For VNF genname changeassign",
"info": "",
"comments": "",
- "x": 634.9722290039062,
- "y": 457.9722595214844,
- "z": "8e64cd0a.c97ea8",
+ "x": 632.2222290039062,
+ "y": 450.2222595214844,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "acf466b0.cd99d",
+ "id": "2ef4734c.fa35c4",
"type": "comment",
"name": "For VF-MODULE genname changeassign",
"info": "",
"comments": "",
- "x": 670.5277709960938,
- "y": 1280.194580078125,
- "z": "8e64cd0a.c97ea8",
+ "x": 667.7777709960938,
+ "y": 1272.444580078125,
+ "z": "cd15d378.222de8",
"wires": []
},
{
- "id": "8643313e.d4e4a8",
+ "id": "cdac6275.62c538",
"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",
+ "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<parameter name=\"vnf-name\" value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$ss.input.param.index].value`' />\n\n",
"comments": "",
"outputs": 1,
- "x": 714.97216796875,
- "y": 997.9722900390625,
- "z": "8e64cd0a.c97ea8",
+ "x": 712.22216796875,
+ "y": 990.2222900390625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "e9758b29.f137c8",
- "291e7999.8fd276"
+ "c22afee4.bb0e98",
+ "5fc85d40.547644"
]
]
},
{
- "id": "828d5f62.22b218",
+ "id": "352c4756.0206c8",
"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",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vf-module\" key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id AND vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id \" > \n<parameter name=\"vf-module-name\" value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value`' />\n",
"comments": "",
"outputs": 1,
- "x": 792.75,
- "y": 1847.9722900390625,
- "z": "8e64cd0a.c97ea8",
+ "x": 790,
+ "y": 1840.2222900390625,
+ "z": "cd15d378.222de8",
"wires": [
[
- "c57b7486.a57b1",
- "5cf0712f.35945"
+ "296de1b7.0fd81e",
+ "ba968b2c.2f6978"
]
]
},
{
- "id": "5cf0712f.35945",
+ "id": "ba968b2c.2f6978",
"type": "not-found",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 959.4166870117188,
- "y": 1897.9719848632812,
- "z": "8e64cd0a.c97ea8",
+ "x": 956.6666870117188,
+ "y": 1890.2219848632812,
+ "z": "cd15d378.222de8",
"wires": [
[
- "4fc9b736.8d6e3"
+ "1a47636d.f18615"
]
]
},
{
- "id": "291e7999.8fd276",
+ "id": "5fc85d40.547644",
"type": "not-found",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 897.1945190429688,
- "y": 1046.8611450195312,
- "z": "8e64cd0a.c97ea8",
+ "x": 894.4445190429688,
+ "y": 1039.1111450195312,
+ "z": "cd15d378.222de8",
"wires": [
[
- "866c1fb3.eb77a"
+ "d52d5d8a.20fc58"
]
]
}
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 2d05912d..090f2a83 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,2902 +1 @@
-[
- {
- "id": "44384001.814478",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 112,
- "y": 43,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "7f8a6cfc.d713c4"
- ]
- ]
- },
- {
- "id": "7f8a6cfc.d713c4",
- "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": 359.1428527832031,
- "y": 43.99999237060547,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "3e607973.034d6e"
- ]
- ]
- },
- {
- "id": "3e607973.034d6e",
- "type": "method",
- "name": "self-serve-generate-name",
- "xml": "<method rpc='self-serve-generate-name' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 664.1428527832031,
- "y": 43.99999237060547,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "3f9a35f8.8da52a"
- ]
- ]
- },
- {
- "id": "3f9a35f8.8da52a",
- "type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 163.14285278320312,
- "y": 129.99999237060547,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "7a632215.c0ac2c",
- "7f9a3712.0790f",
- "f841aff3.13a07",
- "571f0673.b8518",
- "2a352877.19cd9"
- ]
- ]
- },
- {
- "id": "bc633e83.bdfe98",
- "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": 1728.8572082519531,
- "y": 856.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "7a632215.c0ac2c",
- "type": "set",
- "name": "set capability-name",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />\n",
- "comments": "",
- "x": 362.1428527832031,
- "y": 130.99999237060547,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "7f9a3712.0790f",
- "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": 391.1428527832031,
- "y": 222,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "f5bead73.e939c8",
- "e210e97d.997518"
- ]
- ]
- },
- {
- "id": "f5e94169.5fc978",
- "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": 1162.6430053710938,
- "y": 487.4285125732422,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "fa4257ae.9fd718"
- ]
- ]
- },
- {
- "id": "fa4257ae.9fd718",
- "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": 1405.5000610351562,
- "y": 487.4285125732422,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "4a6ecd53.d56884"
- ]
- ]
- },
- {
- "id": "4a6ecd53.d56884",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1586.2144165039062,
- "y": 487.4284973144531,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "a7c641d6.1516b"
- ]
- ]
- },
- {
- "id": "9750b026.40e79",
- "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": 1698.3572082519531,
- "y": 657.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "6e26ff1a.e07b88"
- ]
- ]
- },
- {
- "id": "f5bead73.e939c8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 614.1428527832031,
- "y": 190,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "322435c8.51411a"
- ]
- ]
- },
- {
- "id": "e210e97d.997518",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 623.1428527832031,
- "y": 256,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "322435c8.51411a"
- ]
- ]
- },
- {
- "id": "322435c8.51411a",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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": 816.1428527832031,
- "y": 190,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "11ec24e5.5f86b3",
- "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;,'`\"/>\n<parameter name=\"`tmp.gen-name[0].element[$j].name`\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name`\"/>\n<parameter name=\"`tmp.gen-name[0].element[$j].value`\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`\"/>\n<parameter name=\"`tmp.gen-name[0].element_length`\" value='`$j + 1`' />",
- "comments": "",
- "x": 2300.857208251953,
- "y": 655.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "bc87beaf.bad8a",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />\n<parameter name='tmp.gen-name_length' value='1' />",
- "comments": "",
- "x": 1695.8573608398438,
- "y": 582.9998626708984,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "3b24af37.62d288",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
- "comments": "",
- "x": 1695.8572082519531,
- "y": 719.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "a94779d8.6d99c",
- "type": "set",
- "name": "set close payload list",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
- "comments": "",
- "x": 1701.8572082519531,
- "y": 784.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "349803e.db927fc",
- "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": 1731.8572082519531,
- "y": 910.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "8af1d548.36ba08",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2097.857177734375,
- "y": 932.1427612304688,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "c7e4d145.feb3b8"
- ]
- ]
- },
- {
- "id": "91f543dc.e9a0c8",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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": 2462.857177734375,
- "y": 1032.1427612304688,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "6b5d2c36.36d07c",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2102.857177734375,
- "y": 1031.1427612304688,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "c7e4d145.feb3b8"
- ]
- ]
- },
- {
- "id": "c7e4d145.feb3b8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2260.857177734375,
- "y": 976.1427612304688,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "6effc421.de541c",
- "91f543dc.e9a0c8"
- ]
- ]
- },
- {
- "id": "6effc421.de541c",
- "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": 2476.857177734375,
- "y": 923.1427612304688,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "4312cb34.d1fec4",
- "type": "switchNode",
- "name": "switch capability action assign",
- "xml": "<switch test=\"`$ss.capability-action == 'assign'`\">",
- "comments": "",
- "outputs": 1,
- "x": 786.3809204101562,
- "y": 1614.7618560791016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "c588e672.9457"
- ]
- ]
- },
- {
- "id": "c588e672.9457",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1041.0951538085938,
- "y": 1614.7618560791016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "96d8122d.bb415"
- ]
- ]
- },
- {
- "id": "f5ff6d86.dbc2a8",
- "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": 1943.8572082519531,
- "y": 1212.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "9f1d9384.e4cf38"
- ]
- ]
- },
- {
- "id": "e8412a7e.3847d8",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2146.857208251953,
- "y": 1430.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "32086d42.08bf12"
- ]
- ]
- },
- {
- "id": "32086d42.08bf12",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2356.857208251953,
- "y": 1430.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "8dd8a7af.a18a58"
- ]
- ]
- },
- {
- "id": "8dd8a7af.a18a58",
- "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": 2553.357208251953,
- "y": 1431.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "7ce3d216.f2e854",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.httpResponse\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1712.8572082519531,
- "y": 1115.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "174f706f.eb1c4",
- "type": "for",
- "name": "for response elements",
- "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1705.8572082519531,
- "y": 1211.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "f5ff6d86.dbc2a8"
- ]
- ]
- },
- {
- "id": "9f1d9384.e4cf38",
- "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": 2247.857208251953,
- "y": 1212.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "ce97b583.de0eb"
- ]
- ]
- },
- {
- "id": "ce97b583.de0eb",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2487.857208251953,
- "y": 1211.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "2768322c.982d36"
- ]
- ]
- },
- {
- "id": "edf18693.d94aa8",
- "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": 2154.857208251953,
- "y": 1282.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "ddf9d245.932de",
- "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": 2169.857208251953,
- "y": 1365.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "2768322c.982d36",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1938.8572082519531,
- "y": 1282.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "edf18693.d94aa8",
- "ddf9d245.932de",
- "e8412a7e.3847d8"
- ]
- ]
- },
- {
- "id": "a7c641d6.1516b",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1488.8572082519531,
- "y": 583.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "bc87beaf.bad8a",
- "9750b026.40e79",
- "3b24af37.62d288",
- "a94779d8.6d99c",
- "bc633e83.bdfe98",
- "7ce3d216.f2e854",
- "dcc81210.7b3bb",
- "174f706f.eb1c4",
- "349803e.db927fc",
- "f9afd12e.2d3128"
- ]
- ]
- },
- {
- "id": "dcc81210.7b3bb",
- "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": 1710.8572082519531,
- "y": 1165.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "fff738e5.4d0ce",
- "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": 1627.5236206054688,
- "y": 2099.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "16446b33.aaf505",
- "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": 1735.0236206054688,
- "y": 1915.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "95c09049.cf0398"
- ]
- ]
- },
- {
- "id": "95c09049.cf0398",
- "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;,'`\"/>\n<parameter name=\"`tmp.gen-name[$tmp.gen-name_length].element[$j].name`\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name`\"/>\n<parameter name=\"`tmp.gen-name[$tmp.gen-name_length].element[$j].value`\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`\"/>\n<parameter name=\"`tmp.gen-name[$tmp.gen-name_length].element_length`\" value='`$j + 1`' />",
- "comments": "",
- "x": 1987.5236206054688,
- "y": 1915.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "278f5611.2443c2",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />\n",
- "comments": "",
- "x": 1715.9520874023438,
- "y": 1854.3808135986328,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "b557bbbd.9b02a",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />\n<parameter name='tmp.gen-name_length' value='`$tmp.gen-name_length + 1`' />",
- "comments": "",
- "x": 1717.5236206054688,
- "y": 1971.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "88f11c7a.f31688",
- "type": "set",
- "name": "set close payload list",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
- "comments": "",
- "x": 1602.5236206054688,
- "y": 2056.6663360595703,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "f398ae72.bb9338",
- "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": 1628.5236206054688,
- "y": 2150.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "7136f5d4.61b024",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1969.523681640625,
- "y": 2184.66650390625,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "cce60393.cfd56"
- ]
- ]
- },
- {
- "id": "37abde73.8b06c2",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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": 2334.523681640625,
- "y": 2284.66650390625,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "ef775b29.4a7b",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1974.523681640625,
- "y": 2283.66650390625,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "cce60393.cfd56"
- ]
- ]
- },
- {
- "id": "cce60393.cfd56",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2132.523681640625,
- "y": 2228.66650390625,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "546fd473.2cd5dc",
- "37abde73.8b06c2"
- ]
- ]
- },
- {
- "id": "546fd473.2cd5dc",
- "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": 2348.523681640625,
- "y": 2175.66650390625,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "e2624cc8.4eb57",
- "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": 1848.5236206054688,
- "y": 2407.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "be8a0258.a3d64"
- ]
- ]
- },
- {
- "id": "5380bfed.f4864",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2051.5236206054688,
- "y": 2625.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "94a6c10b.d1c6a"
- ]
- ]
- },
- {
- "id": "94a6c10b.d1c6a",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2261.5236206054688,
- "y": 2625.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "7afdb21d.b59cb4"
- ]
- ]
- },
- {
- "id": "7afdb21d.b59cb4",
- "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": 2458.0236206054688,
- "y": 2626.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "6d5e56ed.17d75",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.httpResponse\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1609.5236206054688,
- "y": 2309.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "a133146c.f8d1c",
- "type": "for",
- "name": "for response elements",
- "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1601.5236206054688,
- "y": 2406.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "e2624cc8.4eb57"
- ]
- ]
- },
- {
- "id": "be8a0258.a3d64",
- "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": 2152.5236206054688,
- "y": 2407.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "663752cc.bb14ac"
- ]
- ]
- },
- {
- "id": "663752cc.bb14ac",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2392.5236206054688,
- "y": 2406.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "5dfb8377.41af4c"
- ]
- ]
- },
- {
- "id": "f365dac0.f6fd5",
- "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": 2059.5236206054688,
- "y": 2477.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "f61ff7c0.095698",
- "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": 2074.5236206054688,
- "y": 2560.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "5dfb8377.41af4c",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1843.5236206054688,
- "y": 2477.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "f365dac0.f6fd5",
- "f61ff7c0.095698",
- "5380bfed.f4864"
- ]
- ]
- },
- {
- "id": "4849f457.b71524",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1512.6666870117188,
- "y": 1833.9520416259766,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "278f5611.2443c2",
- "16446b33.aaf505",
- "b557bbbd.9b02a"
- ]
- ]
- },
- {
- "id": "a0bc5db0.876ac8",
- "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": 1608.5236206054688,
- "y": 2360.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "6e26ff1a.e07b88",
- "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": 1936.8572082519531,
- "y": 656.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "983c7546.c67c28"
- ]
- ]
- },
- {
- "id": "983c7546.c67c28",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2120.857208251953,
- "y": 656.1427688598633,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "11ec24e5.5f86b3"
- ]
- ]
- },
- {
- "id": "d8da45ad.01a8a",
- "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": 1848.4762573242188,
- "y": 4070.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "a3bde9b.3b85798",
- "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": 1136.9761352539062,
- "y": 3682.3333892822266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "4c84b197.b55718"
- ]
- ]
- },
- {
- "id": "4c84b197.b55718",
- "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": 1416.9761352539062,
- "y": 3682.3333892822266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "8fbf4fc0.ccf628"
- ]
- ]
- },
- {
- "id": "8fbf4fc0.ccf628",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1625.9762573242188,
- "y": 3682.3333892822266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "37468c59.dd2414"
- ]
- ]
- },
- {
- "id": "97197bdb.a2cad8",
- "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": 1817.9762573242188,
- "y": 3871.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "3908bfeb.e84f"
- ]
- ]
- },
- {
- "id": "28d4f278.d4fa26",
- "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;,'`\"/>\n<parameter name=\"`tmp.gen-name[0].element[$j].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].resource-resolution-data.resource-key[$j].name`\"/>\n<parameter name=\"`tmp.gen-name[0].element[$j].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[$i].resource-resolution-data.resource-key[$j].value`\"/>\n<parameter name=\"`tmp.gen-name[0].element_length`\" value='`$j + 1`' />",
- "comments": "",
- "x": 2420.4762573242188,
- "y": 3869.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "73a75422.d8850c",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />\n<parameter name='tmp.gen-name_length' value='1' />",
- "comments": "",
- "x": 1815.4762573242188,
- "y": 3794.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "46fb189c.966838",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />",
- "comments": "",
- "x": 1815.4762573242188,
- "y": 3933.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "be439e05.fe7ff8",
- "type": "set",
- "name": "set close payload list",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
- "comments": "",
- "x": 1821.4762573242188,
- "y": 3998.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "a84918b5.b82848",
- "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": 1851.4762573242188,
- "y": 4124.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "e6db3fc2.418c7",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2181.476318359375,
- "y": 4146.3330078125,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "c89f9697.3bcd9"
- ]
- ]
- },
- {
- "id": "54902e1f.a23738",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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": 2546.476318359375,
- "y": 4246.3330078125,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "add1de2.24bbda",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2186.476318359375,
- "y": 4245.3330078125,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "c89f9697.3bcd9"
- ]
- ]
- },
- {
- "id": "c89f9697.3bcd9",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2344.476318359375,
- "y": 4190.3330078125,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "ed1d207b.66697",
- "54902e1f.a23738"
- ]
- ]
- },
- {
- "id": "ed1d207b.66697",
- "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": 2560.476318359375,
- "y": 4137.3330078125,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "712165ae.c8b134",
- "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": 2063.4762573242188,
- "y": 4426.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "a8831bf.0add2e8"
- ]
- ]
- },
- {
- "id": "c4d874bf.c84648",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2266.4762573242188,
- "y": 4644.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "6c8538a0.f116f8"
- ]
- ]
- },
- {
- "id": "6c8538a0.f116f8",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2476.4762573242188,
- "y": 4644.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "4ab33b35.a84a54"
- ]
- ]
- },
- {
- "id": "4ab33b35.a84a54",
- "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": 2672.9762573242188,
- "y": 4645.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "2bae3b0b.919654",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.httpResponse\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1832.4762573242188,
- "y": 4329.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "bd0c0aec.c12ba",
- "type": "for",
- "name": "for response elements",
- "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1825.4762573242188,
- "y": 4425.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "712165ae.c8b134"
- ]
- ]
- },
- {
- "id": "a8831bf.0add2e8",
- "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": 2367.4762573242188,
- "y": 4426.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "b4bafecc.dbd1d8"
- ]
- ]
- },
- {
- "id": "b4bafecc.dbd1d8",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2607.4762573242188,
- "y": 4425.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "37f99340.6371ac"
- ]
- ]
- },
- {
- "id": "c6f61ac6.058e2",
- "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": 2274.4762573242188,
- "y": 4496.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "7b6510ed.263a5",
- "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": 2289.4762573242188,
- "y": 4579.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "37f99340.6371ac",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2058.4762573242188,
- "y": 4496.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "c6f61ac6.058e2",
- "7b6510ed.263a5",
- "c4d874bf.c84648"
- ]
- ]
- },
- {
- "id": "37468c59.dd2414",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1608.4762573242188,
- "y": 3797.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "73a75422.d8850c",
- "97197bdb.a2cad8",
- "46fb189c.966838",
- "be439e05.fe7ff8",
- "d8da45ad.01a8a",
- "2bae3b0b.919654",
- "6650d50f.f2a194",
- "bd0c0aec.c12ba",
- "a84918b5.b82848",
- "99585b38.25a06"
- ]
- ]
- },
- {
- "id": "6650d50f.f2a194",
- "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": 1830.4762573242188,
- "y": 4379.332901000977,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "3908bfeb.e84f",
- "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": 2056.4762573242188,
- "y": 3870.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "5a34ee8b.f9c61"
- ]
- ]
- },
- {
- "id": "5a34ee8b.f9c61",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2240.4762573242188,
- "y": 3870.3329010009766,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "28d4f278.d4fa26"
- ]
- ]
- },
- {
- "id": "f841aff3.13a07",
- "type": "switchNode",
- "name": "switch capability-type. vnf",
- "xml": "<switch test=\"`$ss.capability-type == 'vnf'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 372.1428527832031,
- "y": 300.99999237060547,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "58dd98ce.eb99f"
- ]
- ]
- },
- {
- "id": "58dd98ce.eb99f",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 575.5714111328125,
- "y": 300.2857208251953,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "7b0e8ad8.f3802c"
- ]
- ]
- },
- {
- "id": "571f0673.b8518",
- "type": "switchNode",
- "name": "switch capability-type vf-module",
- "xml": "<switch test=\"`$ss.capability-type == 'vf-module'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 501.4761962890625,
- "y": 3464.3333282470703,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "48a38bbd.e8a77c"
- ]
- ]
- },
- {
- "id": "48a38bbd.e8a77c",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 720.4761962890625,
- "y": 3465.3333892822266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "750bfd10.899924"
- ]
- ]
- },
- {
- "id": "a6e4bc7d.20b678",
- "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": 1613.5236206054688,
- "y": 2586.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "ffc03440.e917d"
- ]
- ]
- },
- {
- "id": "ffc03440.e917d",
- "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": 1739.1902465820312,
- "y": 2717.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "1af41882.7a6b4f"
- ]
- ]
- },
- {
- "id": "1af41882.7a6b4f",
- "type": "failure",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2001.1902465820312,
- "y": 2773.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "fcd660c4.530c58"
- ]
- ]
- },
- {
- "id": "fcd660c4.530c58",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2217.1902465820312,
- "y": 2773.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "236c01c7.bf3206",
- "bd4596a.19984e8"
- ]
- ]
- },
- {
- "id": "236c01c7.bf3206",
- "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": 2437.1902465820312,
- "y": 2711.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "bd4596a.19984e8",
- "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": 2447.1902465820312,
- "y": 2819.6663970947266,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "4bd2a625.600b48",
- "type": "switchNode",
- "name": "switch capability action unassign",
- "xml": "<switch test=\"`$ss.capability-action == 'unassign'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 829.7142333984375,
- "y": 391.1428680419922,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "f5867b52.e6b6c"
- ]
- ]
- },
- {
- "id": "f5867b52.e6b6c",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1115.4285278320312,
- "y": 389.7142791748047,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "f5e94169.5fc978"
- ]
- ]
- },
- {
- "id": "7b0e8ad8.f3802c",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 579.7142944335938,
- "y": 365.42860412597656,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "4bd2a625.600b48",
- "4312cb34.d1fec4"
- ]
- ]
- },
- {
- "id": "acaab3ca.702c88",
- "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": 1054.0715942382812,
- "y": 1777.166763305664,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "ae04112f.bd2d08"
- ]
- ]
- },
- {
- "id": "ae04112f.bd2d08",
- "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": 1295.6786499023438,
- "y": 1777.166763305664,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "1e81a1ec.bd42f6"
- ]
- ]
- },
- {
- "id": "1e81a1ec.bd42f6",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1476.3930053710938,
- "y": 1777.166763305664,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "4849f457.b71524"
- ]
- ]
- },
- {
- "id": "d951a688.ea8908",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1208.8572387695312,
- "y": 3593.5714263916016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "a3bde9b.3b85798"
- ]
- ]
- },
- {
- "id": "90ab2ac1.82262",
- "type": "switchNode",
- "name": "switch capability action unassign",
- "xml": "<switch test=\"`$ss.capability-action == 'unassign'`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 967.8569946289062,
- "y": 3593.5714263916016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "d951a688.ea8908"
- ]
- ]
- },
- {
- "id": "750bfd10.899924",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 724.8571166992188,
- "y": 3530.5714263916016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "90ab2ac1.82262",
- "876d4c7d.f86a88"
- ]
- ]
- },
- {
- "id": "876d4c7d.f86a88",
- "type": "switchNode",
- "name": "switch capability action assign",
- "xml": "<switch test=\"`$ss.capability-action == 'assign'`\">",
- "comments": "",
- "outputs": 1,
- "x": 944.8096313476562,
- "y": 5201.334121704102,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "97b1b31a.f402b"
- ]
- ]
- },
- {
- "id": "97b1b31a.f402b",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1173.8096313476562,
- "y": 5201.334121704102,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "bf89c636.30aac8"
- ]
- ]
- },
- {
- "id": "c54c6f8e.b8ff58",
- "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.3095092773438,
- "y": 5671.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "b361600c.eb049",
- "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": 2040.5595092773438,
- "y": 5479.334121704102,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "b5cdeaa7.6f11d"
- ]
- ]
- },
- {
- "id": "b5cdeaa7.6f11d",
- "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;,'`\"/>\n<parameter name=\"`tmp.gen-name[$tmp.gen-name_length].element[$j].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].resource-resolution-data.resource-key[$j].name`\"/>\n<parameter name=\"`tmp.gen-name[$tmp.gen-name_length].element[$j].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[$i].resource-resolution-data.resource-key[$j].value`\"/>\n<parameter name=\"`tmp.gen-name[$tmp.gen-name_length].element_length`\" value='`$j + 1`' />",
- "comments": "",
- "x": 2297.0595092773438,
- "y": 5479.334121704102,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "8bb2899.7eabb78",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />",
- "comments": "",
- "x": 2023.0595092773438,
- "y": 5425.334121704102,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "feb610d7.764ab",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />\n<parameter name='tmp.gen-name_length' value='`$tmp.gen-name_length + 1`' />",
- "comments": "",
- "x": 2029.0595092773438,
- "y": 5541.334121704102,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "aba737c8.b673a",
- "type": "set",
- "name": "set close payload list",
- "xml": "<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />",
- "comments": "",
- "x": 1692.3095092773438,
- "y": 5620.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "e94ef6dd.a37908",
- "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.3095092773438,
- "y": 5725.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "1ec3d3c3.85586c",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2028.3095703125,
- "y": 5739.58447265625,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "21b0f329.fc401c"
- ]
- ]
- },
- {
- "id": "7a611dc7.f16d14",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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": 2393.3095703125,
- "y": 5839.58447265625,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "80386656.f0d7d",
- "type": "failure",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2033.3095703125,
- "y": 5838.58447265625,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "21b0f329.fc401c"
- ]
- ]
- },
- {
- "id": "21b0f329.fc401c",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2191.3095703125,
- "y": 5783.58447265625,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "7a611dc7.f16d14",
- "399dfaf7.a00f2e"
- ]
- ]
- },
- {
- "id": "399dfaf7.a00f2e",
- "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": 2407.3095703125,
- "y": 5730.58447265625,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "8744b72d.e0422",
- "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": 2003.3095092773438,
- "y": 6315.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "26376a44.3bf3e6"
- ]
- ]
- },
- {
- "id": "c8297614.5665c8",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2174.3095092773438,
- "y": 6473.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "5c1866b1.7ab59"
- ]
- ]
- },
- {
- "id": "5c1866b1.7ab59",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2378.3095092773438,
- "y": 6471.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "8068dba1.b90f38"
- ]
- ]
- },
- {
- "id": "8068dba1.b90f38",
- "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": 2572.8095092773438,
- "y": 6404.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "cbc78ec6.7ff248",
- "type": "execute",
- "name": "execute jsonStringToCtx",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"jsonStringToCtx\">\n\t<parameter name=\"source\" value=\"nameGenResponse.httpResponse\" />\n\t<parameter name=\"outputPath\" value=\"jsonContextPrefix\" />\n\t<parameter name=\"isEscaped\" value=\"false\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1706.3095092773438,
- "y": 5838.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "1e5d91b7.f1cac6",
- "type": "for",
- "name": "for response elements",
- "xml": "<for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1735.3095092773438,
- "y": 6316.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "8744b72d.e0422"
- ]
- ]
- },
- {
- "id": "26376a44.3bf3e6",
- "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": 2287.3095092773438,
- "y": 6319.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "6638dc1c.c0f774"
- ]
- ]
- },
- {
- "id": "6638dc1c.c0f774",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2515.3095092773438,
- "y": 6316.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "49c6c4cb.ae35f4"
- ]
- ]
- },
- {
- "id": "614640d1.2410b",
- "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": 2182.3095092773438,
- "y": 6369.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "f159cc8b.de17d",
- "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": 2195.3095092773438,
- "y": 6428.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "49c6c4cb.ae35f4",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1942.3095092773438,
- "y": 6395.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "c8297614.5665c8",
- "614640d1.2410b",
- "f159cc8b.de17d"
- ]
- ]
- },
- {
- "id": "80097c84.1bbc38",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1816.0595092773438,
- "y": 5428.334121704102,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "b361600c.eb049",
- "8bb2899.7eabb78",
- "feb610d7.764ab"
- ]
- ]
- },
- {
- "id": "d085846f.259da",
- "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": 1708.3095092773438,
- "y": 5890.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "2d4ee971.9f5306",
- "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": 1730.3095092773438,
- "y": 6538.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "968d7f58.752fa8"
- ]
- ]
- },
- {
- "id": "968d7f58.752fa8",
- "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": 2036.3095092773438,
- "y": 6536.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "b316390f.c223e"
- ]
- ]
- },
- {
- "id": "b316390f.c223e",
- "type": "failure",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2274.3095092773438,
- "y": 6536.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "523d1dc3.a4cfdc"
- ]
- ]
- },
- {
- "id": "523d1dc3.a4cfdc",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2436.3095092773438,
- "y": 6530.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "196036c5.88ba19",
- "a33c55dc.d6268"
- ]
- ]
- },
- {
- "id": "196036c5.88ba19",
- "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": 2660.3095092773438,
- "y": 6496.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "a33c55dc.d6268",
- "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": 2648.3095092773438,
- "y": 6596.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "af0954c0.0ed2a8",
- "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": 1718.3095092773438,
- "y": 5996.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "fcdfe07c.36982"
- ]
- ]
- },
- {
- "id": "fcdfe07c.36982",
- "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": 1971.8095092773438,
- "y": 5997.584854125977,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "ecb5c713.928a5"
- ]
- ]
- },
- {
- "id": "ecb5c713.928a5",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2164.8095092773438,
- "y": 5998.084732055664,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "a271047.93a13f8"
- ]
- ]
- },
- {
- "id": "a271047.93a13f8",
- "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": 1806.3095092773438,
- "y": 6112.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "a54bbb54.f3ff88"
- ]
- ]
- },
- {
- "id": "a54bbb54.f3ff88",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2078.3095092773438,
- "y": 6108.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "7a50c097.1fd508",
- "bae1a795.c95818",
- "6cb03d6a.b426e4",
- "fdef5f45.af46b8",
- "d977a0bb.d25038",
- "d4543380.8a8648",
- "80d478e2.ca4f3"
- ]
- ]
- },
- {
- "id": "bae1a795.c95818",
- "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": 2516.3095092773438,
- "y": 5984.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "e21bbc33.3bd9b8"
- ]
- ]
- },
- {
- "id": "6cb03d6a.b426e4",
- "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": 2484.3095092773438,
- "y": 6042.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "26752abf.e0f87e"
- ]
- ]
- },
- {
- "id": "fdef5f45.af46b8",
- "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": 2482.3095092773438,
- "y": 6104.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "99545f4f.9552"
- ]
- ]
- },
- {
- "id": "d977a0bb.d25038",
- "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": 2490.3095092773438,
- "y": 6166.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "d332c105.d01b6"
- ]
- ]
- },
- {
- "id": "7a50c097.1fd508",
- "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": 2506.3095092773438,
- "y": 5912.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "343730f6.0bde"
- ]
- ]
- },
- {
- "id": "343730f6.0bde",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2710.3095092773438,
- "y": 5908.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "10dcd678.f75eb2"
- ]
- ]
- },
- {
- "id": "e21bbc33.3bd9b8",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2710.3095092773438,
- "y": 5982.834487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "ba46d15f.84fe98"
- ]
- ]
- },
- {
- "id": "26752abf.e0f87e",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2716.3095092773438,
- "y": 6038.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "ec7f1ff2.18d6b8"
- ]
- ]
- },
- {
- "id": "99545f4f.9552",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2720.3095092773438,
- "y": 6096.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "9cb30ad2.947f6"
- ]
- ]
- },
- {
- "id": "d332c105.d01b6",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2726.3095092773438,
- "y": 6162.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "78957203.1f8534"
- ]
- ]
- },
- {
- "id": "10dcd678.f75eb2",
- "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": 2874.3095092773438,
- "y": 5910.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "ba46d15f.84fe98",
- "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": 2920.3095092773438,
- "y": 5976.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "ec7f1ff2.18d6b8",
- "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": 2964.3095092773438,
- "y": 6040.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "9cb30ad2.947f6",
- "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": 2940.3095092773438,
- "y": 6094.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "78957203.1f8534",
- "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": 2886.3095092773438,
- "y": 6160.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "72d6e55e.c52994",
- "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": 2892.3095092773438,
- "y": 6216.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "f9bda76a.6618c8",
- "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": 2910.3095092773438,
- "y": 6272.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "d4543380.8a8648",
- "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": 2490.3095092773438,
- "y": 6218.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "ebf87fd3.da0e28"
- ]
- ]
- },
- {
- "id": "80d478e2.ca4f3",
- "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": 2488.3095092773438,
- "y": 6272.584487915039,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "e0094cf6.191bc"
- ]
- ]
- },
- {
- "id": "ebf87fd3.da0e28",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2724.3095092773438,
- "y": 6216.584487915038,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "72d6e55e.c52994"
- ]
- ]
- },
- {
- "id": "e0094cf6.191bc",
- "type": "success",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2718.3095092773438,
- "y": 6270.584487915038,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "f9bda76a.6618c8"
- ]
- ]
- },
- {
- "id": "c88ce4fa.2e3558",
- "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": 1258.8571166992188,
- "y": 5374.571670532227,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "5a20be5b.b3a028"
- ]
- ]
- },
- {
- "id": "5a20be5b.b3a028",
- "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": 1538.8571166992188,
- "y": 5374.571670532227,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "deb0eb20.bf079"
- ]
- ]
- },
- {
- "id": "deb0eb20.bf079",
- "type": "not-found",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1747.8572387695312,
- "y": 5374.571670532227,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "80097c84.1bbc38"
- ]
- ]
- },
- {
- "id": "96d8122d.bb415",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 833.1071166992188,
- "y": 1717.5714263916016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "acaab3ca.702c88",
- "6764646d.7a6754",
- "e7afeea8.32592"
- ]
- ]
- },
- {
- "id": "6764646d.7a6754",
- "type": "set",
- "name": "set payload data",
- "xml": "<set>\n\t<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />\n\t<parameter name='tmp.gen-name_length' value='0' />",
- "comments": "",
- "x": 1040.8571166992188,
- "y": 1718.5714263916016,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "e7afeea8.32592",
- "type": "switchNode",
- "name": "switch tmp.naming-data-payload is null",
- "xml": "<switch test=\"`$tmp.naming-data-payload == ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 1088.8571166992188,
- "y": 1997.5714263916016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "b86e6a12.7ee33"
- ]
- ]
- },
- {
- "id": "b86e6a12.7ee33",
- "type": "not-found",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1325.8571166992188,
- "y": 1998.5714263916016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "6e3664a9.34079c"
- ]
- ]
- },
- {
- "id": "6e3664a9.34079c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1363.8571166992188,
- "y": 2056.5714263916016,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "88f11c7a.f31688",
- "fff738e5.4d0ce",
- "f398ae72.bb9338",
- "6d5e56ed.17d75",
- "a0bc5db0.876ac8",
- "a133146c.f8d1c",
- "a6e4bc7d.20b678",
- "93dc5615.04a418"
- ]
- ]
- },
- {
- "id": "bf89c636.30aac8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1009.8571166992188,
- "y": 5307.571426391602,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "86e86da4.4fe67",
- "c88ce4fa.2e3558",
- "b36f7e94.174be"
- ]
- ]
- },
- {
- "id": "86e86da4.4fe67",
- "type": "set",
- "name": "set set payload data",
- "xml": "<set>\n\t<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />\n\t<parameter name='tmp.gen-name_length' value='0' />",
- "comments": "",
- "x": 1246.8571166992188,
- "y": 5306.571426391602,
- "z": "b88526e.24a7ad8",
- "wires": []
- },
- {
- "id": "b36f7e94.174be",
- "type": "switchNode",
- "name": "switch tmp.naming-data-payload is null",
- "xml": "<switch test=\"`$tmp.naming-data-payload == ''`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 1289.1071472167969,
- "y": 5497.071548461914,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "1f8cfbc.8ebb904"
- ]
- ]
- },
- {
- "id": "1f8cfbc.8ebb904",
- "type": "not-found",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1522.857177734375,
- "y": 5496.821304321289,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "d5e5468.2a80438"
- ]
- ]
- },
- {
- "id": "d5e5468.2a80438",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1510.607177734375,
- "y": 5574.071670532227,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "aba737c8.b673a",
- "c54c6f8e.b8ff58",
- "e94ef6dd.a37908",
- "cbc78ec6.7ff248",
- "d085846f.259da",
- "af0954c0.0ed2a8",
- "1e5d91b7.f1cac6",
- "2d4ee971.9f5306",
- "d6d7c682.438ef8"
- ]
- ]
- },
- {
- "id": "2a352877.19cd9",
- "type": "execute",
- "name": "execute readProperties",
- "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": 375,
- "y": 176,
- "z": "b88526e.24a7ad8",
- "wires": [
- []
- ]
- },
- {
- "id": "d6d7c682.438ef8",
- "type": "execute",
- "name": "execute RestApiCallNode - POST gen-name",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > \n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />\n <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />\n <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name=\"responsePrefix\" value=\"nameGenResponse\" />\n\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1771,
- "y": 5787,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "1ec3d3c3.85586c",
- "80386656.f0d7d"
- ]
- ]
- },
- {
- "id": "93dc5615.04a418",
- "type": "execute",
- "name": "execute RestApiCallNode - POST gen-name",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > \n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />\n <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />\n <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='POST' />\n <parameter name=\"responsePrefix\" value=\"nameGenResponse\" />\n\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1674,
- "y": 2229,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "7136f5d4.61b024",
- "ef775b29.4a7b"
- ]
- ]
- },
- {
- "id": "99585b38.25a06",
- "type": "execute",
- "name": "execute RestApiCallNode - DELETE gen-name",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > \n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />\n <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />\n <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='DELETE' />\n <parameter name=\"responsePrefix\" value=\"nameGenResponse\" />\n\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1891,
- "y": 4194,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "e6db3fc2.418c7",
- "add1de2.24bbda"
- ]
- ]
- },
- {
- "id": "f9afd12e.2d3128",
- "type": "execute",
- "name": "execute RestApiCallNode - DELETE gen-name",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' > \n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />\n <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />\n <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='DELETE' />\n <parameter name=\"responsePrefix\" value=\"nameGenResponse\" />\n\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1784,
- "y": 979,
- "z": "b88526e.24a7ad8",
- "wires": [
- [
- "8af1d548.36ba08",
- "6b5d2c36.36d07c"
- ]
- ]
- },
- {
- "id": "63a7432d.46f304",
- "type": "comment",
- "name": "For Generate Name DG Capability ",
- "info": "Support Bulk assign and single delete\nAlso calls Naming gen mS for assign/un-assign\n\nAdded by Ajay Singh(as396y)",
- "comments": "",
- "x": 838,
- "y": 106,
- "z": "b88526e.24a7ad8",
- "wires": []
- }
-] \ No newline at end of file
+[{"id":"91f26dca.ac9c4","type":"dgstart","name":"DGSTART","outputs":1,"x":106.25,"y":51.25,"z":"c9c6dcde.41d85","wires":[["1bda17a5.c6c048"]]},{"id":"1bda17a5.c6c048","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":353.3928527832031,"y":52.24999237060547,"z":"c9c6dcde.41d85","wires":[["292efec8.453dc2"]]},{"id":"292efec8.453dc2","type":"method","name":"self-serve-generate-name","xml":"<method rpc='self-serve-generate-name' mode='sync'>\n","comments":"","outputs":1,"x":658.3928527832031,"y":52.24999237060547,"z":"c9c6dcde.41d85","wires":[["ac980349.2347b"]]},{"id":"ac980349.2347b","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":157.39285278320312,"y":138.24999237060547,"z":"c9c6dcde.41d85","wires":[["39dd3942.f3f2e6","68c384f0.bbb0cc","18a2910c.88df4f","5c034bcc.8eda94"]]},{"id":"46c4e380.58d32c","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":1723.1072082519531,"y":864.3927688598633,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"39dd3942.f3f2e6","type":"set","name":"set capability-name","xml":"<set>\n<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />\n","comments":"","x":356.3928527832031,"y":139.24999237060547,"z":"c9c6dcde.41d85","wires":[]},{"id":"68c384f0.bbb0cc","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":394.3928527832031,"y":204.24999237060547,"z":"c9c6dcde.41d85","wires":[["58275e50.5a6bb","6a870eac.1fa17"]]},{"id":"457c7626.794818","type":"for","name":"for vnf-parameters-data","xml":"<for silentFailure='true' 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":1156.8930053710938,"y":495.6785125732422,"z":"c9c6dcde.41d85","wires":[["c7836a50.3e2eb8"]]},{"id":"c7836a50.3e2eb8","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":1399.7500610351562,"y":495.6785125732422,"z":"c9c6dcde.41d85","wires":[["47107590.c9841c"]]},{"id":"47107590.c9841c","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1580.4644165039062,"y":495.6784973144531,"z":"c9c6dcde.41d85","wires":[["4a177c57.c7d9a4"]]},{"id":"56402926.20d0e8","type":"for","name":"for vnf-parameters-data","xml":"<for silentFailure='true' 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":1692.6072082519531,"y":665.3927688598633,"z":"c9c6dcde.41d85","wires":[["3c02c1aa.dfd2ae"]]},{"id":"58275e50.5a6bb","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":617.3928527832031,"y":172.24999237060547,"z":"c9c6dcde.41d85","wires":[["e693e7a7.2049b8"]]},{"id":"6a870eac.1fa17","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":626.3928527832031,"y":238.24999237060547,"z":"c9c6dcde.41d85","wires":[["e693e7a7.2049b8"]]},{"id":"e693e7a7.2049b8","type":"returnFailure","name":"return failure","xml":"<return 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":819.3928527832031,"y":172.24999237060547,"z":"c9c6dcde.41d85","wires":[]},{"id":"21514d15.8432f2","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":2295.107208251953,"y":663.3927688598633,"z":"c9c6dcde.41d85","wires":[]},{"id":"7ea8eb74.9a1844","type":"set","name":"set set payload data","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />","comments":"","x":1690.1073608398438,"y":591.2498626708984,"z":"c9c6dcde.41d85","wires":[]},{"id":"62a53e02.b6bef","type":"set","name":"set payload data","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />","comments":"","x":1690.1072082519531,"y":727.3927688598633,"z":"c9c6dcde.41d85","wires":[]},{"id":"501071a0.f9465","type":"set","name":"set close payload list","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />","comments":"","x":1696.1072082519531,"y":792.3927688598633,"z":"c9c6dcde.41d85","wires":[]},{"id":"3c7cd31f.bc21ac","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":1726.1072082519531,"y":918.3927688598633,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"bc62a761.8b89c8","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":1752.1072082519531,"y":975.3927688598633,"z":"c9c6dcde.41d85","wires":[["f9f1ad09.82e7c","925a853d.d6bd68"]]},{"id":"f9f1ad09.82e7c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2027.1072082519531,"y":925.3927688598633,"z":"c9c6dcde.41d85","wires":[["2126c189.7c306e"]]},{"id":"b20b8313.b1a3a","type":"returnFailure","name":"return failure","xml":"<return 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":2392.107208251953,"y":1025.3927688598633,"z":"c9c6dcde.41d85","wires":[]},{"id":"925a853d.d6bd68","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2032.1072082519531,"y":1024.3927688598633,"z":"c9c6dcde.41d85","wires":[["2126c189.7c306e"]]},{"id":"2126c189.7c306e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2190.107208251953,"y":969.3927688598633,"z":"c9c6dcde.41d85","wires":[["2f676742.c24308","b20b8313.b1a3a"]]},{"id":"2f676742.c24308","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":2406.107208251953,"y":916.3927688598633,"z":"c9c6dcde.41d85","wires":[]},{"id":"d55c90c5.dacc1","type":"switchNode","name":"switch capability action assign","xml":"<switch test=\"`$ss.capability-action == 'assign'`\">","comments":"","outputs":1,"x":780.6309204101562,"y":1623.0118560791016,"z":"c9c6dcde.41d85","wires":[["65407952.2ec6d8"]]},{"id":"65407952.2ec6d8","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1035.3451538085938,"y":1623.0118560791016,"z":"c9c6dcde.41d85","wires":[["a96283a9.3508a"]]},{"id":"5b1ee770.4f6638","type":"for","name":"for vnf-parameters-data","xml":"<for silentFailure='true' 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":1938.1072082519531,"y":1220.3927688598633,"z":"c9c6dcde.41d85","wires":[["30a2c23a.009fce"]]},{"id":"99294abd.54eda8","type":"switchNode","name":"switch capability-name","xml":"<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n","comments":"","outputs":1,"x":2141.107208251953,"y":1438.3927688598633,"z":"c9c6dcde.41d85","wires":[["a331a74b.402708"]]},{"id":"a331a74b.402708","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2351.107208251953,"y":1438.3927688598633,"z":"c9c6dcde.41d85","wires":[["dbdc2e6a.21d91"]]},{"id":"dbdc2e6a.21d91","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":2547.607208251953,"y":1439.3927688598633,"z":"c9c6dcde.41d85","wires":[]},{"id":"c4ae6d14.155da","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":1707.1072082519531,"y":1123.3927688598633,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"d08e8030.4482b","type":"for","name":"for response elements","xml":"<for silentFailure='true' index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n","comments":"","outputs":1,"x":1700.1072082519531,"y":1219.3927688598633,"z":"c9c6dcde.41d85","wires":[["5b1ee770.4f6638"]]},{"id":"30a2c23a.009fce","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":2242.107208251953,"y":1220.3927688598633,"z":"c9c6dcde.41d85","wires":[["cdc37125.7c00e"]]},{"id":"cdc37125.7c00e","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2482.107208251953,"y":1219.3927688598633,"z":"c9c6dcde.41d85","wires":[["6c00b87b.acaf88"]]},{"id":"29f2ebd9.94ebc4","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":2149.107208251953,"y":1290.3927688598633,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"d58a4926.7747b8","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":2164.107208251953,"y":1373.3927688598633,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"6c00b87b.acaf88","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1933.1072082519531,"y":1290.3927688598633,"z":"c9c6dcde.41d85","wires":[["29f2ebd9.94ebc4","d58a4926.7747b8","99294abd.54eda8"]]},{"id":"4a177c57.c7d9a4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1483.1072082519531,"y":591.3927688598633,"z":"c9c6dcde.41d85","wires":[["7ea8eb74.9a1844","56402926.20d0e8","62a53e02.b6bef","501071a0.f9465","46c4e380.58d32c","bc62a761.8b89c8","c4ae6d14.155da","db17c61.0987c38","d08e8030.4482b","3c7cd31f.bc21ac"]]},{"id":"db17c61.0987c38","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":1705.1072082519531,"y":1173.3927688598633,"z":"c9c6dcde.41d85","wires":[]},{"id":"c41efc01.f36c7","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.7736206054688,"y":2107.9163970947266,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"d9ae653.af05298","type":"for","name":"for vnf-parameters-data","xml":"<for silentFailure='true' 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":1729.2736206054688,"y":1923.9163970947266,"z":"c9c6dcde.41d85","wires":[["fd156aa0.1eb258"]]},{"id":"fd156aa0.1eb258","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":1981.7736206054688,"y":1923.9163970947266,"z":"c9c6dcde.41d85","wires":[]},{"id":"89988739.f5dda8","type":"set","name":"set payload data","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />","comments":"","x":1710.2020874023438,"y":1862.6308135986328,"z":"c9c6dcde.41d85","wires":[]},{"id":"9f3d5dde.80188","type":"set","name":"set payload data","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />","comments":"","x":1711.7736206054688,"y":1979.9163970947266,"z":"c9c6dcde.41d85","wires":[]},{"id":"bf5f9c30.42446","type":"set","name":"set close payload list","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />","comments":"","x":1596.7736206054688,"y":2064.9163360595703,"z":"c9c6dcde.41d85","wires":[]},{"id":"92f1e414.9e3a88","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":1622.7736206054688,"y":2158.9163970947266,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"15f1977c.1c76a9","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":1655.7736206054688,"y":2215.9163970947266,"z":"c9c6dcde.41d85","wires":[["86815413.bd5f58","8dfe1fff.6cbff"]]},{"id":"86815413.bd5f58","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1930.7736206054688,"y":2165.9163970947266,"z":"c9c6dcde.41d85","wires":[["b783db76.998138"]]},{"id":"1494a0da.e4c6df","type":"returnFailure","name":"return failure","xml":"<return 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":2295.7736206054688,"y":2265.9163970947266,"z":"c9c6dcde.41d85","wires":[]},{"id":"8dfe1fff.6cbff","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1935.7736206054688,"y":2264.9163970947266,"z":"c9c6dcde.41d85","wires":[["b783db76.998138"]]},{"id":"b783db76.998138","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2093.7736206054688,"y":2209.9163970947266,"z":"c9c6dcde.41d85","wires":[["2a77969.89b206a","1494a0da.e4c6df"]]},{"id":"2a77969.89b206a","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":2309.7736206054688,"y":2156.9163970947266,"z":"c9c6dcde.41d85","wires":[]},{"id":"8b9f2b81.4bef68","type":"for","name":"for vnf-parameters-data","xml":"<for silentFailure='true' 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":1842.7736206054688,"y":2415.9163970947266,"z":"c9c6dcde.41d85","wires":[["4dee9bb0.c3a3a4"]]},{"id":"a88963c8.df0d4","type":"switchNode","name":"switch capability-name","xml":"<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n","comments":"","outputs":1,"x":2045.7736206054688,"y":2633.9163970947266,"z":"c9c6dcde.41d85","wires":[["e9f43798.dc5828"]]},{"id":"e9f43798.dc5828","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2255.7736206054688,"y":2633.9163970947266,"z":"c9c6dcde.41d85","wires":[["9083cf6a.28206"]]},{"id":"9083cf6a.28206","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":2452.2736206054688,"y":2634.9163970947266,"z":"c9c6dcde.41d85","wires":[]},{"id":"28e168fc.ed5c88","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":1603.7736206054688,"y":2317.9163970947266,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"a70fcc7d.91d0f","type":"for","name":"for response elements","xml":"<for silentFailure='true' index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n","comments":"","outputs":1,"x":1595.7736206054688,"y":2414.9163970947266,"z":"c9c6dcde.41d85","wires":[["8b9f2b81.4bef68"]]},{"id":"4dee9bb0.c3a3a4","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":2146.7736206054688,"y":2415.9163970947266,"z":"c9c6dcde.41d85","wires":[["129810f5.f7ddff"]]},{"id":"129810f5.f7ddff","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2386.7736206054688,"y":2414.9163970947266,"z":"c9c6dcde.41d85","wires":[["835ad2df.d212c"]]},{"id":"b84b5ac.f4e9ba8","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":2053.7736206054688,"y":2485.9163970947266,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"fa8e43fb.1de72","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":2068.7736206054688,"y":2568.9163970947266,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"835ad2df.d212c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1837.7736206054688,"y":2485.9163970947266,"z":"c9c6dcde.41d85","wires":[["b84b5ac.f4e9ba8","fa8e43fb.1de72","a88963c8.df0d4"]]},{"id":"d168ef70.b2079","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1506.9166870117188,"y":1842.2020416259766,"z":"c9c6dcde.41d85","wires":[["89988739.f5dda8","d9ae653.af05298","9f3d5dde.80188"]]},{"id":"55fa602e.5dd92","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":1602.7736206054688,"y":2368.9163970947266,"z":"c9c6dcde.41d85","wires":[]},{"id":"3c02c1aa.dfd2ae","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":1931.1072082519531,"y":664.3927688598633,"z":"c9c6dcde.41d85","wires":[["bd3cd34f.ff9d6"]]},{"id":"bd3cd34f.ff9d6","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2115.107208251953,"y":664.3927688598633,"z":"c9c6dcde.41d85","wires":[["21514d15.8432f2"]]},{"id":"ed49961e.6f6b28","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":1842.7262573242188,"y":4078.5829010009766,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"a17ea6d0.dff598","type":"for","name":"for vnf-parameters-data","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-parameters.param_length`' >\n","comments":"","outputs":1,"x":1131.2261352539062,"y":3690.5833892822266,"z":"c9c6dcde.41d85","wires":[["b1a24608.2ae148"]]},{"id":"b1a24608.2ae148","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":1411.2261352539062,"y":3690.5833892822266,"z":"c9c6dcde.41d85","wires":[["b7cb70dd.35eda"]]},{"id":"b7cb70dd.35eda","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1620.2262573242188,"y":3690.5833892822266,"z":"c9c6dcde.41d85","wires":[["af2ad8ba.c89658"]]},{"id":"8ba20919.707708","type":"for","name":"for vf-module-parameters","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-parameters.param[$i].resource-resolution-data.resource-key_length`' >\n","comments":"","outputs":1,"x":1812.2262573242188,"y":3879.5829010009766,"z":"c9c6dcde.41d85","wires":[["5f633bc0.249c44"]]},{"id":"5006a8fb.02d318","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":2414.7262573242188,"y":3877.5829010009766,"z":"c9c6dcde.41d85","wires":[]},{"id":"85a65d81.320ba","type":"set","name":"set set payload data","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />","comments":"","x":1809.7262573242188,"y":3802.5829010009766,"z":"c9c6dcde.41d85","wires":[]},{"id":"46655424.de5cdc","type":"set","name":"set payload data","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />","comments":"","x":1809.7262573242188,"y":3941.5829010009766,"z":"c9c6dcde.41d85","wires":[]},{"id":"696c7b.a22a9384","type":"set","name":"set close payload list","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />","comments":"","x":1815.7262573242188,"y":4006.5829010009766,"z":"c9c6dcde.41d85","wires":[]},{"id":"df7b34c.8d94cc8","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":1845.7262573242188,"y":4132.582901000977,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"192a2029.ecaaa","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":1871.7262573242188,"y":4189.582901000977,"z":"c9c6dcde.41d85","wires":[["5046888d.563f18","f8b1268d.a3f1a8"]]},{"id":"5046888d.563f18","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2146.7262573242188,"y":4139.582901000977,"z":"c9c6dcde.41d85","wires":[["c1fcad64.eb10e"]]},{"id":"89fcb555.c44fd8","type":"returnFailure","name":"return failure","xml":"<return 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":2511.7262573242188,"y":4239.582901000977,"z":"c9c6dcde.41d85","wires":[]},{"id":"f8b1268d.a3f1a8","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2151.7262573242188,"y":4238.582901000977,"z":"c9c6dcde.41d85","wires":[["c1fcad64.eb10e"]]},{"id":"c1fcad64.eb10e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2309.7262573242188,"y":4183.582901000977,"z":"c9c6dcde.41d85","wires":[["28480540.09300a","89fcb555.c44fd8"]]},{"id":"28480540.09300a","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":2525.7262573242188,"y":4130.582901000977,"z":"c9c6dcde.41d85","wires":[]},{"id":"62f307f0.d84e28","type":"for","name":"for vf-module-parameters","xml":"<for silentFailure='true' 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":2057.7262573242188,"y":4434.582901000977,"z":"c9c6dcde.41d85","wires":[["f0f5e682.52a068"]]},{"id":"429e13ea.1bbcfc","type":"switchNode","name":"switch capability-name","xml":"<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n","comments":"","outputs":1,"x":2260.7262573242188,"y":4652.582901000977,"z":"c9c6dcde.41d85","wires":[["fefbf8b6.b9a878"]]},{"id":"fefbf8b6.b9a878","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2470.7262573242188,"y":4652.582901000977,"z":"c9c6dcde.41d85","wires":[["e8467ba7.dbdef8"]]},{"id":"e8467ba7.dbdef8","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":2667.2262573242188,"y":4653.582901000977,"z":"c9c6dcde.41d85","wires":[]},{"id":"c9ad1ab8.46cb68","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":1826.7262573242188,"y":4337.582901000977,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"f7d21eb0.896ba","type":"for","name":"for response elements","xml":"<for silentFailure='true' index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n","comments":"","outputs":1,"x":1819.7262573242188,"y":4433.582901000977,"z":"c9c6dcde.41d85","wires":[["62f307f0.d84e28"]]},{"id":"f0f5e682.52a068","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":2361.7262573242188,"y":4434.582901000977,"z":"c9c6dcde.41d85","wires":[["c6fc2095.521c"]]},{"id":"c6fc2095.521c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2601.7262573242188,"y":4433.582901000977,"z":"c9c6dcde.41d85","wires":[["65e0e187.f75c3"]]},{"id":"f98f50b3.88dd2","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":2268.7262573242188,"y":4504.582901000977,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"1ad93cc3.ed8083","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":2283.7262573242188,"y":4587.582901000977,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"65e0e187.f75c3","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2052.7262573242188,"y":4504.582901000977,"z":"c9c6dcde.41d85","wires":[["f98f50b3.88dd2","1ad93cc3.ed8083","429e13ea.1bbcfc"]]},{"id":"af2ad8ba.c89658","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1602.7262573242188,"y":3805.5829010009766,"z":"c9c6dcde.41d85","wires":[["85a65d81.320ba","8ba20919.707708","46655424.de5cdc","696c7b.a22a9384","ed49961e.6f6b28","192a2029.ecaaa","c9ad1ab8.46cb68","efba3aaf.7b7bb8","f7d21eb0.896ba","df7b34c.8d94cc8"]]},{"id":"efba3aaf.7b7bb8","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":1824.7262573242188,"y":4387.582901000977,"z":"c9c6dcde.41d85","wires":[]},{"id":"5f633bc0.249c44","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":2050.7262573242188,"y":3878.5829010009766,"z":"c9c6dcde.41d85","wires":[["fb6f1570.ffce88"]]},{"id":"fb6f1570.ffce88","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2234.7262573242188,"y":3878.5829010009766,"z":"c9c6dcde.41d85","wires":[["5006a8fb.02d318"]]},{"id":"18a2910c.88df4f","type":"switchNode","name":"switch capability-type. vnf","xml":"<switch test=\"`$ss.capability-type == 'vnf'`\">\n","comments":"","outputs":1,"x":366.3928527832031,"y":309.24999237060547,"z":"c9c6dcde.41d85","wires":[["9db81301.ff464"]]},{"id":"9db81301.ff464","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":569.8214111328125,"y":308.5357208251953,"z":"c9c6dcde.41d85","wires":[["4413b6d1.d5db98"]]},{"id":"5c034bcc.8eda94","type":"switchNode","name":"switch capability-type vf-module","xml":"<switch test=\"`$ss.capability-type == 'vf-module'`\">\n","comments":"","outputs":1,"x":495.7261962890625,"y":3472.5833282470703,"z":"c9c6dcde.41d85","wires":[["e6dfb935.6742c8"]]},{"id":"e6dfb935.6742c8","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":714.7261962890625,"y":3473.5833892822266,"z":"c9c6dcde.41d85","wires":[["bf9ba335.bd933"]]},{"id":"fa015ae5.7ee3b8","type":"for","name":"for vnf-parameters data","xml":"<for silentFailure='true' 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":1580.773681640625,"y":2743.91650390625,"z":"c9c6dcde.41d85","wires":[["356a68ae.e49428"]]},{"id":"e19fe063.0ef8b","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":2193.440185546875,"y":2745.91650390625,"z":"c9c6dcde.41d85","wires":[["505f02b8.84a72c"]]},{"id":"505f02b8.84a72c","type":"failure","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2412.440185546875,"y":2745.91650390625,"z":"c9c6dcde.41d85","wires":[["f4bb10d5.f14e"]]},{"id":"db2202ea.0cefb","type":"switchNode","name":"switch capability action unassign","xml":"<switch test=\"`$ss.capability-action == 'unassign'`\">\n","comments":"","outputs":1,"x":823.9642333984375,"y":399.3928680419922,"z":"c9c6dcde.41d85","wires":[["74bb68b1.af1438"]]},{"id":"74bb68b1.af1438","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1109.6785278320312,"y":397.9642791748047,"z":"c9c6dcde.41d85","wires":[["457c7626.794818"]]},{"id":"4413b6d1.d5db98","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":573.9642944335938,"y":373.67860412597656,"z":"c9c6dcde.41d85","wires":[["db2202ea.0cefb","d55c90c5.dacc1"]]},{"id":"d4abe1f5.3b638","type":"for","name":"for vnf-parameters-data","xml":"<for silentFailure='true' 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":1048.3215942382812,"y":1785.416763305664,"z":"c9c6dcde.41d85","wires":[["704c7546.3adfec"]]},{"id":"704c7546.3adfec","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":1289.9286499023438,"y":1785.416763305664,"z":"c9c6dcde.41d85","wires":[["c580a46d.7e4ba8"]]},{"id":"c580a46d.7e4ba8","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1470.6430053710938,"y":1785.416763305664,"z":"c9c6dcde.41d85","wires":[["d168ef70.b2079"]]},{"id":"a6219093.e3a69","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1203.1072387695312,"y":3601.8214263916016,"z":"c9c6dcde.41d85","wires":[["a17ea6d0.dff598"]]},{"id":"f18842.6cf817c","type":"switchNode","name":"switch capability action unassign","xml":"<switch test=\"`$ss.capability-action == 'unassign'`\">\n","comments":"","outputs":1,"x":962.1069946289062,"y":3601.8214263916016,"z":"c9c6dcde.41d85","wires":[["a6219093.e3a69"]]},{"id":"bf9ba335.bd933","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":719.1071166992188,"y":3538.8214263916016,"z":"c9c6dcde.41d85","wires":[["f18842.6cf817c","f4027892.1787d8"]]},{"id":"f4027892.1787d8","type":"switchNode","name":"switch capability action assign","xml":"<switch test=\"`$ss.capability-action == 'assign'`\">","comments":"","outputs":1,"x":939.0596313476562,"y":5209.584121704102,"z":"c9c6dcde.41d85","wires":[["6292eda8.e46944"]]},{"id":"6292eda8.e46944","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1168.0596313476562,"y":5209.584121704102,"z":"c9c6dcde.41d85","wires":[["64813f2a.a3ada"]]},{"id":"c2bd7d37.0a159","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":1716.5595092773438,"y":5679.834487915039,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"b0fcdb9a.6e3ca8","type":"for","name":"for vf-module-parameters","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-parameters.param[$i].resource-resolution-data.resource-key_length`' >\n","comments":"","outputs":1,"x":2034.8095092773438,"y":5487.584121704102,"z":"c9c6dcde.41d85","wires":[["32bcc524.b574aa"]]},{"id":"32bcc524.b574aa","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":2291.3095092773438,"y":5487.584121704102,"z":"c9c6dcde.41d85","wires":[]},{"id":"d4710869.4115b8","type":"set","name":"set set payload data","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '{'`\" />","comments":"","x":2017.3095092773438,"y":5433.584121704102,"z":"c9c6dcde.41d85","wires":[]},{"id":"ccc3645.425bc98","type":"set","name":"set payload data","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + '},'`\" />","comments":"","x":2023.3095092773438,"y":5549.584121704102,"z":"c9c6dcde.41d85","wires":[]},{"id":"9620c741.a32c08","type":"set","name":"set close payload list","xml":"<set>\n<parameter name='tmp.naming-data-payload' value=\"`$tmp.naming-data-payload + ']}'`\" />","comments":"","x":1686.5595092773438,"y":5628.834487915039,"z":"c9c6dcde.41d85","wires":[]},{"id":"c56dc17f.72aa6","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":1719.5595092773438,"y":5733.834487915039,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"487d53f1.eabebc","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":1745.5595092773438,"y":5790.834487915039,"z":"c9c6dcde.41d85","wires":[["651c5940.b09c28","4a7251cd.0b60a"]]},{"id":"651c5940.b09c28","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2020.5595092773438,"y":5740.834487915039,"z":"c9c6dcde.41d85","wires":[["9afeb16.5065f5"]]},{"id":"cab8e3a1.df6c1","type":"returnFailure","name":"return failure","xml":"<return 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":2385.5595092773438,"y":5840.834487915039,"z":"c9c6dcde.41d85","wires":[]},{"id":"4a7251cd.0b60a","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2025.5595092773438,"y":5839.834487915039,"z":"c9c6dcde.41d85","wires":[["9afeb16.5065f5"]]},{"id":"9afeb16.5065f5","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2183.5595092773438,"y":5784.834487915039,"z":"c9c6dcde.41d85","wires":[["cab8e3a1.df6c1","3ff118f8.35b6a8"]]},{"id":"3ff118f8.35b6a8","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":2399.5595092773438,"y":5731.834487915039,"z":"c9c6dcde.41d85","wires":[]},{"id":"ebde5997.992d08","type":"for","name":"for vf-module-parameters","xml":"<for silentFailure='true' 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":1997.5595092773438,"y":6323.834487915039,"z":"c9c6dcde.41d85","wires":[["2ec39bb7.3a8a04"]]},{"id":"2966d300.1e40ce","type":"switchNode","name":"switch capability-name","xml":"<switch test='`$s2[0] == $jsonContextPrefix.elements[$n].resource-name`'>\n","comments":"","outputs":1,"x":2168.5595092773438,"y":6481.834487915039,"z":"c9c6dcde.41d85","wires":[["14c0a76d.97df69"]]},{"id":"14c0a76d.97df69","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2372.5595092773438,"y":6479.834487915039,"z":"c9c6dcde.41d85","wires":[["ea00f1e7.4c2d7"]]},{"id":"ea00f1e7.4c2d7","type":"set","name":"set service-data...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[$l].value`' value=\"`$jsonContextPrefix.elements[$n].resource-value`\" />\n","comments":"","x":2567.0595092773438,"y":6412.834487915039,"z":"c9c6dcde.41d85","wires":[]},{"id":"5a00a304.97afdc","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":1700.5595092773438,"y":5846.834487915039,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"2116035a.e1e93c","type":"for","name":"for response elements","xml":"<for silentFailure='true' index='n' start='0' end='`$jsonContextPrefix.elements_length`' >\n","comments":"","outputs":1,"x":1729.5595092773438,"y":6324.834487915039,"z":"c9c6dcde.41d85","wires":[["ebde5997.992d08"]]},{"id":"2ec39bb7.3a8a04","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":2281.5595092773438,"y":6327.834487915039,"z":"c9c6dcde.41d85","wires":[["14acbdc.24d3742"]]},{"id":"14acbdc.24d3742","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2509.5595092773438,"y":6324.834487915039,"z":"c9c6dcde.41d85","wires":[["68d0ae8e.fd01c"]]},{"id":"ef0cf3ae.da75f","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":2176.5595092773438,"y":6377.834487915039,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"9fc456ce.ed3458","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":2189.5595092773438,"y":6436.834487915039,"z":"c9c6dcde.41d85","wires":[[]]},{"id":"68d0ae8e.fd01c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1936.5595092773438,"y":6403.834487915039,"z":"c9c6dcde.41d85","wires":[["2966d300.1e40ce","ef0cf3ae.da75f","9fc456ce.ed3458"]]},{"id":"1dc104d8.7bdbcb","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1810.3095092773438,"y":5436.584121704102,"z":"c9c6dcde.41d85","wires":[["b0fcdb9a.6e3ca8","d4710869.4115b8","ccc3645.425bc98"]]},{"id":"80d366a7.9805f8","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":1702.5595092773438,"y":5898.834487915039,"z":"c9c6dcde.41d85","wires":[]},{"id":"148b02a2.0f08dd","type":"for","name":"for vnf parameters data","xml":"<for silentFailure='true' 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.5595703125,"y":6547.83447265625,"z":"c9c6dcde.41d85","wires":[["3830f933.3176e6"]]},{"id":"1ab1af10.1b8f11","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":2349.5595703125,"y":6547.83447265625,"z":"c9c6dcde.41d85","wires":[["ab5ac107.05f33"]]},{"id":"40c2a896.fde458","type":"for","name":"for vnf-parameters-data","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-parameters.param_length`' >\n","comments":"","outputs":1,"x":1253.1071166992188,"y":5382.821670532227,"z":"c9c6dcde.41d85","wires":[["4e9424aa.e70d2c"]]},{"id":"4e9424aa.e70d2c","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":1533.1071166992188,"y":5382.821670532227,"z":"c9c6dcde.41d85","wires":[["4349ca6c.3e72a4"]]},{"id":"4349ca6c.3e72a4","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1742.1072387695312,"y":5382.821670532227,"z":"c9c6dcde.41d85","wires":[["1dc104d8.7bdbcb"]]},{"id":"a96283a9.3508a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":827.3571166992188,"y":1725.8214263916016,"z":"c9c6dcde.41d85","wires":[["d4abe1f5.3b638","7f45e439.b2edfc","e75605df.da3ce8"]]},{"id":"7f45e439.b2edfc","type":"set","name":"set payload data","xml":"<set>\n\t<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />","comments":"","x":1035.1071166992188,"y":1726.8214263916016,"z":"c9c6dcde.41d85","wires":[]},{"id":"e75605df.da3ce8","type":"switchNode","name":"switch tmp.naming-data-payload is null","xml":"<switch test=\"`$tmp.naming-data-payload == ''`\">\n","comments":"","outputs":1,"x":1083.1071166992188,"y":2005.8214263916016,"z":"c9c6dcde.41d85","wires":[["f45e050d.ab8fb8"]]},{"id":"f45e050d.ab8fb8","type":"not-found","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1320.1071166992188,"y":2006.8214263916016,"z":"c9c6dcde.41d85","wires":[["ab718542.ae1198"]]},{"id":"ab718542.ae1198","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1358.1071166992188,"y":2064.8214263916016,"z":"c9c6dcde.41d85","wires":[["bf5f9c30.42446","c41efc01.f36c7","92f1e414.9e3a88","15f1977c.1c76a9","28e168fc.ed5c88","55fa602e.5dd92","a70fcc7d.91d0f"]]},{"id":"64813f2a.a3ada","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1004.1071166992188,"y":5315.821426391602,"z":"c9c6dcde.41d85","wires":[["3be3d704.4ffc28","40c2a896.fde458","cb870c13.46f18"]]},{"id":"3be3d704.4ffc28","type":"set","name":"set set payload data","xml":"<set>\n\t<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />","comments":"","x":1241.1071166992188,"y":5314.821426391602,"z":"c9c6dcde.41d85","wires":[]},{"id":"cb870c13.46f18","type":"switchNode","name":"switch tmp.naming-data-payload is null","xml":"<switch test=\"`$tmp.naming-data-payload == ''`\">\n","comments":"","outputs":1,"x":1283.3571472167969,"y":5505.321548461914,"z":"c9c6dcde.41d85","wires":[["6303a29b.1b880c"]]},{"id":"6303a29b.1b880c","type":"not-found","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1517.107177734375,"y":5505.071304321289,"z":"c9c6dcde.41d85","wires":[["911111f4.9afdc"]]},{"id":"911111f4.9afdc","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1504.857177734375,"y":5582.321670532227,"z":"c9c6dcde.41d85","wires":[["9620c741.a32c08","c2bd7d37.0a159","c56dc17f.72aa6","487d53f1.eabebc","5a00a304.97afdc","80d366a7.9805f8","2116035a.e1e93c"]]},{"id":"ab5ac107.05f33","type":"failure","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2572.25,"y":6547.25,"z":"c9c6dcde.41d85","wires":[["8601a4e9.1a1748"]]},{"id":"8601a4e9.1a1748","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2719.25,"y":6547.25,"z":"c9c6dcde.41d85","wires":[["42d77cc.441ee84","cce02395.2e1b6"]]},{"id":"42d77cc.441ee84","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":2931.25,"y":6499.25,"z":"c9c6dcde.41d85","wires":[]},{"id":"cce02395.2e1b6","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":2939.25,"y":6589.25,"z":"c9c6dcde.41d85","wires":[]},{"id":"f4bb10d5.f14e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2580.25,"y":2746.25,"z":"c9c6dcde.41d85","wires":[["d23e6946.bb00e8","60d176ef.881818"]]},{"id":"d23e6946.bb00e8","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":2800.25,"y":2684.25,"z":"c9c6dcde.41d85","wires":[]},{"id":"60d176ef.881818","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":2810.25,"y":2792.25,"z":"c9c6dcde.41d85","wires":[]},{"id":"3830f933.3176e6","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[$l].resource-resolution-data.capability-name == $ss.capability-name`'>\n","comments":"","outputs":1,"x":1963.25,"y":6548.250015258789,"z":"c9c6dcde.41d85","wires":[["c4a93555.3c9858"]]},{"id":"c4a93555.3c9858","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2143.96435546875,"y":6548.25,"z":"c9c6dcde.41d85","wires":[["1ab1af10.1b8f11"]]},{"id":"356a68ae.e49428","type":"switchNode","name":"switch capability-name","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$l].resource-resolution-data.capability-name == $ss.capability-name`'>\n","comments":"","outputs":1,"x":1808.25,"y":2745.25,"z":"c9c6dcde.41d85","wires":[["6f715bfc.f59ec4"]]},{"id":"6f715bfc.f59ec4","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1988.96435546875,"y":2745.25,"z":"c9c6dcde.41d85","wires":[["e19fe063.0ef8b"]]},{"id":"9a267ac3.695f18","type":"comment","name":"Remove for ONAP","info":"","comments":"","x":1676.25,"y":6513.75,"z":"c9c6dcde.41d85","wires":[]},{"id":"9442d72b.f9e5a8","type":"comment","name":"Remove for ONAP","info":"","comments":"","x":1478.75,"y":2707.5,"z":"c9c6dcde.41d85","wires":[]}] \ 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
index 01807af8..d1f15d82 100644
--- 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
@@ -1 +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
+[{"id":"b50134a.9135fc8","type":"dgstart","name":"DGSTART","outputs":1,"x":119.99999237060547,"y":45,"z":"18bab70b.485059","wires":[["2ad7e6db.599bfa"]]},{"id":"2c1675b4.daf71a","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":255.78571319580078,"y":102.1269884109497,"z":"18bab70b.485059","wires":[["bd716c4b.80fed"]]},{"id":"bd716c4b.80fed","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":149.3214340209961,"y":188.4286069869995,"z":"18bab70b.485059","wires":[["def524db.5fdc28","4f232482.f4e9fc","afe46b05.33f0c8"]]},{"id":"2ad7e6db.599bfa","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":392.85713958740234,"y":44.42856693267822,"z":"18bab70b.485059","wires":[["2c1675b4.daf71a"]]},{"id":"def524db.5fdc28","type":"switchNode","name":"switch: ss.capability-name","xml":"<switch test='`$ss.capability-name`'>\n","comments":"","outputs":1,"x":383.75,"y":189.75000476837158,"z":"18bab70b.485059","wires":[["451a9447.eefd0c"]]},{"id":"451a9447.eefd0c","type":"outcome","name":"NULL","xml":"<outcome value=''>","outputs":1,"x":608.7500228881836,"y":190.2500033378601,"z":"18bab70b.485059","wires":[["d536f4e1.df3898"]]},{"id":"d536f4e1.df3898","type":"returnFailure","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":768.6666946411133,"y":190.361102104187,"z":"18bab70b.485059","wires":[]},{"id":"4f232482.f4e9fc","type":"switchNode","name":"switch: ss.capability-action","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":385.0000190734863,"y":239.75000524520874,"z":"18bab70b.485059","wires":[["2ef56591.78da4a","95f263a9.16cd2","bd2b8255.e75cf"]]},{"id":"2ef56591.78da4a","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":608.5000152587891,"y":240.00000524520874,"z":"18bab70b.485059","wires":[["d591ce18.551bc"]]},{"id":"d591ce18.551bc","type":"returnFailure","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":768.4166870117188,"y":240.11110401153564,"z":"18bab70b.485059","wires":[]},{"id":"95f263a9.16cd2","type":"outcome","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":607.2500114440918,"y":295.00000858306885,"z":"18bab70b.485059","wires":[["ff4e08f7.54efb8"]]},{"id":"8db2f25b.47c74","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":1079.6666793823242,"y":295.2500123977661,"z":"18bab70b.485059","wires":[["ae4c3885.2165f8"]]},{"id":"ae4c3885.2165f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1335.666660308838,"y":295.25000858306885,"z":"18bab70b.485059","wires":[["6fc96497.0f616c"]]},{"id":"6fc96497.0f616c","type":"returnFailure","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":1494.4166412353516,"y":295.2500047683716,"z":"18bab70b.485059","wires":[]},{"id":"aa1a1fd6.29d0e","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":1339.4206619262695,"y":399.603178024292,"z":"18bab70b.485059","wires":[]},{"id":"2eba53d8.1a760c","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":1027.6348876953125,"y":399.6746482849121,"z":"18bab70b.485059","wires":[["35b91f64.3fbf1","aa1a1fd6.29d0e"]]},{"id":"35b91f64.3fbf1","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":1352.3491897583008,"y":446.0318202972412,"z":"18bab70b.485059","wires":[["83190506.6dca78"]]},{"id":"83190506.6dca78","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1593.9563522338867,"y":445.35325145721436,"z":"18bab70b.485059","wires":[["90cb09fc.8600e8"]]},{"id":"5ec7f9e0.20e438","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":1704.6390953063965,"y":656.5516810417175,"z":"18bab70b.485059","wires":[["dc237804.389ca8","ad7cda11.eb06d8","a65f01aa.58f09","b7dea22f.e6446","2622e5a6.a4f91a","f0b67cc6.43b0e"]]},{"id":"dc237804.389ca8","type":"outcome","name":"resource-name","xml":"<outcome value='resource-name'>\n","comments":"","outputs":1,"x":1972.944736480713,"y":696.3016695976257,"z":"18bab70b.485059","wires":[["1fa65740.7b0049"]]},{"id":"1fa65740.7b0049","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":2288.4446907043457,"y":696.0516657829285,"z":"18bab70b.485059","wires":[]},{"id":"a65f01aa.58f09","type":"outcome","name":"resource-value","xml":"<outcome value='resource-value'>\n","comments":"","outputs":1,"x":1975.0280113220215,"y":862.0239400863647,"z":"18bab70b.485059","wires":[["cfabc16e.d22c9"]]},{"id":"5c9fdcb3.974444","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":2677.028018951416,"y":860.7739381790161,"z":"18bab70b.485059","wires":[]},{"id":"ad7cda11.eb06d8","type":"outcome","name":"vlan-tag-key","xml":"<outcome value='vlan-tag-key'>\n","comments":"","outputs":1,"x":1964.5400352478027,"y":779.4127435684204,"z":"18bab70b.485059","wires":[["d54cf52e.ff1ae8"]]},{"id":"d54cf52e.ff1ae8","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":2283.5400352478027,"y":778.1627435684204,"z":"18bab70b.485059","wires":[]},{"id":"ff4e08f7.54efb8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":780.0000228881836,"y":295.25000953674316,"z":"18bab70b.485059","wires":[["2eba53d8.1a760c","1bfa8a0a.3559a6","8db2f25b.47c74","30649dde.6e1b62","e04ad205.115a6"]]},{"id":"32384dfc.cf1702","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":1425.500171661377,"y":656.4127917289734,"z":"18bab70b.485059","wires":[["5ec7f9e0.20e438"]]},{"id":"afe46b05.33f0c8","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":341.25,"y":405.0000066757202,"z":"18bab70b.485059","wires":[[]]},{"id":"f0b67cc6.43b0e","type":"outcome","name":"policy-instance-name","xml":"<outcome value='policy-instance-name'>\n","comments":"","outputs":1,"x":1991.8333549499512,"y":656.0515933036804,"z":"18bab70b.485059","wires":[["944e6f13.7b1b3"]]},{"id":"944e6f13.7b1b3","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":2306.194309234619,"y":656.1627049446106,"z":"18bab70b.485059","wires":[]},{"id":"b7dea22f.e6446","type":"outcome","name":"scope-id","xml":"<outcome value='scope-id'>\n","comments":"","outputs":1,"x":1953.8175621032715,"y":737.0238161087036,"z":"18bab70b.485059","wires":[["49fb58d2.3a5e18"]]},{"id":"49fb58d2.3a5e18","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":2272.0675010681152,"y":737.0237836837769,"z":"18bab70b.485059","wires":[]},{"id":"90cb09fc.8600e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1186.3807983398438,"y":608.9524269104004,"z":"18bab70b.485059","wires":[["32384dfc.cf1702","a912ffc8.e236b","34dc4b09.f22ba4","40ce7218.5cdf2c","93de8687.be3158"]]},{"id":"1bfa8a0a.3559a6","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":1028.2857208251953,"y":348.85713386535645,"z":"18bab70b.485059","wires":[]},{"id":"a912ffc8.e236b","type":"set","name":"qidx++","xml":"<set>\n<parameter name='qidx' value='`$qidx + 1`' />\n","comments":"","x":1348.9880828857422,"y":877.5595850944519,"z":"18bab70b.485059","wires":[]},{"id":"34dc4b09.f22ba4","type":"set","name":"set vt.request_length = qidx","xml":"<set>\n<parameter name='vt.request_length' value='`$qidx`' />\n","comments":"","x":1413.9880142211914,"y":924.5596314072609,"z":"18bab70b.485059","wires":[]},{"id":"794c3bd7.52c604","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":849.7619171142578,"y":54.04762268066406,"z":"18bab70b.485059","wires":[]},{"id":"4a7eb9fd.2690f8","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":880.1429061889648,"y":93.80953407287598,"z":"18bab70b.485059","wires":[[]]},{"id":"93de8687.be3158","type":"set","name":"set ss.vt.param[].index","xml":"<set>\n<parameter name='ss.vt.param[$qidx].index' value='`$pidx`' />\n","comments":"","x":1399.238052368164,"y":609.2381477355957,"z":"18bab70b.485059","wires":[]},{"id":"40ce7218.5cdf2c","type":"set","name":"set ss.vt.param_length = qidx","xml":"<set>\n<parameter name='ss.vt.param_length' value='`$qidx`' />\n","comments":"","x":1418.702278137207,"y":971.8452777862549,"z":"18bab70b.485059","wires":[]},{"id":"9fc4e623.79ede8","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":1671.5115585327148,"y":1153.702296257019,"z":"18bab70b.485059","wires":[]},{"id":"30649dde.6e1b62","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":1044.7499160766602,"y":1148.0879468917847,"z":"18bab70b.485059","wires":[["e1c863.24aa87a","68bb2ed8.54e3f","d31c1d11.cc361"]]},{"id":"e1c863.24aa87a","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1277.7720527648926,"y":1148.6575632095337,"z":"18bab70b.485059","wires":[["46abd18b.bc76a"]]},{"id":"68bb2ed8.54e3f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1268.7721405029297,"y":1061.4433135986328,"z":"18bab70b.485059","wires":[["46abd18b.bc76a"]]},{"id":"d31c1d11.cc361","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1273.9507904052734,"y":1249.2288808822632,"z":"18bab70b.485059","wires":[["acb6c699.9add58"]]},{"id":"46abd18b.bc76a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1468.4759140014648,"y":1061.0875120162964,"z":"18bab70b.485059","wires":[["9fc4e623.79ede8","b6db0666.f88248"]]},{"id":"e6de6f19.d5c2b","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":2061.333465576172,"y":1104.9880619049072,"z":"18bab70b.485059","wires":[]},{"id":"b6db0666.f88248","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":1723.4048156738281,"y":1060.7382593154907,"z":"18bab70b.485059","wires":[["e6de6f19.d5c2b","dd87e82f.6f3328"]]},{"id":"adc7a196.ee98f","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1856.4286193847656,"y":1250.0001058578491,"z":"18bab70b.485059","wires":[["f62c6513.3ae628","e6de6f19.d5c2b"]]},{"id":"acb6c699.9add58","type":"switchNode","name":"switch: vtResp.error-code","xml":"<switch test='`$vtResp.error-code`'>\n","comments":"","outputs":1,"x":1483.6308670043945,"y":1249.3927602767944,"z":"18bab70b.485059","wires":[["6c2735c5.2a7efc","1291f857.20fa58"]]},{"id":"6c2735c5.2a7efc","type":"outcomeTrue","name":"500","xml":"<outcome value='500'>\n","comments":"","outputs":1,"x":1695.8808631896973,"y":1249.1427602767944,"z":"18bab70b.485059","wires":[["adc7a196.ee98f"]]},{"id":"1291f857.20fa58","type":"outcomeTrue","name":"200","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":1697.3808670043945,"y":1291.8927602767944,"z":"18bab70b.485059","wires":[["3e5e9da0.cfebc2"]]},{"id":"f62c6513.3ae628","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":2042.7975463867188,"y":1249.559455871582,"z":"18bab70b.485059","wires":[]},{"id":"dd87e82f.6f3328","type":"set","name":"set vt-index","xml":"<set>\n<parameter name='vt-index' value='`$ss.vt.param[$i].index`' />\n","comments":"","x":1956.7975769042969,"y":1059.809471130371,"z":"18bab70b.485059","wires":[]},{"id":"ed42d5f5.7bb7e8","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":1274.2620086669922,"y":2020.7263746261597,"z":"18bab70b.485059","wires":[["3ea4540b.98db0c","3e079b08.0374c4"]]},{"id":"98a42b2e.eb9288","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":2850.012279510498,"y":2474.4406089782715,"z":"18bab70b.485059","wires":[["7d39e063.15c8f"]]},{"id":"7d39e063.15c8f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3058.5836732046946,"y":2474.5835707528254,"z":"18bab70b.485059","wires":[["3e10793b.9a74f6"]]},{"id":"3e10793b.9a74f6","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":3217.7623081207275,"y":2473.6671714782715,"z":"18bab70b.485059","wires":[]},{"id":"5e6c14c9.1866fc","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":1253.083366394043,"y":2263.155330657959,"z":"18bab70b.485059","wires":[["31b23028.25db7","d40ac253.f8c87"]]},{"id":"f6adfc0f.4da25","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":1917.9887161254883,"y":2606.155107498169,"z":"18bab70b.485059","wires":[]},{"id":"31b23028.25db7","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1500.1314392089844,"y":2605.298038482666,"z":"18bab70b.485059","wires":[["36cb5ee3.07d222"]]},{"id":"d40ac253.f8c87","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1506.7976531982422,"y":2262.4409923553467,"z":"18bab70b.485059","wires":[["d9d5a0ca.540d9"]]},{"id":"4f8196dd.da2ac8","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":2097.1545639038086,"y":2264.7978496551514,"z":"18bab70b.485059","wires":[]},{"id":"8d16c621.8bce48","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":984.7975368499756,"y":2020.9404919147491,"z":"18bab70b.485059","wires":[["ed42d5f5.7bb7e8"]]},{"id":"3ea4540b.98db0c","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":1588.7975387573242,"y":2073.4404888153076,"z":"18bab70b.485059","wires":[["2096c67.8fa4b3a"]]},{"id":"2096c67.8fa4b3a","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1835.5475387573242,"y":2073.4404888153076,"z":"18bab70b.485059","wires":[["5e6c14c9.1866fc"]]},{"id":"3e079b08.0374c4","type":"set","name":"set vt-index","xml":"<set>\n<parameter name='vt-index' value='`$ss.vt.param[$vtidx].index`' />\n","comments":"","x":1505.0475387573242,"y":2020.9404888153076,"z":"18bab70b.485059","wires":[]},{"id":"d9d5a0ca.540d9","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1876.904525756836,"y":2264.7978229522705,"z":"18bab70b.485059","wires":[["4f8196dd.da2ac8","3f724396.103f9c","4ea576ac.864a98"]]},{"id":"ac0615e9.657588","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":2869.4406204223633,"y":2525.4406089782715,"z":"18bab70b.485059","wires":[["5ceae0f7.00dd7"]]},{"id":"2dfd3dc1.031cc2","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":2901.4407501220703,"y":2429.440608024597,"z":"18bab70b.485059","wires":[]},{"id":"3dc5de79.fddbd2","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":2422.2262420654297,"y":2359.654755592346,"z":"18bab70b.485059","wires":[["2952f1a9.ebdc1e"]]},{"id":"3f724396.103f9c","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":2143.08731842041,"y":2359.515866279602,"z":"18bab70b.485059","wires":[["3dc5de79.fddbd2"]]},{"id":"2952f1a9.ebdc1e","type":"outcome","name":"vnfc-network-role","xml":"<outcome value='vnfc-network-role'>\n","comments":"","outputs":1,"x":2669.4205017089844,"y":2359.154667854309,"z":"18bab70b.485059","wires":[["5dcb1bf1.af9ca4"]]},{"id":"5ceae0f7.00dd7","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":3128.190715789795,"y":2525.4408235549927,"z":"18bab70b.485059","wires":[]},{"id":"2622e5a6.a4f91a","type":"outcome","name":"vlan-type","xml":"<outcome value='vlan-type'>\n","comments":"","outputs":1,"x":1957.9523611068726,"y":820.0237946510315,"z":"18bab70b.485059","wires":[["b1bf2c95.f0e6a"]]},{"id":"b1bf2c95.f0e6a","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":2275.9523611068726,"y":819.7737946510315,"z":"18bab70b.485059","wires":[]},{"id":"cfabc16e.d22c9","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":2234.7023277282715,"y":861.5238199234009,"z":"18bab70b.485059","wires":[["5efdc67e.fe3a88","251c2759.c4b528"]]},{"id":"5efdc67e.fe3a88","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2470.059539794922,"y":860.8094797134399,"z":"18bab70b.485059","wires":[["5c9fdcb3.974444"]]},{"id":"251c2759.c4b528","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2470.9522972106934,"y":902.5238046646118,"z":"18bab70b.485059","wires":[["f901b2e3.5fb1c"]]},{"id":"f901b2e3.5fb1c","type":"set","name":"set vt.request[].resource-value = NULL","xml":"<set>\n<parameter name='vt.request[$qidx].resource-value' value='' />\n","comments":"","x":2705.4522972106934,"y":902.7738046646118,"z":"18bab70b.485059","wires":[]},{"id":"813436c.51287c8","type":"comment","name":"Manually ASSIGNED","info":"","comments":"","x":2670.9522972106934,"y":823.7738046646118,"z":"18bab70b.485059","wires":[]},{"id":"bd2b8255.e75cf","type":"outcome","name":"unassign","xml":"<outcome value='unassign'>","comments":"","outputs":1,"x":620.2380638122559,"y":2710.666443824768,"z":"18bab70b.485059","wires":[["536d64c5.36366c"]]},{"id":"99154e42.537fc","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":1322.0753326416016,"y":2762.603106021881,"z":"18bab70b.485059","wires":[]},{"id":"fd9f4c5c.f9e52","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":1032.2895584106445,"y":2762.674576282501,"z":"18bab70b.485059","wires":[["a999e575.1c2928","99154e42.537fc"]]},{"id":"a999e575.1c2928","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":1334.0395584106445,"y":2806.1745800971985,"z":"18bab70b.485059","wires":[["23dc02d3.6fa67e"]]},{"id":"23dc02d3.6fa67e","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1575.6467208862305,"y":2805.4960112571716,"z":"18bab70b.485059","wires":[["60d51524.06b0bc"]]},{"id":"536d64c5.36366c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":792.6546974182129,"y":2710.916615486145,"z":"18bab70b.485059","wires":[["fd9f4c5c.f9e52","56baec5a.1b0854","462d21f2.1c665","77250b2a.b25dc4"]]},{"id":"56baec5a.1b0854","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":1032.9403915405273,"y":2711.8570618629456,"z":"18bab70b.485059","wires":[]},{"id":"3a8e387d.63afb8","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":1733.57133102417,"y":2979.666699409485,"z":"18bab70b.485059","wires":[["59a2bef6.09fc4","84d61383.95d1d","1760ce25.f69a32"]]},{"id":"59a2bef6.09fc4","type":"outcome","name":"vlan-tag-key","xml":"<outcome value='vlan-tag-key'>\n","comments":"","outputs":1,"x":1994.4721984863281,"y":3060.527895927429,"z":"18bab70b.485059","wires":[["88817bcf.c0a158"]]},{"id":"88817bcf.c0a158","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":2286.472198486328,"y":3060.277895927429,"z":"18bab70b.485059","wires":[]},{"id":"cd2882bd.da515","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":1454.4324073791504,"y":2979.5278100967407,"z":"18bab70b.485059","wires":[["3a8e387d.63afb8"]]},{"id":"1760ce25.f69a32","type":"outcome","name":"policy-instance-name","xml":"<outcome value='policy-instance-name'>\n","comments":"","outputs":1,"x":2020.7655906677246,"y":2979.1666116714478,"z":"18bab70b.485059","wires":[["e774df4a.eaec3"]]},{"id":"e774df4a.eaec3","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":2313.1265449523926,"y":2979.277723312378,"z":"18bab70b.485059","wires":[]},{"id":"60d51524.06b0bc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1216.3130340576172,"y":2936.0674452781677,"z":"18bab70b.485059","wires":[["cd2882bd.da515","aebaf5e.b6d2708","91308e15.022ac","97a4853.acb1778","c481fe57.0e5fa"]]},{"id":"aebaf5e.b6d2708","type":"set","name":"qidx++","xml":"<set>\n<parameter name='qidx' value='`$qidx + 1`' />\n","comments":"","x":1377.9203758239746,"y":3139.0079622268677,"z":"18bab70b.485059","wires":[]},{"id":"91308e15.022ac","type":"set","name":"set vt.request_length = qidx","xml":"<set>\n<parameter name='vt.request_length' value='`$qidx`' />\n","comments":"","x":1442.9203071594238,"y":3186.0080085396767,"z":"18bab70b.485059","wires":[]},{"id":"c481fe57.0e5fa","type":"set","name":"set ss.vt.param[].index","xml":"<set>\n<parameter name='ss.vt.param[$qidx].index' value='`$pidx`' />\n","comments":"","x":1429.1702880859375,"y":2936.353166103363,"z":"18bab70b.485059","wires":[]},{"id":"97a4853.acb1778","type":"set","name":"set ss.vt.param_length = qidx","xml":"<set>\n<parameter name='ss.vt.param_length' value='`$qidx`' />\n","comments":"","x":1450.9679374694824,"y":3229.960410118103,"z":"18bab70b.485059","wires":[]},{"id":"84d61383.95d1d","type":"outcome","name":"vlan-type","xml":"<outcome value='vlan-type'>\n","comments":"","outputs":1,"x":1982.8845520019531,"y":3019.805567741394,"z":"18bab70b.485059","wires":[["f252d523.3cc3a8"]]},{"id":"f252d523.3cc3a8","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":2276.884552001953,"y":3019.555567741394,"z":"18bab70b.485059","wires":[]},{"id":"30b32779.df0378","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":1684.8092002868652,"y":3419.666482925415,"z":"18bab70b.485059","wires":[]},{"id":"462d21f2.1c665","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":1043.0476188659668,"y":3414.623510360718,"z":"18bab70b.485059","wires":[["8f1cc4ea.d8c3f8","68438a46.bcac94","59bbb103.2c354"]]},{"id":"8f1cc4ea.d8c3f8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1291.069694519043,"y":3414.6217498779297,"z":"18bab70b.485059","wires":[["b6feb5ca.7c49b8"]]},{"id":"68438a46.bcac94","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1282.06978225708,"y":3327.407500267029,"z":"18bab70b.485059","wires":[["b6feb5ca.7c49b8"]]},{"id":"59bbb103.2c354","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1287.2484321594238,"y":3515.193067550659,"z":"18bab70b.485059","wires":[["2d4d7f91.b7a1"]]},{"id":"b6feb5ca.7c49b8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1481.7735557556152,"y":3327.0516986846924,"z":"18bab70b.485059","wires":[["30b32779.df0378","edfa51a0.5047d"]]},{"id":"78e365ab.5d123c","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":2146.6311073303223,"y":3370.952248573303,"z":"18bab70b.485059","wires":[]},{"id":"edfa51a0.5047d","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":1773.7024574279785,"y":3326.7024459838867,"z":"18bab70b.485059","wires":[["78e365ab.5d123c","4973f586.14705c"]]},{"id":"2d4d7f91.b7a1","type":"switchNode","name":"switch: vtResp.error-code","xml":"<switch test='`$vtResp.error-code`'>\n","comments":"","outputs":1,"x":1491.9286003112793,"y":3514.69015789032,"z":"18bab70b.485059","wires":[["1d848ac5.5bffc5","e02a10a3.08af2"]]},{"id":"1d848ac5.5bffc5","type":"outcomeTrue","name":"500","xml":"<outcome value='500'>\n","comments":"","outputs":1,"x":1704.178596496582,"y":3514.44015789032,"z":"18bab70b.485059","wires":[["ebf60cda.01468"]]},{"id":"e02a10a3.08af2","type":"outcomeTrue","name":"200","xml":"<outcome value='200'>\n","comments":"","outputs":1,"x":1705.6786003112793,"y":3557.19015789032,"z":"18bab70b.485059","wires":[["89aba429.6c5b08"]]},{"id":"15cba858.25ec08","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":2041.0951881408691,"y":3513.856824874878,"z":"18bab70b.485059","wires":[]},{"id":"4973f586.14705c","type":"set","name":"set vt-index","xml":"<set>\n<parameter name='vt-index' value='`$ss.vt.param[$i].index`' />\n","comments":"","x":2042.0952186584473,"y":3325.773657798767,"z":"18bab70b.485059","wires":[]},{"id":"eb72df67.db143","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":2145.369260787964,"y":3557.118952512741,"z":"18bab70b.485059","wires":[["a52673f3.1fbae","2b132c6a.ce4694"]]},{"id":"89aba429.6c5b08","type":"for","name":"for oidx in output_length","xml":"<for silentFailure='true' index=\"oidx\" start=\"0\" end=\"`$vtResp.output_length`\">","comments":"","outputs":1,"x":1894.9047889709473,"y":3557.3330698013306,"z":"18bab70b.485059","wires":[["eb72df67.db143"]]},{"id":"a52673f3.1fbae","type":"set","name":"set vt-index","xml":"<set>\n<parameter name='vt-index' value='`$ss.vt.param[$i]-index`' />\n","comments":"","x":2376.154790878296,"y":3557.333066701889,"z":"18bab70b.485059","wires":[]},{"id":"2b132c6a.ce4694","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":2481.5713996887207,"y":3611.9995889663696,"z":"18bab70b.485059","wires":[]},{"id":"ebf60cda.01468","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1863.5712699890137,"y":3514.333176612854,"z":"18bab70b.485059","wires":[["15cba858.25ec08","78e365ab.5d123c"]]},{"id":"400b190a.ad3658","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":680.2380752563477,"y":93.0000057220459,"z":"18bab70b.485059","wires":[["794c3bd7.52c604","4a7eb9fd.2690f8"]]},{"id":"5dcb1bf1.af9ca4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2600.7739639282227,"y":2430.2738285064697,"z":"18bab70b.485059","wires":[["2dfd3dc1.031cc2","ac0615e9.657588","98a42b2e.eb9288"]]},{"id":"89615294.66cdb","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":1018.5713958740234,"y":154.6666488647461,"z":"18bab70b.485059","wires":[]},{"id":"4ea576ac.864a98","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":2116.6667861938477,"y":2308.953077316284,"z":"18bab70b.485059","wires":[]},{"id":"36cb5ee3.07d222","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1665.7144088745117,"y":2606.095492362976,"z":"18bab70b.485059","wires":[["f6adfc0f.4da25","d9d5a0ca.540d9"]]},{"id":"7f2ac8f5.b14ab8","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":1002.6195297241211,"y":1908.4757766723633,"z":"18bab70b.485059","wires":[]},{"id":"40f8a21b.55c32c","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":1192.6191749572754,"y":1430.047266960144,"z":"18bab70b.485059","wires":[["1e26a553.851dbb","873a1e7f.54941","6727a465.553d3c","d0b31b1f.5def08","7e326156.e1aa3","4d7f7e2a.2956b","ef3cf31.e52ee1"]]},{"id":"1e26a553.851dbb","type":"outcome","name":"nfc-function","xml":"<outcome value='nfc-function'>\n","comments":"","outputs":1,"x":1428.3691749572754,"y":1430.297266960144,"z":"18bab70b.485059","wires":[["df016e0b.7adcd"]]},{"id":"df016e0b.7adcd","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":1670.61918258667,"y":1430.5472354888916,"z":"18bab70b.485059","wires":[]},{"id":"873a1e7f.54941","type":"outcome","name":"nfc-naming-code","xml":"<outcome value='nfc-naming-code'>\n","comments":"","outputs":1,"x":1445.8691749572754,"y":1473.0472660064697,"z":"18bab70b.485059","wires":[["380568d9.a753b8"]]},{"id":"380568d9.a753b8","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":1733.1191139221191,"y":1473.047233581543,"z":"18bab70b.485059","wires":[]},{"id":"6727a465.553d3c","type":"outcome","name":"vnfc-model-customization-uuid","xml":"<outcome value='vnfc-model-customization-uuid'>\n","comments":"","outputs":1,"x":1489.61918258667,"y":1513.047266960144,"z":"18bab70b.485059","wires":[["4b4855e5.e71dbc"]]},{"id":"4b4855e5.e71dbc","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":1843.8691215515137,"y":1513.0472345352173,"z":"18bab70b.485059","wires":[]},{"id":"d0b31b1f.5def08","type":"outcome","name":"vnfc-model-invariant-uuid","xml":"<outcome value='vnfc-model-invariant-uuid'>\n","comments":"","outputs":1,"x":1474.6191749572754,"y":1554.2972679138184,"z":"18bab70b.485059","wires":[["fe3372ce.8fc2d"]]},{"id":"fe3372ce.8fc2d","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":1792.8691139221191,"y":1554.2972354888916,"z":"18bab70b.485059","wires":[]},{"id":"7e326156.e1aa3","type":"outcome","name":"vnfc-model-version","xml":"<outcome value='vnfc-model-version'>\n","comments":"","outputs":1,"x":1457.1191749572754,"y":1596.7972688674927,"z":"18bab70b.485059","wires":[["db9ea743.984528"]]},{"id":"db9ea743.984528","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":1775.3691139221191,"y":1596.797236442566,"z":"18bab70b.485059","wires":[]},{"id":"4d7f7e2a.2956b","type":"outcome","name":"vm-type","xml":"<outcome value='vm-type'>\n","comments":"","outputs":1,"x":1425.8691749572754,"y":1639.2972688674927,"z":"18bab70b.485059","wires":[["fe2fb327.98e5"]]},{"id":"fe2fb327.98e5","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":1668.11918258667,"y":1639.5472373962402,"z":"18bab70b.485059","wires":[]},{"id":"a086481f.d85a58","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":963.8968772888184,"y":1430.3291292190552,"z":"18bab70b.485059","wires":[["40f8a21b.55c32c"]]},{"id":"ef3cf31.e52ee1","type":"outcome","name":"vnfc-name","xml":"<outcome value='vnfc-name'>\n","comments":"","outputs":1,"x":1432.6193161010742,"y":1684.1899585723877,"z":"18bab70b.485059","wires":[["f86260c2.177e2"]]},{"id":"3e5e9da0.cfebc2","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":723.7141952514648,"y":1430.1427745819092,"z":"18bab70b.485059","wires":[["a086481f.d85a58","7f2ac8f5.b14ab8","8d16c621.8bce48","c976c592.6bd708","d26dd0a7.d0427","819091da.5a883"]]},{"id":"ae02cee3.d0816","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":2377.1428985595703,"y":1868.2856531143188,"z":"18bab70b.485059","wires":[["b490bc9c.d9675"]]},{"id":"1afd223.7f2abde","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":2018.4206008911133,"y":1868.56751537323,"z":"18bab70b.485059","wires":[["ae02cee3.d0816"]]},{"id":"f86260c2.177e2","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1625.1428298950195,"y":1684.1429386138916,"z":"18bab70b.485059","wires":[["56061d3b.bae174","5a98edf9.ee2974","db0713cf.ddb5b","62e89f18.96e0f","49f1bd8.cda8344","5f092097.5409d"]]},{"id":"56061d3b.bae174","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":1842.8571853637695,"y":1729.142873764038,"z":"18bab70b.485059","wires":[[]]},{"id":"5a98edf9.ee2974","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":1918.5714950561523,"y":1683.8570909500122,"z":"18bab70b.485059","wires":[]},{"id":"db0713cf.ddb5b","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":1841.4286499023438,"y":1774.428674697876,"z":"18bab70b.485059","wires":[[]]},{"id":"b490bc9c.d9675","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2688.5713119506836,"y":1868.4285612106323,"z":"18bab70b.485059","wires":[["cdd94088.95b23"]]},{"id":"62e89f18.96e0f","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":1935.7142868041992,"y":1823.0000667572021,"z":"18bab70b.485059","wires":[[]]},{"id":"49f1bd8.cda8344","type":"switchNode","name":"switch: ss.param.vnfc-name","xml":"<switch test='`$ss.param.vnfc-name`'>\n","comments":"","outputs":1,"x":1882.8570175170898,"y":1975.8570461273193,"z":"18bab70b.485059","wires":[["2955d2ee.f7a4ae"]]},{"id":"2955d2ee.f7a4ae","type":"outcomeFalse","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2092.8570709228516,"y":1976.2856159210205,"z":"18bab70b.485059","wires":[["dce6c066.5fa53"]]},{"id":"dce6c066.5fa53","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 vnfc-name' />\n","comments":"","x":2260.5236053466797,"y":1975.9999151229858,"z":"18bab70b.485059","wires":[]},{"id":"e4a31c9b.e10fe","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":3096.285690307617,"y":1867.9045991897583,"z":"18bab70b.485059","wires":[]},{"id":"cdd94088.95b23","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2836.607147216797,"y":1868.0361166000366,"z":"18bab70b.485059","wires":[["e4a31c9b.e10fe","28c202ba.b4543e"]]},{"id":"e04ad205.115a6","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":1075.476203918457,"y":1002.9999732971191,"z":"18bab70b.485059","wires":[[]]},{"id":"77250b2a.b25dc4","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":1073.571418762207,"y":3264.666498184204,"z":"18bab70b.485059","wires":[[]]},{"id":"5f092097.5409d","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1817.8571548461914,"y":1868.5239009857178,"z":"18bab70b.485059","wires":[["1afd223.7f2abde","a9dff780.281f48"]]},{"id":"a9dff780.281f48","type":"returnSuccess","name":"CATCH BREAK","xml":"<return status='success'>\n","comments":"","x":1975.0000457763672,"y":1915.2380981445312,"z":"18bab70b.485059","wires":[]},{"id":"28c202ba.b4543e","type":"returnFailure","name":"BREAK","xml":"<return status='failure'>","comments":"","x":3023.9999389648438,"y":1909.523759841919,"z":"18bab70b.485059","wires":[]},{"id":"c976c592.6bd708","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":1004.1429061889648,"y":1955.238166809082,"z":"18bab70b.485059","wires":[]},{"id":"d26dd0a7.d0427","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":973.5715370178223,"y":2379.5239448547363,"z":"18bab70b.485059","wires":[]},{"id":"819091da.5a883","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":947.4285125732422,"y":2428.095299720764,"z":"18bab70b.485059","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.json
index 0f08cf53..28e51260 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.json
@@ -1 +1 @@
-[{"id":"c4d98d57.5eaa","type":"dgstart","name":"DGSTART","outputs":1,"x":123.75,"y":31.25,"z":"d1ebb284.fbe55","wires":[["4d9508e5.5c5ce8"]]},{"id":"125acdba.93a952","type":"method","name":"method self-serve-unresolved-composite-data","xml":"<method rpc='self-serve-unresolved-composite-data' mode='sync'>\n","comments":"","outputs":1,"x":259.5357208251953,"y":88.3769884109497,"z":"d1ebb284.fbe55","wires":[["f5bcc04e.ca7ac"]]},{"id":"f5bcc04e.ca7ac","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":204.4999885559082,"y":153.25003004074097,"z":"d1ebb284.fbe55","wires":[["fb381734.9cb508","66c7bc67.056a74","bd9853b2.20cca","461e6611.b6aeb8"]]},{"id":"4d9508e5.5c5ce8","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.6071472167969,"y":30.678566932678223,"z":"d1ebb284.fbe55","wires":[["125acdba.93a952"]]},{"id":"fb381734.9cb508","type":"switchNode","name":"switch: ss.capability-name","xml":"<switch test='`$ss.capability-name`'>\n","comments":"","outputs":1,"x":462.9285545349121,"y":153.57142782211304,"z":"d1ebb284.fbe55","wires":[["ba9591dd.f019e"]]},{"id":"ba9591dd.f019e","type":"outcome","name":"NULL","xml":"<outcome value=''>","outputs":1,"x":687.9285774230957,"y":154.07142639160156,"z":"d1ebb284.fbe55","wires":[["5c6b2fb5.0487"]]},{"id":"5c6b2fb5.0487","type":"returnFailure","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":847.8452491760254,"y":154.18252515792847,"z":"d1ebb284.fbe55","wires":[]},{"id":"66c7bc67.056a74","type":"switchNode","name":"switch: ss.capability-action","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":464.17857360839844,"y":203.5714282989502,"z":"d1ebb284.fbe55","wires":[["6e203304.a09bbc"]]},{"id":"6e203304.a09bbc","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":687.6785697937012,"y":203.8214282989502,"z":"d1ebb284.fbe55","wires":[["1ba29e0b.c70212"]]},{"id":"1ba29e0b.c70212","type":"returnFailure","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":847.5952415466309,"y":203.9325270652771,"z":"d1ebb284.fbe55","wires":[]},{"id":"a75f7611.54b5e8","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":1191.8571395874023,"y":422.750039100647,"z":"d1ebb284.fbe55","wires":[]},{"id":"abddfc44.f59a2","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":902.0713653564453,"y":422.8215093612671,"z":"d1ebb284.fbe55","wires":[["c127a681.efaf98","a75f7611.54b5e8"]]},{"id":"c127a681.efaf98","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":1203.8213653564453,"y":466.32151317596436,"z":"d1ebb284.fbe55","wires":[["e18ed568.3b3018"]]},{"id":"e18ed568.3b3018","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1442.5713729858398,"y":466.07151317596436,"z":"d1ebb284.fbe55","wires":[["d9a19f79.07d6d"]]},{"id":"7fbcb1b8.08ea5","type":"set","name":"set tmp.ss.composite","xml":"<set>\n<parameter name='tmp.ss.composite' \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].value`' />\n","comments":"","x":1820.500087738037,"y":465.6071786880493,"z":"d1ebb284.fbe55","wires":[]},{"id":"b3820bcc.e4a328","type":"execute","name":"replace [ in param[].value with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss.composite`\" />\n\t<parameter name=\"target\" value=\"[\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.composite-0\"/>\n","comments":"","outputs":1,"x":494.8730049133301,"y":928.2658996582031,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"da5dabd3.0e0a28","type":"execute","name":"replace ] in param[].value with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss.composite-0`\" />\n\t<parameter name=\"target\" value=\"]\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.composite-1\"/>\n","comments":"","outputs":1,"x":494.8730049133301,"y":968.2658996582031,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"ac7282f.bfbb08","type":"execute","name":"split , input=tmp.ss.composite-2, output=splits","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n <parameter name=\"original_string\" value=\"`$tmp.ss.composite-2`\" />\n\t<parameter name=\"regex\" value=\",\"/>\n\t<parameter name=\"ctx_memory_result_key\" value=\"splits\" />\n","comments":"","outputs":1,"x":536.9563484191895,"y":1097.9881687164307,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"9cb6a2e4.3d46f","type":"for","name":"for split-index in splits","xml":"<for index=\"split-index\" start=\"0\" end=\"`$splits_length`\">","comments":"","outputs":1,"x":463.62306213378906,"y":1186.0992221832275,"z":"d1ebb284.fbe55","wires":[["cb1cb330.6c8ea","ff9023bd.c2d2b","abbad41f.2a4dc8","4440d332.dd6aac","e67092db.2c994","b58b95cc.d8d288","8d4d20db.0044d"]]},{"id":"e3723eee.f336","type":"set","name":"set tmp.ss.final.resolved-value (end) = NULL","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' value=\"\" />\n<parameter name='tmp.ss.final.resolved-value.end' value=\"\" />\n\n","comments":"","x":529.5952644348145,"y":782.0992431640625,"z":"d1ebb284.fbe55","wires":[]},{"id":"4418320a.8cf3ec","type":"set","name":"set tmp.ss.final.resolved-value","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' \n\tvalue=\"`$tmp.ss.final.resolved-value + $tmp.ss.partial.resolved-value`\" />\n","comments":"","x":1129.5713005065918,"y":1718.6312065124512,"z":"d1ebb284.fbe55","wires":[]},{"id":"cb1cb330.6c8ea","type":"switchNode","name":"switch: split-index == 0","xml":"<switch test='`$split-index == 0`'>\n","comments":"","outputs":1,"x":726.5713996887207,"y":1719.059762954712,"z":"d1ebb284.fbe55","wires":[["ae95c6b8.e092f8","51fc0c9b.7e23f4"]]},{"id":"ae95c6b8.e092f8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":923.2857246398926,"y":1719.059684753418,"z":"d1ebb284.fbe55","wires":[["4418320a.8cf3ec"]]},{"id":"51fc0c9b.7e23f4","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":925.1427803039551,"y":1770.4882736206055,"z":"d1ebb284.fbe55","wires":[["b8ab18a4.aecb28"]]},{"id":"b8ab18a4.aecb28","type":"set","name":"set tmp.ss.final.resolved-value ,","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' \n\tvalue=\"`$tmp.ss.final.resolved-value + ',' + $tmp.ss.partial.resolved-value`\" />\n","comments":"","x":1137.1785469055176,"y":1771.9288549423218,"z":"d1ebb284.fbe55","wires":[]},{"id":"b393628e.7211c","type":"for","name":"for i in param_length","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`\">","comments":"","outputs":1,"x":1138.8572578430176,"y":1580.9644975662231,"z":"d1ebb284.fbe55","wires":[["646772a6.f2a91c","9cdb77cb.7ed498"]]},{"id":"c8ba3f96.05dd8","type":"set","name":"set tmp.ss.partial.resolved-value","xml":"<set>\n<parameter name='tmp.ss.partial.resolved-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[$i].value`' />\n","comments":"","x":2180.440731048584,"y":1621.7977981567383,"z":"d1ebb284.fbe55","wires":[]},{"id":"9cdb77cb.7ed498","type":"switchNode","name":"switch: tmp.ss.partial.composite-value vs tmp.ss.param-name","xml":"<switch test='`$tmp.ss.partial.composite-value == $tmp.ss.param-name`'>\n","comments":"","outputs":1,"x":1498.3572578430176,"y":1622.4644374847412,"z":"d1ebb284.fbe55","wires":[["90c18a2.a953c78"]]},{"id":"90c18a2.a953c78","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1813.6906471252441,"y":1622.0477514266968,"z":"d1ebb284.fbe55","wires":[["abdbcfcb.921af"]]},{"id":"3cc5d9a5.0eb3e6","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.composite-2: ' + $tmp.ss.composite-2`\"/>\n","comments":"","outputs":1,"x":417.92858505249023,"y":1053.476203918457,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"646772a6.f2a91c","type":"set","name":"set tmp.ss.param-name","xml":"<set>\n<parameter name='tmp.ss.param-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[$i].name`' />\n","comments":"","x":1380.3572578430176,"y":1580.6430253982544,"z":"d1ebb284.fbe55","wires":[]},{"id":"ad4cfd0b.d672b","type":"execute","name":"trim","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='trim' >\n <parameter name=\"source\" value=\"`$tmp.ss.composite-1`\" />\n\t<parameter name=\"outputPath\" value=\"tmp.ss.composite-2\"/>\n","comments":"","outputs":1,"x":416.67858505249023,"y":1010.0714807510376,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"abdbcfcb.921af","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1948.107234954834,"y":1622.393014907837,"z":"d1ebb284.fbe55","wires":[["c8ba3f96.05dd8","94ed095d.8a1368"]]},{"id":"94ed095d.8a1368","type":"break","name":"break","xml":"<break>\n","comments":"","x":2103.357234954834,"y":1663.6430139541626,"z":"d1ebb284.fbe55","wires":[]},{"id":"2dccf775.6c8f18","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":242.67858123779297,"y":781.8214797973633,"z":"d1ebb284.fbe55","wires":[["b3820bcc.e4a328","da5dabd3.0e0a28","ad4cfd0b.d672b","3cc5d9a5.0eb3e6","ac7282f.bfbb08","e3723eee.f336","9cb6a2e4.3d46f","2a9c6e9b.138ef2","3e5675f1.ea0eba","40099c0.838c864"]]},{"id":"2a9c6e9b.138ef2","type":"set","name":"concat tmp.ss.final.resolved-value.end","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' \n\tvalue='`$tmp.ss.final.resolved-value + $tmp.ss.final.resolved-value.end`' />\n\t\n","comments":"","x":523.2857704162598,"y":1867.5715646743774,"z":"d1ebb284.fbe55","wires":[]},{"id":"461e6611.b6aeb8","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-composite.log' />\n","comments":"","outputs":1,"x":411.4285583496094,"y":561.0714292526245,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"ff9023bd.c2d2b","type":"execute","name":"trim to tmp.ss.trim","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='trim' >\n <parameter name=\"source\" value=\"`$splits[$split-index]`\" />\n\t<parameter name=\"outputPath\" value=\"tmp.ss.trim\"/>","comments":"","outputs":1,"x":714.0000114440918,"y":1185.1429114341736,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"abbad41f.2a4dc8","type":"execute","name":"replace ${ with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss.trim`\" />\n\t<parameter name=\"target\" value=\"${\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.trim-0\"/>\n","comments":"","outputs":1,"x":712.7500076293945,"y":1226.1429133415222,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"4440d332.dd6aac","type":"execute","name":"replace } with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss.trim-0`\" />\n\t<parameter name=\"target\" value=\"}\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.trim-1\"/>\n","comments":"","outputs":1,"x":709.0000076293945,"y":1266.1429152488708,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"b58b95cc.d8d288","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.partial.composite-value: ' + $tmp.ss.partial.composite-value`\"/>\n","comments":"","outputs":1,"x":680.8056106567383,"y":1346.3532423973083,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"e67092db.2c994","type":"execute","name":"trim to tmp.ss.partial.composite-value","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='trim' >\n <parameter name=\"source\" value=\"`$tmp.ss.trim-1`\" />\n\t<parameter name=\"outputPath\" value=\"tmp.ss.partial.composite-value\"/>\n","comments":"","outputs":1,"x":777.055606842041,"y":1305.4485182762146,"z":"d1ebb284.fbe55","wires":[[]]},{"id":"3e5675f1.ea0eba","type":"execute","name":"tmp.ss.composite startsWith [","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$tmp.ss.composite`\" />\n\t<parameter name=\"target\" value=\"[\"/>\n","comments":"","outputs":1,"x":484.6785774230957,"y":876.0714721679688,"z":"d1ebb284.fbe55","wires":[["f17324ed.61c568"]]},{"id":"f17324ed.61c568","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":694.9285774230957,"y":876.3214721679688,"z":"d1ebb284.fbe55","wires":[["c18b2a23.3f59b8"]]},{"id":"c18b2a23.3f59b8","type":"set","name":"set tmp.ss.final.resolved-value (end) = [ ]","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' value=\"[\" />\n<parameter name='tmp.ss.final.resolved-value.end' value=\"]\" />\n","comments":"","x":948.1785774230957,"y":876.3214721679688,"z":"d1ebb284.fbe55","wires":[]},{"id":"a9a1d847.7acaf8","type":"set","name":"set param[].value = tmp.ss.final.resolved-value and 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[$pidx].value' \n\tvalue='`$tmp.ss.final.resolved-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[$pidx].resource-resolution-data.status' \n\tvalue='SUCCESS' />\t\n","comments":"","x":1556.5357818603516,"y":2404.822057723999,"z":"d1ebb284.fbe55","wires":[]},{"id":"bd9853b2.20cca","type":"switchNode","name":"switch: ss.capability-type","xml":"<switch test='`$ss.capability-type`'>\n","comments":"","outputs":1,"x":458.5357131958008,"y":254.28571319580078,"z":"d1ebb284.fbe55","wires":[["cadb73a8.8075e","f93f664.a242998","d9deb500.79c198"]]},{"id":"cadb73a8.8075e","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":688.0357093811035,"y":254.53571319580078,"z":"d1ebb284.fbe55","wires":[["fc445e27.e29c7"]]},{"id":"fc445e27.e29c7","type":"returnFailure","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-type is null\" />\n","comments":"","x":841.9523811340332,"y":254.64681196212769,"z":"d1ebb284.fbe55","wires":[]},{"id":"f93f664.a242998","type":"outcome","name":"vnf","xml":"<outcome value='vnf'>","comments":"","outputs":1,"x":686.7857246398926,"y":326.78571796417236,"z":"d1ebb284.fbe55","wires":[["acd6b9b1.d8fcf8"]]},{"id":"d9deb500.79c198","type":"outcome","name":"vf-module","xml":"<outcome value='vf-module'>","comments":"","outputs":1,"x":693.7857131958008,"y":423.03573513031006,"z":"d1ebb284.fbe55","wires":[["abddfc44.f59a2"]]},{"id":"a076f12f.91f12","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.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1189.2857360839844,"y":326.785719871521,"z":"d1ebb284.fbe55","wires":[]},{"id":"acd6b9b1.d8fcf8","type":"for","name":"for pidx in param_length","xml":"<for index=\"pidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`\">","comments":"","outputs":1,"x":899.4999618530273,"y":326.8571901321411,"z":"d1ebb284.fbe55","wires":[["e802238f.8b245","a076f12f.91f12"]]},{"id":"e802238f.8b245","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":1201.2499618530273,"y":370.3571939468384,"z":"d1ebb284.fbe55","wires":[["2aca4e1c.6f6122"]]},{"id":"2aca4e1c.6f6122","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1439.9999694824219,"y":370.1071939468384,"z":"d1ebb284.fbe55","wires":[["a83291f5.b56cf"]]},{"id":"d9a19f79.07d6d","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1592.2857284545898,"y":465.7857370376587,"z":"d1ebb284.fbe55","wires":[["7fbcb1b8.08ea5","9b78ea9b.98caf8"]]},{"id":"a83291f5.b56cf","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1591.7857131958008,"y":370.2857131958008,"z":"d1ebb284.fbe55","wires":[["e1948659.fa8808","9b78ea9b.98caf8"]]},{"id":"e1948659.fa8808","type":"set","name":"set tmp.ss.composite","xml":"<set>\n<parameter name='tmp.ss.composite' \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].value`' />\n","comments":"","x":1820.2857131958008,"y":370.2857131958008,"z":"d1ebb284.fbe55","wires":[]},{"id":"8d4d20db.0044d","type":"switchNode","name":"switch: ss.capability-type","xml":"<switch test='`$ss.capability-type`'>\n","comments":"","outputs":1,"x":736.5357093811035,"y":1453.0357580184937,"z":"d1ebb284.fbe55","wires":[["bd7d3608.3d5a08","4fa53f4c.f446c"]]},{"id":"4fa53f4c.f446c","type":"outcome","name":"vnf","xml":"<outcome value='vnf'>","comments":"","outputs":1,"x":946.0357246398926,"y":1452.5357847213745,"z":"d1ebb284.fbe55","wires":[["fa0a15ee.e4e5f8"]]},{"id":"bd7d3608.3d5a08","type":"outcome","name":"vf-module","xml":"<outcome value='vf-module'>","comments":"","outputs":1,"x":950.5357246398926,"y":1581.2857866287231,"z":"d1ebb284.fbe55","wires":[["b393628e.7211c"]]},{"id":"fa0a15ee.e4e5f8","type":"for","name":"for i in param_length","xml":"<for index=\"i\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`\">","comments":"","outputs":1,"x":1136.5357093811035,"y":1452.5357580184937,"z":"d1ebb284.fbe55","wires":[["2bb57d6a.df9ac2","d5d6f7bc.599898"]]},{"id":"b09e8532.2c3028","type":"set","name":"set tmp.ss.partial.resolved-value","xml":"<set>\n<parameter name='tmp.ss.partial.resolved-value' \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].value`' />\n","comments":"","x":2178.11918258667,"y":1493.3690586090088,"z":"d1ebb284.fbe55","wires":[]},{"id":"d5d6f7bc.599898","type":"switchNode","name":"switch: tmp.ss.partial.composite-value vs tmp.ss.param-name","xml":"<switch test='`$tmp.ss.partial.composite-value == $tmp.ss.param-name`'>\n","comments":"","outputs":1,"x":1496.0357093811035,"y":1494.0356979370117,"z":"d1ebb284.fbe55","wires":[["66e00a78.a279a4"]]},{"id":"66e00a78.a279a4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1811.36909866333,"y":1493.6190118789673,"z":"d1ebb284.fbe55","wires":[["c0fdb200.2df4c"]]},{"id":"2bb57d6a.df9ac2","type":"set","name":"set tmp.ss.param-name","xml":"<set>\n<parameter name='tmp.ss.param-name' \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name`' />\n","comments":"","x":1378.0357093811035,"y":1452.214285850525,"z":"d1ebb284.fbe55","wires":[]},{"id":"c0fdb200.2df4c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1945.78568649292,"y":1493.9642753601074,"z":"d1ebb284.fbe55","wires":[["b09e8532.2c3028","5ef90369.adcfec"]]},{"id":"5ef90369.adcfec","type":"break","name":"break","xml":"<break>\n","comments":"","x":2101.03568649292,"y":1535.214274406433,"z":"d1ebb284.fbe55","wires":[]},{"id":"40099c0.838c864","type":"switchNode","name":"switch: ss.capability-type","xml":"<switch test='`$ss.capability-type`'>\n","comments":"","outputs":1,"x":474.78570556640625,"y":2230.0359230041504,"z":"d1ebb284.fbe55","wires":[["e8cd3541.e0d898","8d194039.4ae3f"]]},{"id":"8d194039.4ae3f","type":"outcome","name":"vnf","xml":"<outcome value='vnf'>","comments":"","outputs":1,"x":704.5357131958008,"y":2093.5359230041504,"z":"d1ebb284.fbe55","wires":[["476988b5.1eda78"]]},{"id":"e8cd3541.e0d898","type":"outcome","name":"vf-module","xml":"<outcome value='vf-module'>","comments":"","outputs":1,"x":712.785758972168,"y":2354.2859230041504,"z":"d1ebb284.fbe55","wires":[["b8ab672c.b5d0c8"]]},{"id":"30c0bc99.74e354","type":"set","name":"set param[].value = tmp.ss.final.resolved-value, status = SUCCESS","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].value' \n\tvalue='`$tmp.ss.final.resolved-value`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status' \n\tvalue='SUCCESS' />","comments":"","x":1522.2859191894531,"y":2143.5359230041504,"z":"d1ebb284.fbe55","wires":[]},{"id":"9b78ea9b.98caf8","type":"switchNode","name":"switch: tmp.ss.composite = NULL","xml":"<switch test=\"`$tmp.ss.composite == ''`\">\n","comments":"","outputs":1,"x":1858.0000305175781,"y":526.2500076293945,"z":"d1ebb284.fbe55","wires":[["6c456607.ed3258"]]},{"id":"6c456607.ed3258","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2070.500030517578,"y":526.7500076293945,"z":"d1ebb284.fbe55","wires":[["2dccf775.6c8f18"]]},{"id":"a0aff366.5f4c6","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1362.2500076293945,"y":2039.7502765655518,"z":"d1ebb284.fbe55","wires":[["5410e7be.6cfe48","43628404.33602c"]]},{"id":"476988b5.1eda78","type":"execute","name":"tmp.ss.final.resolved-value contains $","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$tmp.ss.final.resolved-value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n","comments":"","outputs":1,"x":953.5,"y":2094.25,"z":"d1ebb284.fbe55","wires":[["922483c5.cb6fa","373602ae.33609e"]]},{"id":"922483c5.cb6fa","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1188.750015258789,"y":2039.5000305175781,"z":"d1ebb284.fbe55","wires":[["a0aff366.5f4c6"]]},{"id":"43628404.33602c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].name + ' was not resolved by ' + $ss.capability + ' with value = '+ $tmp.ss.final.resolved-value`\" />\n","comments":"","x":1559.2500228881836,"y":2088.0000324249268,"z":"d1ebb284.fbe55","wires":[]},{"id":"5410e7be.6cfe48","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[$pidx].resource-resolution-data.status' value='FAILED' />","comments":"","x":1581.7500228881836,"y":2039.2500305175781,"z":"d1ebb284.fbe55","wires":[]},{"id":"373602ae.33609e","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1187.2500190734863,"y":2143.7500324249268,"z":"d1ebb284.fbe55","wires":[["30c0bc99.74e354"]]},{"id":"511e7ed4.11fc7","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1378.499984741211,"y":2299.5000019073486,"z":"d1ebb284.fbe55","wires":[["8323bab3.f3e0c8","3bb3b6fd.445e9a"]]},{"id":"b8ab672c.b5d0c8","type":"execute","name":"tmp.ss.final.resolved-value contains $","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$tmp.ss.final.resolved-value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n","comments":"","outputs":1,"x":969.7499771118164,"y":2353.999725341797,"z":"d1ebb284.fbe55","wires":[["750bb424.cfb9ec","d3f81cfe.787c"]]},{"id":"750bb424.cfb9ec","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1204.9999923706055,"y":2299.249755859375,"z":"d1ebb284.fbe55","wires":[["511e7ed4.11fc7"]]},{"id":"3bb3b6fd.445e9a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' 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].name + ' was not resolved by ' + $ss.capability + ' with value = '+ $tmp.ss.final.resolved-value`\" />\n","comments":"","x":1575.5,"y":2347.7497577667236,"z":"d1ebb284.fbe55","wires":[]},{"id":"8323bab3.f3e0c8","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[$pidx].resource-resolution-data.status' value='FAILED' />","comments":"","x":1598,"y":2298.999755859375,"z":"d1ebb284.fbe55","wires":[]},{"id":"d3f81cfe.787c","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1203.4999961853027,"y":2405.4997577667236,"z":"d1ebb284.fbe55","wires":[["a9a1d847.7acaf8"]]}] \ No newline at end of file
+[{"id":"7837feb.33cc8","type":"dgstart","name":"DGSTART","outputs":1,"x":107.5,"y":47.5,"z":"37eb8d62.fe2642","wires":[["8e4e2c5e.0fedd"]]},{"id":"4e4f4706.e1f648","type":"method","name":"method self-serve-unresolved-composite-data","xml":"<method rpc='self-serve-unresolved-composite-data' mode='sync'>\n","comments":"","outputs":1,"x":243.2857208251953,"y":104.6269884109497,"z":"37eb8d62.fe2642","wires":[["f5218765.b71dd8"]]},{"id":"f5218765.b71dd8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":188.2499885559082,"y":169.50003004074097,"z":"37eb8d62.fe2642","wires":[["33573056.5a1c7","ebb0e102.1abb8","8a9cb1f5.17d57","35274f3a.96a3e"]]},{"id":"8e4e2c5e.0fedd","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":380.3571472167969,"y":46.92856693267822,"z":"37eb8d62.fe2642","wires":[["4e4f4706.e1f648"]]},{"id":"33573056.5a1c7","type":"switchNode","name":"switch: ss.capability-name","xml":"<switch test='`$ss.capability-name`'>\n","comments":"","outputs":1,"x":446.6785545349121,"y":169.82142782211304,"z":"37eb8d62.fe2642","wires":[["6d4e372e.8b5098"]]},{"id":"6d4e372e.8b5098","type":"outcome","name":"NULL","xml":"<outcome value=''>","outputs":1,"x":671.6785774230957,"y":170.32142639160156,"z":"37eb8d62.fe2642","wires":[["d96c80c0.a269e"]]},{"id":"d96c80c0.a269e","type":"returnFailure","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":831.5952491760254,"y":170.43252515792847,"z":"37eb8d62.fe2642","wires":[]},{"id":"ebb0e102.1abb8","type":"switchNode","name":"switch: ss.capability-action","xml":"<switch test='`$ss.capability-action`'>\n","comments":"","outputs":1,"x":447.92857360839844,"y":219.8214282989502,"z":"37eb8d62.fe2642","wires":[["f9d2e7f1.127358"]]},{"id":"f9d2e7f1.127358","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":671.4285697937012,"y":220.0714282989502,"z":"37eb8d62.fe2642","wires":[["7d7ed11f.47b23"]]},{"id":"7d7ed11f.47b23","type":"returnFailure","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":831.3452415466309,"y":220.1825270652771,"z":"37eb8d62.fe2642","wires":[]},{"id":"e752dd28.46cca","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":1175.6071395874023,"y":439.000039100647,"z":"37eb8d62.fe2642","wires":[]},{"id":"3a7c7bad.636d84","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":885.8213653564453,"y":439.0715093612671,"z":"37eb8d62.fe2642","wires":[["59f5bff7.f2b3","e752dd28.46cca"]]},{"id":"59f5bff7.f2b3","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":1187.5713653564453,"y":482.57151317596436,"z":"37eb8d62.fe2642","wires":[["792063d3.ca017c"]]},{"id":"792063d3.ca017c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1426.3213729858398,"y":482.32151317596436,"z":"37eb8d62.fe2642","wires":[["4331f223.f022fc"]]},{"id":"4cbf65e1.77b30c","type":"set","name":"set tmp.ss.composite","xml":"<set>\n<parameter name='tmp.ss.composite' \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].value`' />\n","comments":"","x":1804.250087738037,"y":481.8571786880493,"z":"37eb8d62.fe2642","wires":[]},{"id":"d31965fe.907f08","type":"execute","name":"replace [ in param[].value with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss.composite`\" />\n\t<parameter name=\"target\" value=\"[\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.composite-0\"/>\n","comments":"","outputs":1,"x":478.6230049133301,"y":944.5158996582031,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"f30c662b.32b208","type":"execute","name":"replace ] in param[].value with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss.composite-0`\" />\n\t<parameter name=\"target\" value=\"]\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.composite-1\"/>\n","comments":"","outputs":1,"x":478.6230049133301,"y":984.5158996582031,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"bc165b13.ec3448","type":"execute","name":"split , input=tmp.ss.composite-2, output=splits","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n <parameter name=\"original_string\" value=\"`$tmp.ss.composite-2`\" />\n\t<parameter name=\"regex\" value=\",\"/>\n\t<parameter name=\"ctx_memory_result_key\" value=\"splits\" />\n","comments":"","outputs":1,"x":520.7063484191895,"y":1114.2381687164307,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"c9a6560a.ead448","type":"for","name":"for split-index in splits","xml":"<for silentFailure='true' index=\"split-index\" start=\"0\" end=\"`$splits_length`\">","comments":"","outputs":1,"x":447.37306213378906,"y":1202.3492221832275,"z":"37eb8d62.fe2642","wires":[["ef146d8c.1432c","5bfc1df1.494324","a32d4500.a509c8","e7b4fb4b.180458","5b4e1441.0de78c","a12413b5.4a583","49b9d5d0.8f657c"]]},{"id":"13e0bc1e.49bf94","type":"set","name":"set tmp.ss.final.resolved-value (end) = NULL","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' value=\"\" />\n<parameter name='tmp.ss.final.resolved-value.end' value=\"\" />\n\n","comments":"","x":513.3452644348145,"y":798.3492431640625,"z":"37eb8d62.fe2642","wires":[]},{"id":"ec793343.c92b8","type":"set","name":"set tmp.ss.final.resolved-value","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' \n\tvalue=\"`$tmp.ss.final.resolved-value + $tmp.ss.partial.resolved-value`\" />\n","comments":"","x":1113.3213005065918,"y":1734.8812065124512,"z":"37eb8d62.fe2642","wires":[]},{"id":"ef146d8c.1432c","type":"switchNode","name":"switch: split-index == 0","xml":"<switch test='`$split-index == 0`'>\n","comments":"","outputs":1,"x":710.3213996887207,"y":1735.309762954712,"z":"37eb8d62.fe2642","wires":[["eada8837.c0c138","c1b5cadd.7f57b8"]]},{"id":"eada8837.c0c138","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":907.0357246398926,"y":1735.309684753418,"z":"37eb8d62.fe2642","wires":[["ec793343.c92b8"]]},{"id":"c1b5cadd.7f57b8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":908.8927803039551,"y":1786.7382736206055,"z":"37eb8d62.fe2642","wires":[["bb284a3c.70d408"]]},{"id":"bb284a3c.70d408","type":"set","name":"set tmp.ss.final.resolved-value ,","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' \n\tvalue=\"`$tmp.ss.final.resolved-value + ',' + $tmp.ss.partial.resolved-value`\" />\n","comments":"","x":1120.9285469055176,"y":1788.1788549423218,"z":"37eb8d62.fe2642","wires":[]},{"id":"3de56c7f.509c84","type":"for","name":"for i in param_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-parameters.param_length`\">","comments":"","outputs":1,"x":1122.6072578430176,"y":1597.2144975662231,"z":"37eb8d62.fe2642","wires":[["d2fa4c50.f5109","9f4ceaee.5857c8"]]},{"id":"ac5e20a7.8073c","type":"set","name":"set tmp.ss.partial.resolved-value","xml":"<set>\n<parameter name='tmp.ss.partial.resolved-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[$i].value`' />\n","comments":"","x":2164.190731048584,"y":1638.0477981567383,"z":"37eb8d62.fe2642","wires":[]},{"id":"9f4ceaee.5857c8","type":"switchNode","name":"switch: tmp.ss.partial.composite-value vs tmp.ss.param-name","xml":"<switch test='`$tmp.ss.partial.composite-value == $tmp.ss.param-name`'>\n","comments":"","outputs":1,"x":1482.1072578430176,"y":1638.7144374847412,"z":"37eb8d62.fe2642","wires":[["d80911bd.d8184"]]},{"id":"d80911bd.d8184","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1797.4406471252441,"y":1638.2977514266968,"z":"37eb8d62.fe2642","wires":[["7eb04687.8c2658"]]},{"id":"ca882d9c.6d0e3","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.composite-2: ' + $tmp.ss.composite-2`\"/>\n","comments":"","outputs":1,"x":401.67858505249023,"y":1069.726203918457,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"d2fa4c50.f5109","type":"set","name":"set tmp.ss.param-name","xml":"<set>\n<parameter name='tmp.ss.param-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[$i].name`' />\n","comments":"","x":1364.1072578430176,"y":1596.8930253982544,"z":"37eb8d62.fe2642","wires":[]},{"id":"10a1c613.87c5ba","type":"execute","name":"trim","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='trim' >\n <parameter name=\"source\" value=\"`$tmp.ss.composite-1`\" />\n\t<parameter name=\"outputPath\" value=\"tmp.ss.composite-2\"/>\n","comments":"","outputs":1,"x":400.42858505249023,"y":1026.3214807510376,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"7eb04687.8c2658","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1931.857234954834,"y":1638.643014907837,"z":"37eb8d62.fe2642","wires":[["ac5e20a7.8073c","cef7293a.5aa948"]]},{"id":"cef7293a.5aa948","type":"break","name":"break","xml":"<break>\n","comments":"","x":2087.107234954834,"y":1679.8930139541626,"z":"37eb8d62.fe2642","wires":[]},{"id":"31a7ee36.58dc32","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":226.42858123779297,"y":798.0714797973633,"z":"37eb8d62.fe2642","wires":[["d31965fe.907f08","f30c662b.32b208","10a1c613.87c5ba","ca882d9c.6d0e3","bc165b13.ec3448","13e0bc1e.49bf94","c9a6560a.ead448","d1cdbee7.3971","1f8f86a5.ce5229","69156de7.d5a7d4"]]},{"id":"d1cdbee7.3971","type":"set","name":"concat tmp.ss.final.resolved-value.end","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' \n\tvalue='`$tmp.ss.final.resolved-value + $tmp.ss.final.resolved-value.end`' />\n\t\n","comments":"","x":507.03577041625977,"y":1883.8215646743774,"z":"37eb8d62.fe2642","wires":[]},{"id":"35274f3a.96a3e","type":"execute","name":"printContext","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-composite.log' />\n","comments":"","outputs":1,"x":395.1785583496094,"y":577.3214292526245,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"5bfc1df1.494324","type":"execute","name":"trim to tmp.ss.trim","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='trim' >\n <parameter name=\"source\" value=\"`$splits[$split-index]`\" />\n\t<parameter name=\"outputPath\" value=\"tmp.ss.trim\"/>","comments":"","outputs":1,"x":697.7500114440918,"y":1201.3929114341736,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"a32d4500.a509c8","type":"execute","name":"replace ${ with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss.trim`\" />\n\t<parameter name=\"target\" value=\"${\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.trim-0\"/>\n","comments":"","outputs":1,"x":696.5000076293945,"y":1242.3929133415222,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"e7b4fb4b.180458","type":"execute","name":"replace } with \"\"","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ss.trim-0`\" />\n\t<parameter name=\"target\" value=\"}\"/>\n\t<parameter name=\"replacement\" value=\"\"/>\n\t<parameter name=\"outputPath\" value=\"tmp.ss.trim-1\"/>\n","comments":"","outputs":1,"x":692.7500076293945,"y":1282.3929152488708,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"a12413b5.4a583","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.partial.composite-value: ' + $tmp.ss.partial.composite-value`\"/>\n","comments":"","outputs":1,"x":664.5556106567383,"y":1362.6032423973083,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"5b4e1441.0de78c","type":"execute","name":"trim to tmp.ss.partial.composite-value","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='trim' >\n <parameter name=\"source\" value=\"`$tmp.ss.trim-1`\" />\n\t<parameter name=\"outputPath\" value=\"tmp.ss.partial.composite-value\"/>\n","comments":"","outputs":1,"x":760.805606842041,"y":1321.6985182762146,"z":"37eb8d62.fe2642","wires":[[]]},{"id":"1f8f86a5.ce5229","type":"execute","name":"tmp.ss.composite startsWith [","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$tmp.ss.composite`\" />\n\t<parameter name=\"target\" value=\"[\"/>\n","comments":"","outputs":1,"x":468.4285774230957,"y":892.3214721679688,"z":"37eb8d62.fe2642","wires":[["73395ff4.141b8"]]},{"id":"73395ff4.141b8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":678.6785774230957,"y":892.5714721679688,"z":"37eb8d62.fe2642","wires":[["99508479.e0e688"]]},{"id":"99508479.e0e688","type":"set","name":"set tmp.ss.final.resolved-value (end) = [ ]","xml":"<set>\n<parameter name='tmp.ss.final.resolved-value' value=\"[\" />\n<parameter name='tmp.ss.final.resolved-value.end' value=\"]\" />\n","comments":"","x":931.9285774230957,"y":892.5714721679688,"z":"37eb8d62.fe2642","wires":[]},{"id":"ab85447.f17bbb8","type":"set","name":"set param[].value = tmp.ss.final.resolved-value and 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[$pidx].value' \n\tvalue='`$tmp.ss.final.resolved-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[$pidx].resource-resolution-data.status' \n\tvalue='SUCCESS' />\t\n","comments":"","x":1540.2857818603516,"y":2421.072057723999,"z":"37eb8d62.fe2642","wires":[]},{"id":"8a9cb1f5.17d57","type":"switchNode","name":"switch: ss.capability-type","xml":"<switch test='`$ss.capability-type`'>\n","comments":"","outputs":1,"x":442.2857131958008,"y":270.5357131958008,"z":"37eb8d62.fe2642","wires":[["77e18e2f.d5034","e3f57f86.c221d","52133a56.d61a64"]]},{"id":"77e18e2f.d5034","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":671.7857093811035,"y":270.7857131958008,"z":"37eb8d62.fe2642","wires":[["5f2638db.82acf8"]]},{"id":"5f2638db.82acf8","type":"returnFailure","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-type is null\" />\n","comments":"","x":825.7023811340332,"y":270.8968119621277,"z":"37eb8d62.fe2642","wires":[]},{"id":"e3f57f86.c221d","type":"outcome","name":"vnf","xml":"<outcome value='vnf'>","comments":"","outputs":1,"x":670.5357246398926,"y":343.03571796417236,"z":"37eb8d62.fe2642","wires":[["7580f7f8.f186e8"]]},{"id":"52133a56.d61a64","type":"outcome","name":"vf-module","xml":"<outcome value='vf-module'>","comments":"","outputs":1,"x":677.5357131958008,"y":439.28573513031006,"z":"37eb8d62.fe2642","wires":[["3a7c7bad.636d84"]]},{"id":"c6fd9347.63cbd","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.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />\n","comments":"","x":1173.0357360839844,"y":343.035719871521,"z":"37eb8d62.fe2642","wires":[]},{"id":"7580f7f8.f186e8","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.vnf-topology.vnf-parameters-data.param_length`\">","comments":"","outputs":1,"x":883.2499618530273,"y":343.1071901321411,"z":"37eb8d62.fe2642","wires":[["86d4de2d.229a1","c6fd9347.63cbd"]]},{"id":"86d4de2d.229a1","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":1184.9999618530273,"y":386.6071939468384,"z":"37eb8d62.fe2642","wires":[["df6bfe99.9489d"]]},{"id":"df6bfe99.9489d","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1423.7499694824219,"y":386.3571939468384,"z":"37eb8d62.fe2642","wires":[["5e0ad3f0.4cea7c"]]},{"id":"4331f223.f022fc","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1576.0357284545898,"y":482.0357370376587,"z":"37eb8d62.fe2642","wires":[["4cbf65e1.77b30c","eb2d1fec.ecbcd"]]},{"id":"5e0ad3f0.4cea7c","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1575.5357131958008,"y":386.5357131958008,"z":"37eb8d62.fe2642","wires":[["af16fcc2.67e95","eb2d1fec.ecbcd"]]},{"id":"af16fcc2.67e95","type":"set","name":"set tmp.ss.composite","xml":"<set>\n<parameter name='tmp.ss.composite' \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].value`' />\n","comments":"","x":1804.0357131958008,"y":386.5357131958008,"z":"37eb8d62.fe2642","wires":[]},{"id":"49b9d5d0.8f657c","type":"switchNode","name":"switch: ss.capability-type","xml":"<switch test='`$ss.capability-type`'>\n","comments":"","outputs":1,"x":720.2857093811035,"y":1469.2857580184937,"z":"37eb8d62.fe2642","wires":[["a4d59836.35a4e8","479ab1d.de18e5"]]},{"id":"479ab1d.de18e5","type":"outcome","name":"vnf","xml":"<outcome value='vnf'>","comments":"","outputs":1,"x":929.7857246398926,"y":1468.7857847213745,"z":"37eb8d62.fe2642","wires":[["d6920697.094108"]]},{"id":"a4d59836.35a4e8","type":"outcome","name":"vf-module","xml":"<outcome value='vf-module'>","comments":"","outputs":1,"x":934.2857246398926,"y":1597.5357866287231,"z":"37eb8d62.fe2642","wires":[["3de56c7f.509c84"]]},{"id":"d6920697.094108","type":"for","name":"for i in param_length","xml":"<for silentFailure='true' index=\"i\" start=\"0\" end=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`\">","comments":"","outputs":1,"x":1120.2857093811035,"y":1468.7857580184937,"z":"37eb8d62.fe2642","wires":[["336570d9.2eb5f","6be09392.c6921c"]]},{"id":"5b7e69f.dc0a198","type":"set","name":"set tmp.ss.partial.resolved-value","xml":"<set>\n<parameter name='tmp.ss.partial.resolved-value' \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].value`' />\n","comments":"","x":2161.86918258667,"y":1509.6190586090088,"z":"37eb8d62.fe2642","wires":[]},{"id":"6be09392.c6921c","type":"switchNode","name":"switch: tmp.ss.partial.composite-value vs tmp.ss.param-name","xml":"<switch test='`$tmp.ss.partial.composite-value == $tmp.ss.param-name`'>\n","comments":"","outputs":1,"x":1479.7857093811035,"y":1510.2856979370117,"z":"37eb8d62.fe2642","wires":[["3baf131.a3279ec"]]},{"id":"3baf131.a3279ec","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1795.11909866333,"y":1509.8690118789673,"z":"37eb8d62.fe2642","wires":[["a84624d7.ee20a8"]]},{"id":"336570d9.2eb5f","type":"set","name":"set tmp.ss.param-name","xml":"<set>\n<parameter name='tmp.ss.param-name' \n\tvalue='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name`' />\n","comments":"","x":1361.7857093811035,"y":1468.464285850525,"z":"37eb8d62.fe2642","wires":[]},{"id":"a84624d7.ee20a8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1929.53568649292,"y":1510.2142753601074,"z":"37eb8d62.fe2642","wires":[["5b7e69f.dc0a198","48e46e8.084709"]]},{"id":"48e46e8.084709","type":"break","name":"break","xml":"<break>\n","comments":"","x":2084.78568649292,"y":1551.464274406433,"z":"37eb8d62.fe2642","wires":[]},{"id":"69156de7.d5a7d4","type":"switchNode","name":"switch: ss.capability-type","xml":"<switch test='`$ss.capability-type`'>\n","comments":"","outputs":1,"x":458.53570556640625,"y":2246.2859230041504,"z":"37eb8d62.fe2642","wires":[["d7825354.53927","48d3cfb8.101b9"]]},{"id":"48d3cfb8.101b9","type":"outcome","name":"vnf","xml":"<outcome value='vnf'>","comments":"","outputs":1,"x":688.2857131958008,"y":2109.7859230041504,"z":"37eb8d62.fe2642","wires":[["658aa4ee.d5231c"]]},{"id":"d7825354.53927","type":"outcome","name":"vf-module","xml":"<outcome value='vf-module'>","comments":"","outputs":1,"x":696.535758972168,"y":2370.5359230041504,"z":"37eb8d62.fe2642","wires":[["464c54a2.f1150c"]]},{"id":"c1bd9e75.58623","type":"set","name":"set param[].value = tmp.ss.final.resolved-value, status = SUCCESS","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].value' \n\tvalue='`$tmp.ss.final.resolved-value`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.status' \n\tvalue='SUCCESS' />","comments":"","x":1506.0359191894531,"y":2159.7859230041504,"z":"37eb8d62.fe2642","wires":[]},{"id":"eb2d1fec.ecbcd","type":"switchNode","name":"switch: tmp.ss.composite = NULL","xml":"<switch test=\"`$tmp.ss.composite == ''`\">\n","comments":"","outputs":1,"x":1841.7500305175781,"y":542.5000076293945,"z":"37eb8d62.fe2642","wires":[["a5be2343.36603"]]},{"id":"a5be2343.36603","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2054.250030517578,"y":543.0000076293945,"z":"37eb8d62.fe2642","wires":[["31a7ee36.58dc32"]]},{"id":"98b76db9.b100b","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1346.0000076293945,"y":2056.0002765655518,"z":"37eb8d62.fe2642","wires":[["9009d183.1ae5f","4ee6c5fa.0ae84c"]]},{"id":"658aa4ee.d5231c","type":"execute","name":"tmp.ss.final.resolved-value contains $","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$tmp.ss.final.resolved-value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n","comments":"","outputs":1,"x":937.25,"y":2110.5,"z":"37eb8d62.fe2642","wires":[["794d5350.a07efc","f9e03652.701f28"]]},{"id":"794d5350.a07efc","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1172.500015258789,"y":2055.750030517578,"z":"37eb8d62.fe2642","wires":[["98b76db9.b100b"]]},{"id":"4ee6c5fa.0ae84c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].name + ' was not resolved by ' + $ss.capability + ' with value = '+ $tmp.ss.final.resolved-value`\" />\n","comments":"","x":1543.0000228881836,"y":2104.2500324249268,"z":"37eb8d62.fe2642","wires":[]},{"id":"9009d183.1ae5f","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[$pidx].resource-resolution-data.status' value='FAILED' />","comments":"","x":1565.5000228881836,"y":2055.500030517578,"z":"37eb8d62.fe2642","wires":[]},{"id":"f9e03652.701f28","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1171.0000190734863,"y":2160.0000324249268,"z":"37eb8d62.fe2642","wires":[["c1bd9e75.58623"]]},{"id":"735135ff.d310ac","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1362.249984741211,"y":2315.7500019073486,"z":"37eb8d62.fe2642","wires":[["f034ae53.8edc9","7c3ebfa2.7ad8a"]]},{"id":"464c54a2.f1150c","type":"execute","name":"tmp.ss.final.resolved-value contains $","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\n <parameter name=\"source\" value=\"`$tmp.ss.final.resolved-value`\" />\n <parameter name=\"target\" value=\"$\"/>\n \n","comments":"","outputs":1,"x":953.4999771118164,"y":2370.249725341797,"z":"37eb8d62.fe2642","wires":[["731dddba.1d7134","e87ddb5e.6f9928"]]},{"id":"731dddba.1d7134","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1188.7499923706055,"y":2315.499755859375,"z":"37eb8d62.fe2642","wires":[["735135ff.d310ac"]]},{"id":"7c3ebfa2.7ad8a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' 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].name + ' was not resolved by ' + $ss.capability + ' with value = '+ $tmp.ss.final.resolved-value`\" />\n","comments":"","x":1559.25,"y":2363.9997577667236,"z":"37eb8d62.fe2642","wires":[]},{"id":"f034ae53.8edc9","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[$pidx].resource-resolution-data.status' value='FAILED' />","comments":"","x":1581.75,"y":2315.249755859375,"z":"37eb8d62.fe2642","wires":[]},{"id":"e87ddb5e.6f9928","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1187.2499961853027,"y":2421.7497577667236,"z":"37eb8d62.fe2642","wires":[["ab85447.f17bbb8"]]}] \ 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 768f9c39..b7d2141e 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 +1,1269 @@
-[{"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
+[
+ {
+ "id": "79cac42d.82a4dc",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 140,
+ "y": 84.99999749660492,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "f47fc6b0.f6a1d8"
+ ]
+ ]
+ },
+ {
+ "id": "629c9f43.786f9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 163.19049072265625,
+ "y": 199.84921395778656,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "6aad54ac.f3caac",
+ "3ec605f9.8838da",
+ "23449213.b3818e",
+ "840f76a2.614648",
+ "decf4ed7.49434",
+ "448e6879.87f338",
+ "d9639a54.037b48",
+ "ee1bc60b.f75e88"
+ ]
+ ]
+ },
+ {
+ "id": "b7b42bd3.4f3918",
+ "type": "method",
+ "name": "method self-serve-vf-module-assign",
+ "xml": "<method rpc='self-serve-vf-module-assign' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 243.76190948486328,
+ "y": 139.7063525915146,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "629c9f43.786f9"
+ ]
+ ]
+ },
+ {
+ "id": "f47fc6b0.f6a1d8",
+ "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": 402.23819732666016,
+ "y": 85.1904901266098,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "b7b42bd3.4f3918"
+ ]
+ ]
+ },
+ {
+ "id": "3ec605f9.8838da",
+ "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": 478.2500305175781,
+ "y": 1402.3691610097885,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "1a9c3c61.643984"
+ ]
+ ]
+ },
+ {
+ "id": "1a9c3c61.643984",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 738.2500610351562,
+ "y": 1402.3691610097885,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "9d73c04f.a8004"
+ ]
+ ]
+ },
+ {
+ "id": "beaa39ce.b3ffc8",
+ "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": 1279.9643096923828,
+ "y": 1449.6549113988876,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "3b98ee66.3d30a2"
+ ]
+ ]
+ },
+ {
+ "id": "3228d8db.9bd078",
+ "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": 1760.6785507202148,
+ "y": 1449.2263149023056,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "4c4fa3b4.ff618c",
+ "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": 763.5359954833984,
+ "y": 1712.5477479696274,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "4e0d4948.3d6618",
+ "b58f94e5.3a5748"
+ ]
+ ]
+ },
+ {
+ "id": "6aad54ac.f3caac",
+ "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-assignment' />\n<parameter name='ss.capability.execution-order[6]' value='eipam-create-pool' />\n<parameter
+name='ss.capability.execution-order[7]' value='netbox-ip-assign' />\n<parameter name='ss.capability.execution-order[8]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[9]' value='mS-mac-address-assign' />\n<parameter name='ss.capability.execution-order[10]' value='create-vpe-pool' />\n<parameter name='ss.capability.execution-order[11]' value='unresolved-composite-data' />\n<parameter name='ss.capability.execution-order[12]' value='aai-vf-module-put' />\n<parameter name='ss.capability.execution-order_length' value='13' />\n",
+ "comments": "",
+ "x": 450.41666412353516,
+ "y": 1264.4286407232285,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "23449213.b3818e",
+ "type": "for",
+ "name": "foreach capability-order[]",
+ "xml": "<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 419.1786193847656,
+ "y": 1568.3690408468246,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "79b45fed.9e95a",
+ "6e6f02a3.6e1a8c",
+ "4c4fa3b4.ff618c",
+ "6825ba6.a6c7b44"
+ ]
+ ]
+ },
+ {
+ "id": "4e0d4948.3d6618",
+ "type": "switchNode",
+ "name": "switch capability-name param vs. execution",
+ "xml": "<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1129.9288177490234,
+ "y": 1758.1905406713486,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "b70e352c.4630e8"
+ ]
+ ]
+ },
+ {
+ "id": "b70e352c.4630e8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1393.4288177490234,
+ "y": 1758.4405406713486,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "39d72ba9.0f9c94"
+ ]
+ ]
+ },
+ {
+ "id": "3b98ee66.3d30a2",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1606.5356559753418,
+ "y": 1449.0835050344467,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "3228d8db.9bd078"
+ ]
+ ]
+ },
+ {
+ "id": "79b45fed.9e95a",
+ "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": 710.5356750488281,
+ "y": 1568.3214925527573,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "b58f94e5.3a5748",
+ "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": 1079.2858428955078,
+ "y": 1712.7977508306503,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "6e6f02a3.6e1a8c",
+ "type": "set",
+ "name": "set ss.capability-action = assign",
+ "xml": "<set>\n<parameter name='ss.capability-action' value='assign' />\n",
+ "comments": "",
+ "x": 741.2498168945312,
+ "y": 1615.2380765676498,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "6825ba6.a6c7b44",
+ "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": 803.5832824707031,
+ "y": 1663.8929475545883,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "efb9f733.4243e8",
+ "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": 1065.952392578125,
+ "y": 1150.8573163747787,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "39d72ba9.0f9c94",
+ "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": 509.5121765136719,
+ "y": 2286.9723123311996,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "c3a7253a.e36418",
+ "8f6e910.95aa57"
+ ]
+ ]
+ },
+ {
+ "id": "c3a7253a.e36418",
+ "type": "other",
+ "name": "PENDING",
+ "xml": "<outcome value='PENDING'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 778.8693923950195,
+ "y": 2286.972268462181,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "5345ddf0.1150f4"
+ ]
+ ]
+ },
+ {
+ "id": "8f6e910.95aa57",
+ "type": "other",
+ "name": "FAILED",
+ "xml": "<outcome value='FAILED'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 772.4052085876465,
+ "y": 2337.936599135399,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "5345ddf0.1150f4"
+ ]
+ ]
+ },
+ {
+ "id": "5345ddf0.1150f4",
+ "type": "call",
+ "name": "call ss.capability-dg",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 987.5239410400391,
+ "y": 2338.698450446129,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "f18bef24.d1ba1"
+ ]
+ ]
+ },
+ {
+ "id": "9fad02a1.51c23",
+ "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": 1562.2142753601074,
+ "y": 2692.3893016576767,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "f18bef24.d1ba1",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1180.5592918395996,
+ "y": 2338.412728667259,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "dff817e.b93aee8"
+ ]
+ ]
+ },
+ {
+ "id": "dff817e.b93aee8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1343.833408355713,
+ "y": 2337.7222694158554,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "9fad02a1.51c23",
+ "e3eb24ad.1f9df8",
+ "f1f25f48.ce065",
+ "dbccdeae.36726",
+ "deeeb223.3247f",
+ "5998fcd6.dc3424"
+ ]
+ ]
+ },
+ {
+ "id": "e3eb24ad.1f9df8",
+ "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": 1659.3808479309082,
+ "y": 2594.096228957176,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "67fa2519.b6797c",
+ "ed4a64cf.4b1be8"
+ ]
+ ]
+ },
+ {
+ "id": "67fa2519.b6797c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1933.9745140075684,
+ "y": 2648.0943826436996,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "67b02263.04705c"
+ ]
+ ]
+ },
+ {
+ "id": "ed4a64cf.4b1be8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1926.403148651123,
+ "y": 2594.5944026708603,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "67b02263.04705c"
+ ]
+ ]
+ },
+ {
+ "id": "448e6879.87f338",
+ "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": 361.75794219970703,
+ "y": 2839.123444914818,
+ "z": "79df67f4.514258",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "840f76a2.614648",
+ "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": 416.2022895812988,
+ "y": 319.2619956731796,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "5f673fc1.968f5",
+ "fbe20ca5.38fa1",
+ "30e274b0.d8c48c"
+ ]
+ ]
+ },
+ {
+ "id": "5f673fc1.968f5",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 628.8332595825195,
+ "y": 248.65478646755219,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "37c2dea1.9a4e82"
+ ]
+ ]
+ },
+ {
+ "id": "d2367a6.32d0b88",
+ "type": "set",
+ "name": "set vf-module-index=0",
+ "xml": "<set>\n<parameter name='vf-module-index' value='0' />\n",
+ "comments": "",
+ "x": 967.9522895812988,
+ "y": 259.5715717077255,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "fbe20ca5.38fa1",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 628.0118522644043,
+ "y": 387.4406465291977,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "6a7324ac.7b0bcc"
+ ]
+ ]
+ },
+ {
+ "id": "bc8a226e.61ad3",
+ "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": 984.2379302978516,
+ "y": 541.6816152334213,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "6fbf85af.00b1fc",
+ "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": 1148.9285278320312,
+ "y": 1401.5244034528732,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "bab133f3.77f18",
+ "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": 1038.5121002197266,
+ "y": 1103.5448144674301,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "f1f25f48.ce065",
+ "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": 1620.8928718566895,
+ "y": 2338.2142461538315,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "dbccdeae.36726",
+ "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": 1687.1428184509277,
+ "y": 2386.2142909765244,
+ "z": "79df67f4.514258",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "deeeb223.3247f",
+ "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": 1651.4285163879395,
+ "y": 2434.2732080221176,
+ "z": "79df67f4.514258",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5998fcd6.dc3424",
+ "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": 1673.3691902160645,
+ "y": 2484.1897081136703,
+ "z": "79df67f4.514258",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "decf4ed7.49434",
+ "type": "set",
+ "name": "set ss.capability-type = vf-module",
+ "xml": "<set>\n<parameter name='ss.capability-type' value='vf-module' />\n",
+ "comments": "",
+ "x": 451.3214569091797,
+ "y": 1221.4285987615585,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "9d73c04f.a8004",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.607153756278,
+ "y": 1402.249972973551,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "6fbf85af.00b1fc",
+ "beaa39ce.b3ffc8"
+ ]
+ ]
+ },
+ {
+ "id": "d9639a54.037b48",
+ "type": "set",
+ "name": "set is-new-vfmodule = true",
+ "xml": "<set>\n<parameter name='is-new-vfmodule' value='true' />\n",
+ "comments": "",
+ "x": 423.0239715576172,
+ "y": 199.67871797084808,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "e87b2ba2.633fe8",
+ "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": 986.8452301025391,
+ "y": 387.1309846639633,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "3ba9afdd.0665c"
+ ]
+ ]
+ },
+ {
+ "id": "3ba9afdd.0665c",
+ "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": 1297.9643630981445,
+ "y": 387.7023996114731,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "6ce227d9.fecd58"
+ ]
+ ]
+ },
+ {
+ "id": "6ce227d9.fecd58",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1551.8333930969238,
+ "y": 387.52385652065277,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "3ad721db.a51a9e"
+ ]
+ ]
+ },
+ {
+ "id": "24be89e2.e6aa36",
+ "type": "set",
+ "name": "set is-new-vfmodule = false",
+ "xml": "<set>\n<parameter name='is-new-vfmodule' value='false' />\n",
+ "comments": "",
+ "x": 1924.0001335144043,
+ "y": 386.7857450246811,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "3ad721db.a51a9e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1693.2501373291016,
+ "y": 387.0357412099838,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "24be89e2.e6aa36",
+ "1e447c14.cce5b4",
+ "3f5ccfb0.8d0e9"
+ ]
+ ]
+ },
+ {
+ "id": "1e447c14.cce5b4",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1861.1429252624512,
+ "y": 473.03571927547455,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "3f5ccfb0.8d0e9",
+ "type": "set",
+ "name": "set vf-module-index = idx",
+ "xml": "<set>\n<parameter name='vf-module-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 1916.9644470214844,
+ "y": 430.0714000463486,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "98a1c4.7cd14e4",
+ "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": 1049.3097114562988,
+ "y": 300.8930000066757,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "6a7324ac.7b0bcc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 765.1667671203613,
+ "y": 387.82150876522064,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "3c04529f.56f7be",
+ "e87b2ba2.633fe8"
+ ]
+ ]
+ },
+ {
+ "id": "d693bb2e.413388",
+ "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": 1534.416790008545,
+ "y": 499.5715135335922,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "3c04529f.56f7be",
+ "type": "switchNode",
+ "name": "switch is-new-vfmodule",
+ "xml": "<switch test='`$is-new-vfmodule`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 972.6667633056641,
+ "y": 457.3928884267807,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "4309a437.97210c"
+ ]
+ ]
+ },
+ {
+ "id": "4309a437.97210c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1170.5239181518555,
+ "y": 456.9643357992172,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "96be78ac.86f8b8"
+ ]
+ ]
+ },
+ {
+ "id": "37c2dea1.9a4e82",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 771.6667633056641,
+ "y": 280.32150304317474,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "98a1c4.7cd14e4",
+ "d2367a6.32d0b88"
+ ]
+ ]
+ },
+ {
+ "id": "30e274b0.d8c48c",
+ "type": "other",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 630,
+ "y": 318.7499974966049,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "37c2dea1.9a4e82"
+ ]
+ ]
+ },
+ {
+ "id": "ee1bc60b.f75e88",
+ "type": "switchNode",
+ "name": "switch is-new-vfmodule",
+ "xml": "<switch test='`$is-new-vfmodule`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 415.75,
+ "y": 542.4999974966049,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "13983552.193d8b"
+ ]
+ ]
+ },
+ {
+ "id": "13983552.193d8b",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 613.6071548461914,
+ "y": 542.0714448690414,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "cc2f6623.a91fa8"
+ ]
+ ]
+ },
+ {
+ "id": "6d104f94.64904",
+ "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": 1029.500015258789,
+ "y": 587.50006711483,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "20ce23b1.a03bcc",
+ "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": 1394.511775970459,
+ "y": 639.9435075521469,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "f594ed84.91226",
+ "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": 1038.3688507080078,
+ "y": 662.7679513692856,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "19819d73.7f6253",
+ "20ac1beb.2d92a4"
+ ]
+ ]
+ },
+ {
+ "id": "19819d73.7f6253",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1244.0355224609375,
+ "y": 639.9109147787094,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "20ce23b1.a03bcc"
+ ]
+ ]
+ },
+ {
+ "id": "20ac1beb.2d92a4",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1245.4641189575195,
+ "y": 684.1965059041977,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "6cb882c0.21104c"
+ ]
+ ]
+ },
+ {
+ "id": "6cb882c0.21104c",
+ "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": 1399.749855041504,
+ "y": 683.6250780820847,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "c1338cf1.49d55",
+ "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": 1395.4640464782715,
+ "y": 728.4821838140488,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "da9fd0ff.5b11d",
+ "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": 1010.9878692626953,
+ "y": 751.3066886663437,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "efa13db1.f31b3",
+ "dc586e76.0fe1f"
+ ]
+ ]
+ },
+ {
+ "id": "efa13db1.f31b3",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1244.9878425598145,
+ "y": 728.4496206045151,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "c1338cf1.49d55"
+ ]
+ ]
+ },
+ {
+ "id": "dc586e76.0fe1f",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1246.4164390563965,
+ "y": 772.7352117300034,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "37b9776c.f277f8"
+ ]
+ ]
+ },
+ {
+ "id": "37b9776c.f277f8",
+ "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": 1400.7021751403809,
+ "y": 772.1637839078903,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "5083e9e9.b5d418",
+ "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": 1386.6069793701172,
+ "y": 817.3393911123276,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "c4880faa.a34e6",
+ "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": 1013.1307411193848,
+ "y": 840.1638358831406,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "2928758b.07188a",
+ "92292a26.871f08"
+ ]
+ ]
+ },
+ {
+ "id": "2928758b.07188a",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1236.1307258605957,
+ "y": 817.3067983388901,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "5083e9e9.b5d418"
+ ]
+ ]
+ },
+ {
+ "id": "92292a26.871f08",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1237.5593223571777,
+ "y": 861.5923894643784,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "9d1f9d6a.be14d"
+ ]
+ ]
+ },
+ {
+ "id": "9d1f9d6a.be14d",
+ "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": 1391.845058441162,
+ "y": 861.0209616422653,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "3b78e526.52c88a",
+ "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": 1386.6069793701172,
+ "y": 904.4822133779526,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "63f6df8b.ac388",
+ "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": 1010.1307411193848,
+ "y": 927.3066581487656,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "1a910821.50f078",
+ "8103d79c.7a9d38"
+ ]
+ ]
+ },
+ {
+ "id": "1a910821.50f078",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1236.1307258605957,
+ "y": 904.4496206045151,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "3b78e526.52c88a"
+ ]
+ ]
+ },
+ {
+ "id": "8103d79c.7a9d38",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1237.5593223571777,
+ "y": 948.7352117300034,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "9a8105a2.ce7958"
+ ]
+ ]
+ },
+ {
+ "id": "9a8105a2.ce7958",
+ "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": 1391.845058441162,
+ "y": 948.1637839078903,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "c363e16.a6e012",
+ "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": 1023.5830993652344,
+ "y": 1001.2441428899765,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "c5d1dbac.64b258",
+ "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": 980.2381744384766,
+ "y": 1055.9288457632065,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "cc2f6623.a91fa8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 769.7024154663086,
+ "y": 541.8491891622543,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "f594ed84.91226",
+ "da9fd0ff.5b11d",
+ "c4880faa.a34e6",
+ "63f6df8b.ac388",
+ "c363e16.a6e012",
+ "c5d1dbac.64b258",
+ "6d104f94.64904",
+ "bc8a226e.61ad3",
+ "bab133f3.77f18",
+ "efb9f733.4243e8"
+ ]
+ ]
+ },
+ {
+ "id": "3c2bf88f.0c3cd8",
+ "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": 1567.0000190734863,
+ "y": 455.75000512599945,
+ "z": "79df67f4.514258",
+ "wires": []
+ },
+ {
+ "id": "96be78ac.86f8b8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1313.5000190734863,
+ "y": 456.50000512599945,
+ "z": "79df67f4.514258",
+ "wires": [
+ [
+ "3c2bf88f.0c3cd8",
+ "d693bb2e.413388"
+ ]
+ ]
+ },
+ {
+ "id": "67b02263.04705c",
+ "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": 2145.714286804199,
+ "y": 2594.4284204244614,
+ "z": "79df67f4.514258",
+ "wires": []
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.json
new file mode 100644
index 00000000..ec9841e1
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.json
@@ -0,0 +1 @@
+[{"id":"e165f010.244d3","type":"dgstart","name":"DGSTART","outputs":1,"x":130,"y":62.85714340209961,"z":"e620a365.4a257","wires":[["4deb4c65.576eb4"]]},{"id":"4deb4c65.576eb4","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":103.09525489807129,"z":"e620a365.4a257","wires":[["aa880087.e2472"]]},{"id":"aa880087.e2472","type":"method","name":"method self-serve-vf-module-forking-logic","xml":"<method rpc='self-serve-vf-module-forking-logic' mode='sync'>\n","comments":"","outputs":1,"x":267.85719299316406,"y":151.42857551574707,"z":"e620a365.4a257","wires":[["d3462033.237df"]]},{"id":"c11380d2.2767f","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":787.5833282470703,"y":408,"z":"e620a365.4a257","wires":[["b8195917.3db608","df581beb.247948"]]},{"id":"86ff4916.e930e8","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":493.6904754638672,"y":408.50003242492676,"z":"e620a365.4a257","wires":[["c11380d2.2767f"]]},{"id":"c8a0fdfa.fd72b","type":"set","name":"set tmp.exist.vf_module_label = true","xml":"<set>\n<parameter name='tmp.exist.vf_module_label' value='true' />","comments":"","x":1329.4762573242188,"y":456.85717010498047,"z":"e620a365.4a257","wires":[]},{"id":"b371231d.f6d19","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":1332.1903648376465,"y":407.85718536376953,"z":"e620a365.4a257","wires":[]},{"id":"d3462033.237df","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":173,"y":302.809513092041,"z":"e620a365.4a257","wires":[["86ff4916.e930e8","72d0f5dc.50ef7c","75ac533a.ce71cc","db5f2cda.e500e"]]},{"id":"b8195917.3db608","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":1043.7619040352956,"y":407.9047944205147,"z":"e620a365.4a257","wires":[["b371231d.f6d19"]]},{"id":"df581beb.247948","type":"outcome","name":"vf_module_label","xml":"<outcome value='vf_module_label'>\n","comments":"","outputs":1,"x":1046.619026184082,"y":457.33336639404297,"z":"e620a365.4a257","wires":[["c8a0fdfa.fd72b"]]},{"id":"8b2508c1.bc86a8","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":1199.8572235107422,"y":689.1187467575073,"z":"e620a365.4a257","wires":[["af18ec02.f7299","8e3154c6.67b2b8","4cedd1e8.5cfed"]]},{"id":"af18ec02.f7299","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1450.2143478393555,"y":599.4996871948242,"z":"e620a365.4a257","wires":[["52ada15a.6e3a4"]]},{"id":"8e3154c6.67b2b8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1455.928596496582,"y":786.642599105835,"z":"e620a365.4a257","wires":[["8672ba0c.2720a8"]]},{"id":"52ada15a.6e3a4","type":"returnFailure","name":"return failure","xml":"<return 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 to determine self-serve forking criteria\" />\n","comments":"","x":1631.2143287658691,"y":599.6425943374634,"z":"e620a365.4a257","wires":[]},{"id":"4d4baf34.251d7","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":951.7026138305664,"y":689.3090238571167,"z":"e620a365.4a257","wires":[["8b2508c1.bc86a8"]]},{"id":"db5f2cda.e500e","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":582.0594329833984,"y":602.571252822876,"z":"e620a365.4a257","wires":[["4d4baf34.251d7","aa171664.89cd08"]]},{"id":"aa171664.89cd08","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":954.6668395996094,"y":522.9283447265625,"z":"e620a365.4a257","wires":[["c7aef73a.253c28"]]},{"id":"fbd180e.095ed8","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":1728.0953903198242,"y":689.3570070266724,"z":"e620a365.4a257","wires":[["e361309f.659c5","49207b1f.4607b4","c961fc85.cf2a1"]]},{"id":"e361309f.659c5","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2003.4526138305664,"y":689.4521379470825,"z":"e620a365.4a257","wires":[["5894d7f0.070508"]]},{"id":"49207b1f.4607b4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2014.0239715576172,"y":737.1664037704468,"z":"e620a365.4a257","wires":[["3bf1408b.9009b"]]},{"id":"5894d7f0.070508","type":"returnFailure","name":"return failure","xml":"<return 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 to determine self-serve forking criteria\" />\n","comments":"","x":2177.5951232910156,"y":690.0235834121704,"z":"e620a365.4a257","wires":[]},{"id":"c961fc85.cf2a1","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2007.809684753418,"y":640.3570623397827,"z":"e620a365.4a257","wires":[["67e5bedb.4b89e"]]},{"id":"4cedd1e8.5cfed","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1453.8691101074219,"y":689.1188116073608,"z":"e620a365.4a257","wires":[["fbd180e.095ed8"]]},{"id":"72d0f5dc.50ef7c","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":585.5833053588867,"y":303.08317470550537,"z":"e620a365.4a257","wires":[]},{"id":"75ac533a.ce71cc","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":513.4404830932617,"y":351.559458732605,"z":"e620a365.4a257","wires":[["5f717077.c3f3c"]]},{"id":"5f717077.c3f3c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":777.0119018554688,"y":351.8451986312866,"z":"e620a365.4a257","wires":[["ddeb321c.3bad4"]]},{"id":"ddeb321c.3bad4","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":1050.7261428833008,"y":351.70236015319824,"z":"e620a365.4a257","wires":[]},{"id":"3bf1408b.9009b","type":"set","name":"set ss.self-serve-flag = false","xml":"<set>\n<parameter name='ss.self-serve-flag' value='false' />\n","comments":"","x":2229.999801635742,"y":737.1428709030151,"z":"e620a365.4a257","wires":[]},{"id":"c7aef73a.253c28","type":"set","name":"set ss.self-serve-flag = true","xml":"<set>\n<parameter name='ss.self-serve-flag' value='true' />\n","comments":"","x":1166.0001373291016,"y":522.428596496582,"z":"e620a365.4a257","wires":[]},{"id":"8672ba0c.2720a8","type":"set","name":"set ss.self-serve-flag = false","xml":"<set>\n<parameter name='ss.self-serve-flag' value='false' />\n","comments":"","x":1682.857192993164,"y":786.1428442001343,"z":"e620a365.4a257","wires":[]},{"id":"67e5bedb.4b89e","type":"set","name":"set ss.self-serve-flag = true","xml":"<set>\n<parameter name='ss.self-serve-flag' value='true' />\n","comments":"","x":2218.571548461914,"y":640.1428442001343,"z":"e620a365.4a257","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 5002f76b..7511ed2f 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 +1,691 @@
-[{"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
+[
+ {
+ "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='netbox-ip-assign' />\n<parameter name='ss.capability.execution-order[4]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[5]' value='mS-vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[6]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[7]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[8]' value='generate-name' />\n<parameter name='ss.capability.execution-order_length' value='9' />",
+ "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": []
+ }
+]
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
index e6ee122f..6cbadd20 100644
--- 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
@@ -1,20 +1,20 @@
[
{
- "id": "22eab388.16eaf4",
+ "id": "f70303c0.672d3",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 261.25,
- "y": 35,
- "z": "46b207bc.3f592",
+ "x": 104,
+ "y": 45,
+ "z": "726449b2.4963",
"wires": [
[
- "94105a8.3e56d28"
+ "b30ec3af.cbe5d"
]
]
},
{
- "id": "94105a8.3e56d28",
+ "id": "b30ec3af.cbe5d",
"type": "service-logic",
"name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
@@ -22,320 +22,360 @@
"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",
+ "x": 380,
+ "y": 46,
+ "z": "726449b2.4963",
"wires": [
[
- "31e05f30.9bc35"
+ "dd0487fb.01a09"
]
]
},
{
- "id": "31e05f30.9bc35",
+ "id": "dd0487fb.01a09",
"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",
+ "x": 713,
+ "y": 47,
+ "z": "726449b2.4963",
"wires": [
[
- "ee5ed489.b65008"
+ "ced5c4eb.661a9"
]
]
},
{
- "id": "ee5ed489.b65008",
+ "id": "ced5c4eb.661a9",
"type": "block",
"name": "block atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 279.75,
- "y": 118,
- "z": "46b207bc.3f592",
+ "x": 122.5,
+ "y": 128,
+ "z": "726449b2.4963",
"wires": [
[
- "95b7958e.623f",
- "da8442bf.f537b"
+ "ae1af1b3.fcf59",
+ "e4e58c8c.cef7c8"
]
]
},
{
- "id": "42b47e59.9697a8",
+ "id": "f3250dd4.8f7b3",
"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`' />",
+ "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`' />\n <parameter name='ss.input.param.found.in.service.param' value='true' />\n <parameter name='ss.capability-type' value='vf-module' />\n <parameter name='ss.capability-action' value='changeassign' />",
"comments": "",
- "x": 1496.25,
- "y": 536,
- "z": "46b207bc.3f592",
+ "x": 2051,
+ "y": 395,
+ "z": "726449b2.4963",
"wires": []
},
{
- "id": "95b7958e.623f",
+ "id": "ae1af1b3.fcf59",
"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",
+ "x": 365,
+ "y": 171,
+ "z": "726449b2.4963",
"wires": [
[
- "18fa94ab.fe4b7b"
+ "85ade545.2ec22"
]
]
},
{
- "id": "18fa94ab.fe4b7b",
+ "id": "85ade545.2ec22",
"type": "outcome",
"name": "null",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 752.3928833007812,
- "y": 160.85714721679688,
- "z": "46b207bc.3f592",
+ "x": 595.1428833007812,
+ "y": 170.85714721679688,
+ "z": "726449b2.4963",
"wires": [
[
- "bf2bc904.dd0a38"
+ "4c3d2e9.5bda2d"
]
]
},
{
- "id": "bf2bc904.dd0a38",
+ "id": "4c3d2e9.5bda2d",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 768,
+ "y": 171,
+ "z": "726449b2.4963",
"wires": []
},
{
- "id": "da8442bf.f537b",
+ "id": "e4e58c8c.cef7c8",
"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",
+ "x": 398,
+ "y": 240,
+ "z": "726449b2.4963",
"wires": [
[
- "977e46f6.877358"
+ "142575c6.6caafa"
]
]
},
{
- "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",
+ "id": "142575c6.6caafa",
"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",
+ "name": "switch service param length null",
+ "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",
+ "x": 754,
+ "y": 241,
+ "z": "726449b2.4963",
"wires": [
[
- "108e76a3.9cd481"
+ "6ebd9074.f07218"
]
]
},
{
- "id": "108e76a3.9cd481",
+ "id": "6ebd9074.f07218",
"type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 712.25,
- "y": 369,
- "z": "46b207bc.3f592",
+ "x": 988,
+ "y": 240,
+ "z": "726449b2.4963",
"wires": [
[
- "4d1767d8.2a9c3"
+ "e0ed93ed.b2b8b"
]
]
},
{
- "id": "4d1767d8.2a9c3",
+ "id": "590e174a.65d8a",
"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",
+ "x": 1162,
+ "y": 394,
+ "z": "726449b2.4963",
"wires": [
[
- "8891bef1.8502d"
+ "ac5e4634.0b2448"
]
]
},
{
- "id": "8891bef1.8502d",
+ "id": "ac5e4634.0b2448",
"type": "switchNode",
- "name": "switch input vnf-name",
+ "name": "switch match for 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",
+ "x": 1503,
+ "y": 395,
+ "z": "726449b2.4963",
"wires": [
[
- "5274d8ce.a623c",
- "654491e7.62d698"
+ "f7d97b3d.e60038"
]
]
},
{
- "id": "654491e7.62d698",
+ "id": "f7d97b3d.e60038",
"type": "not-found",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1160.25,
- "y": 536,
- "z": "46b207bc.3f592",
+ "x": 1698,
+ "y": 394,
+ "z": "726449b2.4963",
"wires": [
[
- "4262d0f1.813fb"
+ "deae5a01.337f58"
]
]
},
{
- "id": "5274d8ce.a623c",
+ "id": "e69f3b51.b837b8",
"type": "not-found",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 1168.25,
- "y": 418,
- "z": "46b207bc.3f592",
+ "x": 1301,
+ "y": 473,
+ "z": "726449b2.4963",
"wires": [
[
- "ff6ddcf3.7baac8"
+ "c754e2e.93a8ba"
]
]
},
{
- "id": "ff6ddcf3.7baac8",
+ "id": "c754e2e.93a8ba",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 1450,
+ "y": 472,
+ "z": "726449b2.4963",
"wires": []
},
{
- "id": "4262d0f1.813fb",
+ "id": "deae5a01.337f58",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic='true'>",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1321.25,
- "y": 535,
- "z": "46b207bc.3f592",
+ "x": 1854,
+ "y": 395,
+ "z": "726449b2.4963",
"wires": [
[
- "42b47e59.9697a8",
- "bd5eede2.612be8"
+ "f3250dd4.8f7b3",
+ "c0d5c4ec.a72a3",
+ "3af469f6.38cc1e"
]
]
},
{
- "id": "bd5eede2.612be8",
+ "id": "c0d5c4ec.a72a3",
"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",
+ "x": 2160,
+ "y": 458,
+ "z": "726449b2.4963",
"wires": [
[
- "4bb46cb.5d8d914",
- "566ddacf.c229b4"
+ "e0b4c040.c1636",
+ "a668b860.256a88"
]
]
},
{
- "id": "4bb46cb.5d8d914",
+ "id": "e0b4c040.c1636",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 1863.25,
- "y": 584,
- "z": "46b207bc.3f592",
+ "x": 2436,
+ "y": 422,
+ "z": "726449b2.4963",
"wires": [
[
- "b50ec2c9.740af8"
+ "e7042dd5.9e899"
]
]
},
{
- "id": "566ddacf.c229b4",
+ "id": "a668b860.256a88",
"type": "failure",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 1873.25,
- "y": 652,
- "z": "46b207bc.3f592",
+ "x": 2438,
+ "y": 490,
+ "z": "726449b2.4963",
"wires": [
[
- "b50ec2c9.740af8"
+ "e7042dd5.9e899"
]
]
},
{
- "id": "b50ec2c9.740af8",
+ "id": "e7042dd5.9e899",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 2626,
+ "y": 452,
+ "z": "726449b2.4963",
"wires": []
+ },
+ {
+ "id": "e0ed93ed.b2b8b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 838,
+ "y": 313,
+ "z": "726449b2.4963",
+ "wires": [
+ [
+ "12c4ca5c.0c4496",
+ "590e174a.65d8a",
+ "d31f5e36.31a7c8"
+ ]
+ ]
+ },
+ {
+ "id": "12c4ca5c.0c4496",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n <parameter name='ss.input.param.found.in.service.param' value='false' />",
+ "comments": "",
+ "x": 1029,
+ "y": 313,
+ "z": "726449b2.4963",
+ "wires": []
+ },
+ {
+ "id": "3af469f6.38cc1e",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n",
+ "comments": "",
+ "x": 2081,
+ "y": 535,
+ "z": "726449b2.4963",
+ "wires": []
+ },
+ {
+ "id": "d31f5e36.31a7c8",
+ "type": "switchNode",
+ "name": "switch if found vnf_name",
+ "xml": "<switch test='`$ss.input.param.found.in.service.param`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1081,
+ "y": 473,
+ "z": "726449b2.4963",
+ "wires": [
+ [
+ "e69f3b51.b837b8"
+ ]
+ ]
}
] \ 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 d3b037ff..49ec5742 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 +1 @@
-[{"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.features.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
+[{"id":"787b7eb6.eccdc","type":"dgstart","name":"DGSTART","outputs":1,"x":136.25,"y":51.25,"z":"f6cdfffd.3c02b","wires":[["1a8cfe.b37c9302"]]},{"id":"1a8cfe.b37c9302","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":412.25,"y":52.25,"z":"f6cdfffd.3c02b","wires":[["fdaa1f04.85343"]]},{"id":"fdaa1f04.85343","type":"method","name":"self-serve-vfmodule-ra-assignment","xml":"<method rpc='self-serve-vfmodule-ra-assignment' mode='sync'>\n","comments":"","outputs":1,"x":763.25,"y":52.25,"z":"f6cdfffd.3c02b","wires":[["e4454830.acc5d8"]]},{"id":"e4454830.acc5d8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":148.75,"y":134.25,"z":"f6cdfffd.3c02b","wires":[["50c86ef6.ffe2c","312a579c.f03f38","aeccb186.c7c4d","9eabe9e8.401698","d314732e.2b6ab","b152dbc0.724f38","30d09ca3.7b5804","bc01ec0.9995218","e972af31.068b5","e49ffba7.3d67e8"]]},{"id":"312a579c.f03f38","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":333.25,"y":180.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"d858c747.ea8e38","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":609.4642486572266,"y":532.7142963409424,"z":"f6cdfffd.3c02b","wires":[["a3af88b.95cf078"]]},{"id":"9eabe9e8.401698","type":"for","name":"for vf-module-topology-operation-input","xml":"<for silentFailure='true' index='i' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >","comments":"","outputs":1,"x":432.96431732177734,"y":397.9643135070801,"z":"f6cdfffd.3c02b","wires":[["be4504b2.d80da8"]]},{"id":"46e556fe.1910d8","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":1179.678565979004,"y":330.3928813934326,"z":"f6cdfffd.3c02b","wires":[]},{"id":"9e8107ed.d481a8","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":925.6785659790039,"y":330.3928813934326,"z":"f6cdfffd.3c02b","wires":[["46e556fe.1910d8"]]},{"id":"be4504b2.d80da8","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":687.6785659790039,"y":397.3928813934326,"z":"f6cdfffd.3c02b","wires":[["9e8107ed.d481a8","e575a36f.2aab7","f82b2aa1.d96ab8","be2e83c0.4cf55"]]},{"id":"e575a36f.2aab7","type":"outcome","name":"sdnc_model_version","xml":"<outcome value='sdnc_model_version'>\n","comments":"","outputs":1,"x":928.6785659790039,"y":376.3928813934326,"z":"f6cdfffd.3c02b","wires":[["53d8e980.fa9b38"]]},{"id":"f82b2aa1.d96ab8","type":"outcome","name":"vf_module_label","xml":"<outcome value='vf_module_label'>\n","comments":"","outputs":1,"x":913.6785659790039,"y":425.3928813934326,"z":"f6cdfffd.3c02b","wires":[["ff80f931.a9fef8"]]},{"id":"53d8e980.fa9b38","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":1183.678565979004,"y":376.3928813934326,"z":"f6cdfffd.3c02b","wires":[]},{"id":"ff80f931.a9fef8","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":1165.678565979004,"y":425.3928813934326,"z":"f6cdfffd.3c02b","wires":[]},{"id":"595ad25c.6df7cc","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":1183.678565979004,"y":476.3928813934326,"z":"f6cdfffd.3c02b","wires":[]},{"id":"be2e83c0.4cf55","type":"outcome","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":885.6785659790039,"y":476.3928813934326,"z":"f6cdfffd.3c02b","wires":[["595ad25c.6df7cc"]]},{"id":"d314732e.2b6ab","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":404.25,"y":690.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"b152dbc0.724f38","type":"execute","name":"execute ConfigAssignment","xml":"<execute plugin='org.onap.ccsdk.features.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":390.25,"y":768.25,"z":"f6cdfffd.3c02b","wires":[["a75449a9.121cb8","4c11e20f.4101dc"]]},{"id":"a75449a9.121cb8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":580.25,"y":744.25,"z":"f6cdfffd.3c02b","wires":[["55bef0b4.3f7bf"]]},{"id":"55bef0b4.3f7bf","type":"returnFailure","name":"return failure","xml":"<return 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":778.25,"y":744.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"bc01ec0.9995218","type":"for","name":"for resource-accumulator-resolved-data loop","xml":"<for silentFailure='true' index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >\n","comments":"","outputs":1,"x":436.25,"y":927.25,"z":"f6cdfffd.3c02b","wires":[["e00b2e3e.42c3e"]]},{"id":"acec6411.5abd48","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='`service-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='RA Resolved'/>\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='SUCCESS'/>\n\n","comments":"","x":1650.25,"y":978.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"e972af31.068b5","type":"for","name":"for capability-data","xml":"<for silentFailure='true' index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >\n","comments":"","outputs":1,"x":355.25,"y":1190.25,"z":"f6cdfffd.3c02b","wires":[["493375a8.8ad84c"]]},{"id":"493375a8.8ad84c","type":"for","name":"for key-mapping","xml":"<for silentFailure='true' index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >","comments":"","outputs":1,"x":578.25,"y":1190.25,"z":"f6cdfffd.3c02b","wires":[["dcc80534.449a68"]]},{"id":"30d09ca3.7b5804","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":380.25,"y":848.25,"z":"f6cdfffd.3c02b","wires":[[]]},{"id":"50c86ef6.ffe2c","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":378.25,"y":134.25,"z":"f6cdfffd.3c02b","wires":[["dbcf1180.b48a"]]},{"id":"dbcf1180.b48a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":583.25,"y":134.25,"z":"f6cdfffd.3c02b","wires":[["28b63f4c.cc67"]]},{"id":"28b63f4c.cc67","type":"returnFailure","name":"return failure","xml":"<return 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":747.25,"y":133.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"eb5a3d43.b778a","type":"for","name":"for vnf-parameters-data.param","xml":"<for silentFailure='true' 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":1409.25,"y":927.25,"z":"f6cdfffd.3c02b","wires":[["d54ded8.5f1761"]]},{"id":"e00b2e3e.42c3e","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":715.25,"y":928.25,"z":"f6cdfffd.3c02b","wires":[["88260dd7.f8775","6947adfa.4470d4","6701fb7e.2b26b4"]]},{"id":"aeccb186.c7c4d","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":450.25,"y":235.25,"z":"f6cdfffd.3c02b","wires":[["7dfd20db.77c8f","a72e244b.da8138"]]},{"id":"7dfd20db.77c8f","type":"outcome","name":"null","xml":"<outcome value=''>","comments":"","outputs":1,"x":713.3928833007812,"y":203.10715293884277,"z":"f6cdfffd.3c02b","wires":[["2727cdfd.cfb6a2"]]},{"id":"a72e244b.da8138","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":712.3928833007812,"y":267.1071529388428,"z":"f6cdfffd.3c02b","wires":[["dfe615c9.fe0728"]]},{"id":"2727cdfd.cfb6a2","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":926.3928833007812,"y":203.10715293884277,"z":"f6cdfffd.3c02b","wires":[]},{"id":"dfe615c9.fe0728","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":911.3928833007812,"y":267.1071529388428,"z":"f6cdfffd.3c02b","wires":[]},{"id":"d54ded8.5f1761","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":1667.25,"y":927.25,"z":"f6cdfffd.3c02b","wires":[["c9bba73a.79c8a8"]]},{"id":"c9bba73a.79c8a8","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1847.25,"y":927.25,"z":"f6cdfffd.3c02b","wires":[["f8516843.76bfa8"]]},{"id":"f8516843.76bfa8","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":2057.25,"y":928.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"6701fb7e.2b26b4","type":"switchNode","name":"switch tmp.mso.param.not-found","xml":"<switch test='`$tmp.mso.param.found`'>\n","comments":"","outputs":1,"x":957.25,"y":980.25,"z":"f6cdfffd.3c02b","wires":[["1eab6ca0.fd9523"]]},{"id":"1eab6ca0.fd9523","type":"not-found","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1191.25,"y":979.25,"z":"f6cdfffd.3c02b","wires":[["10451c0f.5267c4"]]},{"id":"88260dd7.f8775","type":"set","name":"set for existing param name","xml":"<set>\n<parameter name='tmp.mso.param.found' value='false' />\n","comments":"","x":941.25,"y":869.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"6947adfa.4470d4","type":"switchNode","name":"switch check length > 0","xml":"<switch test='`$prehighnum &gt; 0`'>\n","comments":"","outputs":1,"x":933.75,"y":928.25,"z":"f6cdfffd.3c02b","wires":[["804cd2b6.9dfca"]]},{"id":"804cd2b6.9dfca","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1180.75,"y":928.25,"z":"f6cdfffd.3c02b","wires":[["eb5a3d43.b778a"]]},{"id":"c1178694.6e13a8","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":1627.25,"y":1242.25,"z":"f6cdfffd.3c02b","wires":[["24a9685f.2a0058"]]},{"id":"b0ad1516.f57698","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":2026.25,"y":1183.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"b6a93d87.a295b","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'/>\n<parameter name='num' value='0' />","comments":"","x":1205.25,"y":1144.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"dcc80534.449a68","type":"for","name":"for output-key-mapping","xml":"<for silentFailure='true' index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >","comments":"","outputs":1,"x":813.25,"y":1191.25,"z":"f6cdfffd.3c02b","wires":[["b3170125.7c722"]]},{"id":"b3170125.7c722","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":1008.25,"y":1190.25,"z":"f6cdfffd.3c02b","wires":[["b6a93d87.a295b","f8216152.dcd4b","fadae3c4.72797","e2c1071c.0cc8c8"]]},{"id":"fadae3c4.72797","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\n","comments":"","x":1204.25,"y":1242.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"4c11e20f.4101dc","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":585.25,"y":806.25,"z":"f6cdfffd.3c02b","wires":[["55bef0b4.3f7bf"]]},{"id":"f8216152.dcd4b","type":"switchNode","name":"switch payload_length","xml":"<switch test=\"`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`\">\n","comments":"","outputs":1,"x":1234.25,"y":1191.25,"z":"f6cdfffd.3c02b","wires":[["83895025.eb98d","be495554.bffde8"]]},{"id":"83895025.eb98d","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1449.25,"y":1123.25,"z":"f6cdfffd.3c02b","wires":[[]]},{"id":"be495554.bffde8","type":"other","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1458.25,"y":1242.25,"z":"f6cdfffd.3c02b","wires":[["c1178694.6e13a8"]]},{"id":"e49ffba7.3d67e8","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":398.03570556640625,"y":532.8571863174438,"z":"f6cdfffd.3c02b","wires":[["d858c747.ea8e38"]]},{"id":"14d26024.6fa82","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":1076.1785354614258,"y":533.714297413826,"z":"f6cdfffd.3c02b","wires":[["963bb4b0.22ed08","1fbe2488.4c27fb","22951609.29842a"]]},{"id":"963bb4b0.22ed08","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1319.3927536010742,"y":534.0951566696167,"z":"f6cdfffd.3c02b","wires":[["844ac3f5.38c17"]]},{"id":"844ac3f5.38c17","type":"returnFailure","name":"return failure","xml":"<return 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":1500.392734527588,"y":534.2380638122559,"z":"f6cdfffd.3c02b","wires":[]},{"id":"df03e41c.dcd528","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":1097.630874633789,"y":662.5595798492432,"z":"f6cdfffd.3c02b","wires":[["4acd2420.495eec","30028d51.5031a2","714d9205.b0588c"]]},{"id":"4acd2420.495eec","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1376.4164581298828,"y":662.9404038190842,"z":"f6cdfffd.3c02b","wires":[["e4517ef0.7d38d"]]},{"id":"e4517ef0.7d38d","type":"returnFailure","name":"return failure","xml":"<return 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":1551.416389465332,"y":663.0833042860031,"z":"f6cdfffd.3c02b","wires":[]},{"id":"30028d51.5031a2","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1386.6308822631836,"y":742.345287322998,"z":"f6cdfffd.3c02b","wires":[["74f0e16a.8ee83"]]},{"id":"a3af88b.95cf078","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":784.9880294799805,"y":533.0952922105789,"z":"f6cdfffd.3c02b","wires":[["14d26024.6fa82","df03e41c.dcd528"]]},{"id":"76ba4f27.57cd","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":1598.67866897583,"y":614.214334487915,"z":"f6cdfffd.3c02b","wires":[]},{"id":"1fbe2488.4c27fb","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1327.2501411437988,"y":614.5000095367432,"z":"f6cdfffd.3c02b","wires":[["76ba4f27.57cd"]]},{"id":"74f0e16a.8ee83","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":1591.071434020996,"y":743.9286003112793,"z":"f6cdfffd.3c02b","wires":[]},{"id":"24a9685f.2a0058","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1804.25,"y":1241.25,"z":"f6cdfffd.3c02b","wires":[["b0ad1516.f57698","7d81cd82.395494","aa9f9e41.1d7a"]]},{"id":"7d81cd82.395494","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","comments":"","x":2015.25,"y":1241.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"22951609.29842a","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1330.0000190734863,"y":573.7500076293945,"z":"f6cdfffd.3c02b","wires":[["9226e1bf.3d826"]]},{"id":"9226e1bf.3d826","type":"returnFailure","name":"return failure","xml":"<return 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":1501.2500228881836,"y":572.5000085830688,"z":"f6cdfffd.3c02b","wires":[]},{"id":"714d9205.b0588c","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1387.5,"y":703.75,"z":"f6cdfffd.3c02b","wires":[["3ac5c538.2d5c9a"]]},{"id":"3ac5c538.2d5c9a","type":"returnFailure","name":"return failure","xml":"<return 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":1558.7500038146973,"y":702.5000009536743,"z":"f6cdfffd.3c02b","wires":[]},{"id":"aa9f9e41.1d7a","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='num' value='`$num + 1`' />\n","comments":"","x":2028.25,"y":1307.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"e2c1071c.0cc8c8","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='highnum' value='`$highnum + 1`' />\n","comments":"","x":1221.25,"y":1313.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"f918a896.e97518","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='highnum' value='`$highnum + 1`' />\n","comments":"","x":1568.25,"y":1038.25,"z":"f6cdfffd.3c02b","wires":[]},{"id":"10451c0f.5267c4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1362.25,"y":978.25,"z":"f6cdfffd.3c02b","wires":[["acec6411.5abd48","f918a896.e97518"]]}] \ 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 e40d21be..0547a35f 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,1253 +1,1254 @@
[
- {
- "id": "4ab7a500.742b84",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 91,
- "y": 42,
- "z": "46985608.45d728",
- "wires": [
- [
- "41557c8.3b7a284"
- ]
- ]
- },
- {
- "id": "ff348586.8270b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 121.4761962890625,
- "y": 164.2777862548828,
- "z": "46985608.45d728",
- "wires": [
- [
- "cd67af0a.d11ae",
- "f96dad58.53729",
- "7c74e6bd.a00fb8",
- "aee6c595.a3c2e8",
- "3e45c56a.355fba",
- "9470b636.3af698",
- "a48cbf50.8520d",
- "f9268c4a.ab9328",
- "818a22c.a82fbe"
- ]
- ]
- },
- {
- "id": "37b4339e.be9ca4",
- "type": "method",
- "name": "method self-serve-vnf-assign",
- "xml": "<method rpc='self-serve-vnf-assign' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 207.76190948486328,
- "y": 96.70635509490967,
- "z": "46985608.45d728",
- "wires": [
- [
- "ff348586.8270b8"
- ]
- ]
- },
- {
- "id": "41557c8.3b7a284",
- "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": 366.23819732666016,
- "y": 42.19049263000488,
- "z": "46985608.45d728",
- "wires": [
- [
- "37b4339e.be9ca4"
- ]
- ]
- },
- {
- "id": "f96dad58.53729",
- "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": 409.6786575317383,
- "y": 1384.5120058059692,
- "z": "46985608.45d728",
- "wires": [
- [
- "1a76b7c7.f60c58"
- ]
- ]
- },
- {
- "id": "1a76b7c7.f60c58",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 671.6786880493164,
- "y": 1384.5120058059692,
- "z": "46985608.45d728",
- "wires": [
- [
- "8db9b3e7.403cc8"
- ]
- ]
- },
- {
- "id": "4d6ae8ce.a99a2",
- "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": 1186.9643478393555,
- "y": 1434.0834369659424,
- "z": "46985608.45d728",
- "wires": [
- [
- "5f59d54a.3b7624"
- ]
- ]
- },
- {
- "id": "552faac1.e8b50c",
- "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": 1658.6785888671875,
- "y": 1433.6548404693604,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "80370664.c86fd",
- "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": 634.8574600219727,
- "y": 1752.0120840072632,
- "z": "46985608.45d728",
- "wires": [
- [
- "8260f760.79336",
- "2346f507.b81d6a"
- ]
- ]
- },
- {
- "id": "cd67af0a.d11ae",
- "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='netbox-ip-assign' />\n<parameter name='ss.capability.execution-order[7]' value='eipam-create-pool\"' />\n<parameter name='ss.capability.execution-order[8]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[9]' value='mS-mac-address-assign' />\n<parameter name='ss.capability.execution-order[10]' value='create-vpe-pool' />\n<parameter name='ss.capability.execution-order[11]' value='unresolved-composite-data' />\n<parameter name='ss.capability.execution-order[12]' value='aai-vnf-put' />\n<parameter name='ss.capability.execution-order_length' value='13' />\n",
- "comments": "",
- "x": 383.52384185791016,
- "y": 1223.0001401901245,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "7c74e6bd.a00fb8",
- "type": "for",
- "name": "foreach capability[]",
- "xml": "<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 338.9286880493164,
- "y": 1492.1191005706787,
- "z": "46985608.45d728",
- "wires": [
- [
- "c4f31511.d9287",
- "4357e5bb.501284",
- "80370664.c86fd",
- "ee8b6246.5c29f"
- ]
- ]
- },
- {
- "id": "2346f507.b81d6a",
- "type": "switchNode",
- "name": "switch capability-name",
- "xml": "<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 939.2502822875977,
- "y": 1797.6548767089844,
- "z": "46985608.45d728",
- "wires": [
- [
- "4293f2a.d82680c"
- ]
- ]
- },
- {
- "id": "4293f2a.d82680c",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1202.7502822875977,
- "y": 1797.9048767089844,
- "z": "46985608.45d728",
- "wires": [
- [
- "e24f05f3.ca0498"
- ]
- ]
- },
- {
- "id": "5f59d54a.3b7624",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1504.5356941223145,
- "y": 1433.5120306015015,
- "z": "46985608.45d728",
- "wires": [
- [
- "552faac1.e8b50c"
- ]
- ]
- },
- {
- "id": "c4f31511.d9287",
- "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": 595.2857437133789,
- "y": 1492.0715522766113,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "8260f760.79336",
- "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": 950.607307434082,
- "y": 1752.2620868682861,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "4357e5bb.501284",
- "type": "set",
- "name": "set ss.capability.action = assign",
- "xml": "<set>\n<parameter name='ss.capability-action' value='assign' />\n",
- "comments": "",
- "x": 623.999885559082,
- "y": 1538.988136291504,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "ee8b6246.5c29f",
- "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": 686.5119781494141,
- "y": 1592.4643802642822,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "aee6c595.a3c2e8",
- "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": 412.4881362915039,
- "y": 1276.7501487731934,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "9b585f6f.16442",
- "type": "block",
- "name": "block",
- "xml": "<block>",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 668.928539276123,
- "y": 557.4643030166626,
- "z": "46985608.45d728",
- "wires": [
- [
- "a94d8d98.d42658",
- "3cb78e8d.74e962",
- "c8a900f1.9777a8",
- "78095309.0dc25c",
- "be27a7ea.5a181",
- "1b64f08.bab119",
- "2ec1f112.0da5c6",
- "6e55cc0d.b1517c",
- "4f11607d.71a34"
- ]
- ]
- },
- {
- "id": "a94d8d98.d42658",
- "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": 884.4284820556641,
- "y": 558.523811340332,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "c4c6fe75.ec2388",
- "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": 1077.9645767211914,
- "y": 1384.3808345794678,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "c8a900f1.9777a8",
- "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": 949.7184371948242,
- "y": 1132.504020690918,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "3cb78e8d.74e962",
- "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": 867.0953521728516,
- "y": 1082.3096599578857,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "fa0373bc.4d0538",
- "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": 1281.4286727905273,
- "y": 670.8810405731201,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "78095309.0dc25c",
- "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": 922.2857475280762,
- "y": 693.7054843902588,
- "z": "46985608.45d728",
- "wires": [
- [
- "9bba5aea.a57f48",
- "4552d186.b6ea3"
- ]
- ]
- },
- {
- "id": "9bba5aea.a57f48",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1130.9524192810059,
- "y": 670.8484477996826,
- "z": "46985608.45d728",
- "wires": [
- [
- "fa0373bc.4d0538"
- ]
- ]
- },
- {
- "id": "4552d186.b6ea3",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1132.381015777588,
- "y": 715.1340389251709,
- "z": "46985608.45d728",
- "wires": [
- [
- "28257c6c.608bec"
- ]
- ]
- },
- {
- "id": "28257c6c.608bec",
- "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": 1286.6667518615723,
- "y": 714.5626111030579,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "ad8d3d3c.38aab8",
- "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": 1282.3809432983398,
- "y": 759.419716835022,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "be27a7ea.5a181",
- "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": 891.9047660827637,
- "y": 782.2442216873169,
- "z": "46985608.45d728",
- "wires": [
- [
- "70c0f30c.080ebc",
- "e1067bc0.09616"
- ]
- ]
- },
- {
- "id": "70c0f30c.080ebc",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1131.9047393798828,
- "y": 759.3871536254883,
- "z": "46985608.45d728",
- "wires": [
- [
- "ad8d3d3c.38aab8"
- ]
- ]
- },
- {
- "id": "e1067bc0.09616",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1133.3333358764648,
- "y": 803.6727447509766,
- "z": "46985608.45d728",
- "wires": [
- [
- "ed31c003.6e5ff8"
- ]
- ]
- },
- {
- "id": "ed31c003.6e5ff8",
- "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": 1287.6190719604492,
- "y": 803.1013169288635,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "ea4c9359.636478",
- "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": 1279.5238761901855,
- "y": 848.2769241333008,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "1b64f08.bab119",
- "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": 903.0476379394531,
- "y": 871.1013689041138,
- "z": "46985608.45d728",
- "wires": [
- [
- "67f74f68.a2256",
- "12fefdff.fad13a"
- ]
- ]
- },
- {
- "id": "67f74f68.a2256",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1129.047622680664,
- "y": 848.2443313598633,
- "z": "46985608.45d728",
- "wires": [
- [
- "ea4c9359.636478"
- ]
- ]
- },
- {
- "id": "12fefdff.fad13a",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1130.476219177246,
- "y": 892.5299224853516,
- "z": "46985608.45d728",
- "wires": [
- [
- "f3b92182.211f8"
- ]
- ]
- },
- {
- "id": "f3b92182.211f8",
- "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": 1284.7619552612305,
- "y": 891.9584946632385,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "e1b96368.4917",
- "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": 1279.5238761901855,
- "y": 935.4197463989258,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "2ec1f112.0da5c6",
- "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": 898.0476379394531,
- "y": 958.2441911697388,
- "z": "46985608.45d728",
- "wires": [
- [
- "1660517c.cccf6f",
- "ed71187f.5311e"
- ]
- ]
- },
- {
- "id": "1660517c.cccf6f",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1129.047622680664,
- "y": 935.3871536254883,
- "z": "46985608.45d728",
- "wires": [
- [
- "e1b96368.4917"
- ]
- ]
- },
- {
- "id": "ed71187f.5311e",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1130.476219177246,
- "y": 979.6727447509766,
- "z": "46985608.45d728",
- "wires": [
- [
- "1b3b7bf2.898ee4"
- ]
- ]
- },
- {
- "id": "1b3b7bf2.898ee4",
- "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": 1284.7619552612305,
- "y": 979.1013169288635,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "6e55cc0d.b1517c",
- "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": 848.4047088623047,
- "y": 610.0388488769531,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "4f11607d.71a34",
- "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": 910.8332252502441,
- "y": 1031.0863952636719,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "f9268c4a.ab9328",
- "type": "switchNode",
- "name": "switch service-data.vnfs.vnf_length",
- "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 395.08329010009766,
- "y": 244.42850017547607,
- "z": "46985608.45d728",
- "wires": [
- [
- "eb071fdf.798b28",
- "9f911665.8875c8",
- "80f3305a.6722d8"
- ]
- ]
- },
- {
- "id": "eb071fdf.798b28",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 637.2976760864258,
- "y": 182.98793125152588,
- "z": "46985608.45d728",
- "wires": [
- [
- "98b86e0.9a1f69"
- ]
- ]
- },
- {
- "id": "1b8d17c2.822de",
- "type": "set",
- "name": "set vnf-index=0",
- "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
- "comments": "",
- "x": 972.583381652832,
- "y": 182.48800563812256,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "9f911665.8875c8",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 638.476203918457,
- "y": 304.607120513916,
- "z": "46985608.45d728",
- "wires": [
- [
- "f865c6ab.95d9"
- ]
- ]
- },
- {
- "id": "e24f05f3.ca0498",
- "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": 474.01221084594727,
- "y": 2054.4722986221313,
- "z": "46985608.45d728",
- "wires": [
- [
- "782e269e.4b3fb",
- "8956ab0b.f8051"
- ]
- ]
- },
- {
- "id": "782e269e.4b3fb",
- "type": "other",
- "name": "PENDING",
- "xml": "<outcome value='PENDING'>\n",
- "comments": "",
- "outputs": 1,
- "x": 743.3694267272949,
- "y": 2054.472254753113,
- "z": "46985608.45d728",
- "wires": [
- [
- "5f47a6e6.b99ea8"
- ]
- ]
- },
- {
- "id": "8956ab0b.f8051",
- "type": "other",
- "name": "FAILED",
- "xml": "<outcome value='FAILED'>\n",
- "comments": "",
- "outputs": 1,
- "x": 736.9052429199219,
- "y": 2105.4365854263306,
- "z": "46985608.45d728",
- "wires": [
- [
- "5f47a6e6.b99ea8"
- ]
- ]
- },
- {
- "id": "5f47a6e6.b99ea8",
- "type": "call",
- "name": "call ss.capability-dg",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 952.0239753723145,
- "y": 2106.1984367370605,
- "z": "46985608.45d728",
- "wires": [
- [
- "598559d5.cea1e8"
- ]
- ]
- },
- {
- "id": "4e7061c4.a89b6",
- "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": 1519.5714149475098,
- "y": 2360.174892425537,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "598559d5.cea1e8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1136.9164848327637,
- "y": 2106.198497772217,
- "z": "46985608.45d728",
- "wires": [
- [
- "ec2a0d97.15565"
- ]
- ]
- },
- {
- "id": "ec2a0d97.15565",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1300.190601348877,
- "y": 2105.508038520813,
- "z": "46985608.45d728",
- "wires": [
- [
- "4e7061c4.a89b6",
- "3dc20fce.5456d8",
- "a95e3cc2.662a38",
- "3d72d3ce.0a1af4",
- "8021d858.4809f8"
- ]
- ]
- },
- {
- "id": "a95e3cc2.662a38",
- "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": 1623.5236930847168,
- "y": 2159.024598121643,
- "z": "46985608.45d728",
- "wires": [
- []
- ]
- },
- {
- "id": "8021d858.4809f8",
- "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": 1592.9879875183105,
- "y": 2261.8818197250366,
- "z": "46985608.45d728",
- "wires": [
- [
- "730d5fdb.54ca48",
- "9d70e9bf.a1c8d8"
- ]
- ]
- },
- {
- "id": "730d5fdb.54ca48",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1867.5816535949707,
- "y": 2315.87997341156,
- "z": "46985608.45d728",
- "wires": [
- [
- "9daf4747.49e728"
- ]
- ]
- },
- {
- "id": "9d70e9bf.a1c8d8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1860.0102882385254,
- "y": 2262.3799934387207,
- "z": "46985608.45d728",
- "wires": [
- [
- "9daf4747.49e728"
- ]
- ]
- },
- {
- "id": "3dc20fce.5456d8",
- "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": 1575.9759941101074,
- "y": 2105.119110107422,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "3d72d3ce.0a1af4",
- "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": 1587.809398651123,
- "y": 2209.833366394043,
- "z": "46985608.45d728",
- "wires": [
- []
- ]
- },
- {
- "id": "9470b636.3af698",
- "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": 339.35311126708984,
- "y": 2554.349449157715,
- "z": "46985608.45d728",
- "wires": [
- []
- ]
- },
- {
- "id": "3e45c56a.355fba",
- "type": "set",
- "name": "set ss.capability-type = vnf",
- "xml": "<set>\n<parameter name='ss.capability-type' value='vnf' />\n",
- "comments": "",
- "x": 363.39292907714844,
- "y": 1327.5357942581177,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "8db9b3e7.403cc8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 836.5356597900391,
- "y": 1384.892903327942,
- "z": "46985608.45d728",
- "wires": [
- [
- "c4c6fe75.ec2388",
- "4d6ae8ce.a99a2"
- ]
- ]
- },
- {
- "id": "8252aebc.5df44",
- "type": "for",
- "name": "for each existing VNF",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 985.5357284545898,
- "y": 304.78579807281494,
- "z": "46985608.45d728",
- "wires": [
- [
- "5cfbf2.554b941"
- ]
- ]
- },
- {
- "id": "5cfbf2.554b941",
- "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": 1262.821434020996,
- "y": 304.85728549957275,
- "z": "46985608.45d728",
- "wires": [
- [
- "2128570f.c158f"
- ]
- ]
- },
- {
- "id": "2128570f.c158f",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1485.6072006225586,
- "y": 304.4287576675415,
- "z": "46985608.45d728",
- "wires": [
- [
- "eb37f3e2.ce392"
- ]
- ]
- },
- {
- "id": "eb37f3e2.ce392",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1618.0714530944824,
- "y": 304.46431827545166,
- "z": "46985608.45d728",
- "wires": [
- [
- "52f1ea82.cb4e34",
- "432297ea.ffb6e",
- "349806c9.e96892"
- ]
- ]
- },
- {
- "id": "52f1ea82.cb4e34",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1785.964241027832,
- "y": 390.4642963409424,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "550b07af.2d8658",
- "type": "set",
- "name": "set new vnf_length = 1",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='1' />\n",
- "comments": "",
- "x": 996.142951965332,
- "y": 227.82148838043213,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "432297ea.ffb6e",
- "type": "set",
- "name": "set vnf-index = idx",
- "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
- "comments": "",
- "x": 1816.5357971191406,
- "y": 347.2499752044678,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "a48cbf50.8520d",
- "type": "set",
- "name": "set is-new-vnf = true",
- "xml": "<set>\n<parameter name='is-new-vnf' value='true' />\n",
- "comments": "",
- "x": 349.3929214477539,
- "y": 164.32144355773926,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "349806c9.e96892",
- "type": "set",
- "name": "set is-new-vnf = false",
- "xml": "<set>\n<parameter name='is-new-vnf' value='false' />\n",
- "comments": "",
- "x": 1824.5714836120605,
- "y": 303.9643201828003,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "f865c6ab.95d9",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 775.7500228881836,
- "y": 304.2500162124634,
- "z": "46985608.45d728",
- "wires": [
- [
- "8252aebc.5df44",
- "5f2b6eec.7ce8f8"
- ]
- ]
- },
- {
- "id": "5f2b6eec.7ce8f8",
- "type": "switchNode",
- "name": "switch is-new-vnf",
- "xml": "<switch test='`$is-new-vnf`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 973.2500152587891,
- "y": 390.8214178085327,
- "z": "46985608.45d728",
- "wires": [
- [
- "13b8df2d.2675e1"
- ]
- ]
- },
- {
- "id": "13b8df2d.2675e1",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1153.1071701049805,
- "y": 390.39286518096924,
- "z": "46985608.45d728",
- "wires": [
- [
- "e518d754.42ca68"
- ]
- ]
- },
- {
- "id": "98b86e0.9a1f69",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 791.2499923706055,
- "y": 182.99999713897705,
- "z": "46985608.45d728",
- "wires": [
- [
- "1b8d17c2.822de",
- "550b07af.2d8658"
- ]
- ]
- },
- {
- "id": "80f3305a.6722d8",
- "type": "other",
- "name": "0",
- "xml": "<outcome value='0'>\n",
- "comments": "",
- "outputs": 1,
- "x": 635.7499923706055,
- "y": 242.74999904632568,
- "z": "46985608.45d728",
- "wires": [
- [
- "98b86e0.9a1f69"
- ]
- ]
- },
- {
- "id": "818a22c.a82fbe",
- "type": "switchNode",
- "name": "switch is-new-vnf",
- "xml": "<switch test='`$is-new-vnf`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 337.25000381469727,
- "y": 558.2500057220459,
- "z": "46985608.45d728",
- "wires": [
- [
- "57fdfbd7.0bb994"
- ]
- ]
- },
- {
- "id": "57fdfbd7.0bb994",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 517.1071586608887,
- "y": 557.8214530944824,
- "z": "46985608.45d728",
- "wires": [
- [
- "9b585f6f.16442"
- ]
- ]
- },
- {
- "id": "699a17c5.2f4418",
- "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": 1501,
- "y": 437,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "e518d754.42ca68",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1298.9999771118164,
- "y": 389.99996185302734,
- "z": "46985608.45d728",
- "wires": [
- [
- "699a17c5.2f4418",
- "4e889749.bdf14"
- ]
- ]
- },
- {
- "id": "4e889749.bdf14",
- "type": "set",
- "name": "set vnf-index = vnf_length",
- "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
- "comments": "",
- "x": 1510.4999809265137,
- "y": 389.49996185302734,
- "z": "46985608.45d728",
- "wires": []
- },
- {
- "id": "9daf4747.49e728",
- "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": 2079.928611755371,
- "y": 2261.25,
- "z": "46985608.45d728",
- "wires": []
- }
-] \ No newline at end of file
+ {
+ "id": "d69b4aac.647588",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 121.66666412353516,
+ "y": 59.999996185302734,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "2849e3b8.45bb9c"
+ ]
+ ]
+ },
+ {
+ "id": "853836ae.79c2a8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 152.14286041259766,
+ "y": 182.27778244018555,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "57aa1f79.ff47b",
+ "fdd51c96.2d89",
+ "5ac18b5f.1d7c44",
+ "29496a14.3d5ef6",
+ "cf3af1fb.cae0d",
+ "2989260.b2650da",
+ "442acc2c.485fa4",
+ "595e6289.903d8c",
+ "2e34ccd3.bb5994"
+ ]
+ ]
+ },
+ {
+ "id": "8eef5a36.786b28",
+ "type": "method",
+ "name": "method self-serve-vnf-assign",
+ "xml": "<method rpc='self-serve-vnf-assign' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 238.42857360839844,
+ "y": 114.7063512802124,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "853836ae.79c2a8"
+ ]
+ ]
+ },
+ {
+ "id": "2849e3b8.45bb9c",
+ "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.9048614501953,
+ "y": 60.19048881530762,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "8eef5a36.786b28"
+ ]
+ ]
+ },
+ {
+ "id": "fdd51c96.2d89",
+ "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": 440.34532165527344,
+ "y": 1402.512001991272,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "60e3d6fb.cf4158"
+ ]
+ ]
+ },
+ {
+ "id": "60e3d6fb.cf4158",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 702.3453521728516,
+ "y": 1402.512001991272,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "d6105627.c8e418"
+ ]
+ ]
+ },
+ {
+ "id": "b53240df.c07bf",
+ "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": 1217.6310119628906,
+ "y": 1452.0834331512451,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "2e191127.f108ee"
+ ]
+ ]
+ },
+ {
+ "id": "5891962b.ba3ee8",
+ "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": 1689.3452529907227,
+ "y": 1451.654836654663,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "6efb148b.cf375c",
+ "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": 665.5241241455078,
+ "y": 1770.012080192566,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "65887e2e.f61d8",
+ "52e1b29f.bb361c"
+ ]
+ ]
+ },
+ {
+ "id": "57aa1f79.ff47b",
+ "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-assignment' />\n<parameter name='ss.capability.execution-order[6]' value='eipam-create-pool' />\n<parameter
+name='ss.capability.execution-order[7]' value='netbox-ip-assign' />\n<parameter name='ss.capability.execution-order[8]' value='mac-address-assign' />\n<parameter name='ss.capability.execution-order[9]' value='mS-mac-address-assign' />\n<parameter name='ss.capability.execution-order[10]' value='create-vpe-pool' />\n<parameter name='ss.capability.execution-order[11]' value='unresolved-composite-data' />\n<parameter name='ss.capability.execution-order[12]' value='aai-vnf-put' />\n<parameter name='ss.capability.execution-order_length' value='13' />\n",
+ "comments": "",
+ "x": 414.1905059814453,
+ "y": 1241.0001363754272,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "5ac18b5f.1d7c44",
+ "type": "for",
+ "name": "foreach capability[]",
+ "xml": "<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 369.59535217285156,
+ "y": 1510.1190967559814,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "38b7eff2.abaa",
+ "d79a38d7.5d4d98",
+ "6efb148b.cf375c",
+ "13e94191.0506de"
+ ]
+ ]
+ },
+ {
+ "id": "52e1b29f.bb361c",
+ "type": "switchNode",
+ "name": "switch capability-name",
+ "xml": "<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 969.9169464111328,
+ "y": 1815.654872894287,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "e9beff60.c1b47"
+ ]
+ ]
+ },
+ {
+ "id": "e9beff60.c1b47",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1233.4169464111328,
+ "y": 1815.904872894287,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "5bdd6d8.cb05594"
+ ]
+ ]
+ },
+ {
+ "id": "2e191127.f108ee",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1535.2023582458496,
+ "y": 1451.5120267868042,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "5891962b.ba3ee8"
+ ]
+ ]
+ },
+ {
+ "id": "38b7eff2.abaa",
+ "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": 625.9524078369141,
+ "y": 1510.071548461914,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "65887e2e.f61d8",
+ "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": 981.2739715576172,
+ "y": 1770.2620830535889,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "d79a38d7.5d4d98",
+ "type": "set",
+ "name": "set ss.capability-action = assign",
+ "xml": "<set>\n<parameter name='ss.capability-action' value='assign' />\n",
+ "comments": "",
+ "x": 654.6665496826172,
+ "y": 1556.9881324768066,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "13e94191.0506de",
+ "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": 717.1786422729492,
+ "y": 1610.464376449585,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "29496a14.3d5ef6",
+ "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": 443.15480041503906,
+ "y": 1294.750144958496,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "8cef310a.fddca",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 699.5952033996582,
+ "y": 575.4642992019653,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "cb0b24ee.fbda78",
+ "4678e991.fe0228",
+ "891158b7.7641c8",
+ "19bb5ed9.08b021",
+ "6dc3189.4dc75e8",
+ "7f0c1909.1cc738",
+ "29aed783.5eada8",
+ "b2f7bf66.a949e",
+ "2cb1cef8.ac7872"
+ ]
+ ]
+ },
+ {
+ "id": "cb0b24ee.fbda78",
+ "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": 915.0951461791992,
+ "y": 576.5238075256348,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "8d586e30.441d2",
+ "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": 1108.6312408447266,
+ "y": 1402.3808307647705,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "891158b7.7641c8",
+ "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": 980.3851013183594,
+ "y": 1150.5040168762207,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "4678e991.fe0228",
+ "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": 897.7620162963867,
+ "y": 1100.3096561431885,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "f2f46e9c.cd6da",
+ "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": 1312.0953369140625,
+ "y": 688.8810367584229,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "19bb5ed9.08b021",
+ "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": 952.9524116516113,
+ "y": 711.7054805755615,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "59da9427.77060c",
+ "e199643e.d97208"
+ ]
+ ]
+ },
+ {
+ "id": "59da9427.77060c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1161.619083404541,
+ "y": 688.8484439849854,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "f2f46e9c.cd6da"
+ ]
+ ]
+ },
+ {
+ "id": "e199643e.d97208",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1163.047679901123,
+ "y": 733.1340351104736,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "e42ceacb.598138"
+ ]
+ ]
+ },
+ {
+ "id": "e42ceacb.598138",
+ "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": 1317.3334159851074,
+ "y": 732.5626072883606,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "29f5b35d.29bc7c",
+ "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": 1313.047607421875,
+ "y": 777.4197130203247,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "6dc3189.4dc75e8",
+ "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": 922.5714302062988,
+ "y": 800.2442178726196,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "8c03daa9.ef0868",
+ "8ef01a18.f777c8"
+ ]
+ ]
+ },
+ {
+ "id": "8c03daa9.ef0868",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1162.571403503418,
+ "y": 777.387149810791,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "29f5b35d.29bc7c"
+ ]
+ ]
+ },
+ {
+ "id": "8ef01a18.f777c8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1164,
+ "y": 821.6727409362793,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "8f583b38.b3ca88"
+ ]
+ ]
+ },
+ {
+ "id": "8f583b38.b3ca88",
+ "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": 1318.2857360839844,
+ "y": 821.1013131141663,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "8ecfcd2a.b444f",
+ "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": 1310.1905403137207,
+ "y": 866.2769203186035,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "7f0c1909.1cc738",
+ "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": 933.7143020629883,
+ "y": 889.1013650894165,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "70b1cafe.70c534",
+ "e0d33652.2c6678"
+ ]
+ ]
+ },
+ {
+ "id": "70b1cafe.70c534",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1159.7142868041992,
+ "y": 866.244327545166,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "8ecfcd2a.b444f"
+ ]
+ ]
+ },
+ {
+ "id": "e0d33652.2c6678",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1161.1428833007812,
+ "y": 910.5299186706543,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "b303ac7b.e45d2"
+ ]
+ ]
+ },
+ {
+ "id": "b303ac7b.e45d2",
+ "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": 1315.4286193847656,
+ "y": 909.9584908485413,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "a0c9d49b.ad59b8",
+ "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": 1310.1905403137207,
+ "y": 953.4197425842285,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "29aed783.5eada8",
+ "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": 928.7143020629883,
+ "y": 976.2441873550415,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "e66234a9.911278",
+ "adbe9c1f.f9c78"
+ ]
+ ]
+ },
+ {
+ "id": "e66234a9.911278",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1159.7142868041992,
+ "y": 953.387149810791,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "a0c9d49b.ad59b8"
+ ]
+ ]
+ },
+ {
+ "id": "adbe9c1f.f9c78",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1161.1428833007812,
+ "y": 997.6727409362793,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "df7a880.bcfde78"
+ ]
+ ]
+ },
+ {
+ "id": "df7a880.bcfde78",
+ "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": 1315.4286193847656,
+ "y": 997.1013131141663,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "b2f7bf66.a949e",
+ "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": 879.0713729858398,
+ "y": 628.0388450622559,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "2cb1cef8.ac7872",
+ "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": 941.4998893737793,
+ "y": 1049.0863914489746,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "595e6289.903d8c",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 425.7499542236328,
+ "y": 262.4284963607788,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "18255159.e40b7f",
+ "772fa4ef.017aac",
+ "1c932b60.e73ca5"
+ ]
+ ]
+ },
+ {
+ "id": "18255159.e40b7f",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 667.9643402099609,
+ "y": 200.9879274368286,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "92b4b346.1e12f"
+ ]
+ ]
+ },
+ {
+ "id": "548cf92c.4ba008",
+ "type": "set",
+ "name": "set vnf-index=0",
+ "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
+ "comments": "",
+ "x": 1003.2500457763672,
+ "y": 200.4880018234253,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "772fa4ef.017aac",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 669.1428680419922,
+ "y": 322.60711669921875,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "7437693b.b40168"
+ ]
+ ]
+ },
+ {
+ "id": "5bdd6d8.cb05594",
+ "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": 504.6788749694824,
+ "y": 2072.472294807434,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "87166833.ca4098",
+ "68489653.550b68"
+ ]
+ ]
+ },
+ {
+ "id": "87166833.ca4098",
+ "type": "other",
+ "name": "PENDING",
+ "xml": "<outcome value='PENDING'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 774.0360908508301,
+ "y": 2072.4722509384155,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "a28cc088.525e6"
+ ]
+ ]
+ },
+ {
+ "id": "68489653.550b68",
+ "type": "other",
+ "name": "FAILED",
+ "xml": "<outcome value='FAILED'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 767.571907043457,
+ "y": 2123.4365816116333,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "a28cc088.525e6"
+ ]
+ ]
+ },
+ {
+ "id": "a28cc088.525e6",
+ "type": "call",
+ "name": "call ss.capability-dg",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 982.6906394958496,
+ "y": 2124.1984329223633,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "82a3fc61.8f2e5"
+ ]
+ ]
+ },
+ {
+ "id": "71a33c12.b5a3d4",
+ "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": 1550.238079071045,
+ "y": 2378.17488861084,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "82a3fc61.8f2e5",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1167.5831489562988,
+ "y": 2124.1984939575195,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "1db677fa.c5f998"
+ ]
+ ]
+ },
+ {
+ "id": "1db677fa.c5f998",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1330.857265472412,
+ "y": 2123.5080347061157,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "71a33c12.b5a3d4",
+ "e1fec547.7327d8",
+ "c36d6a8.879dc98",
+ "32c8d030.41dd8",
+ "c0352a22.0df598"
+ ]
+ ]
+ },
+ {
+ "id": "c36d6a8.879dc98",
+ "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": 1654.190357208252,
+ "y": 2177.024594306946,
+ "z": "2539c931.d4e596",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c0352a22.0df598",
+ "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": 1623.6546516418457,
+ "y": 2279.8818159103394,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "9f3adb33.27f9d8",
+ "d80b620b.99918"
+ ]
+ ]
+ },
+ {
+ "id": "9f3adb33.27f9d8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1898.2483177185059,
+ "y": 2333.879969596863,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "b1619288.dfed9"
+ ]
+ ]
+ },
+ {
+ "id": "d80b620b.99918",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1890.6769523620605,
+ "y": 2280.3799896240234,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "b1619288.dfed9"
+ ]
+ ]
+ },
+ {
+ "id": "e1fec547.7327d8",
+ "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": 1606.6426582336426,
+ "y": 2123.1191062927246,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "32c8d030.41dd8",
+ "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": 1618.4760627746582,
+ "y": 2227.8333625793457,
+ "z": "2539c931.d4e596",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2989260.b2650da",
+ "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": 370.019775390625,
+ "y": 2572.3494453430176,
+ "z": "2539c931.d4e596",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "cf3af1fb.cae0d",
+ "type": "set",
+ "name": "set ss.capability-type = vnf",
+ "xml": "<set>\n<parameter name='ss.capability-type' value='vnf' />\n",
+ "comments": "",
+ "x": 394.0595932006836,
+ "y": 1345.5357904434204,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "d6105627.c8e418",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 867.2023239135742,
+ "y": 1402.8928995132446,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "8d586e30.441d2",
+ "b53240df.c07bf"
+ ]
+ ]
+ },
+ {
+ "id": "727eaad0.1e6e64",
+ "type": "for",
+ "name": "for each existing VNF",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1016.202392578125,
+ "y": 322.7857942581177,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "f9213ecd.2658a"
+ ]
+ ]
+ },
+ {
+ "id": "f9213ecd.2658a",
+ "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": 1293.4880981445312,
+ "y": 322.8572816848755,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "6fc117d2.eaa0b8"
+ ]
+ ]
+ },
+ {
+ "id": "6fc117d2.eaa0b8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1516.2738647460938,
+ "y": 322.42875385284424,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "f035c4cb.688108"
+ ]
+ ]
+ },
+ {
+ "id": "f035c4cb.688108",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1648.7381172180176,
+ "y": 322.4643144607544,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "ddc53ec7.8a8ad",
+ "a4bfc95d.69a428",
+ "99a6f232.c02bc"
+ ]
+ ]
+ },
+ {
+ "id": "ddc53ec7.8a8ad",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1816.6309051513672,
+ "y": 408.4642925262451,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "4d1804cd.00019c",
+ "type": "set",
+ "name": "set new vnf_length = 1",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='1' />\n",
+ "comments": "",
+ "x": 1026.8096160888672,
+ "y": 245.82148456573486,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "a4bfc95d.69a428",
+ "type": "set",
+ "name": "set vnf-index = idx",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 1847.2024612426758,
+ "y": 365.2499713897705,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "442acc2c.485fa4",
+ "type": "set",
+ "name": "set is-new-vnf = true",
+ "xml": "<set>\n<parameter name='is-new-vnf' value='true' />\n",
+ "comments": "",
+ "x": 380.05958557128906,
+ "y": 182.321439743042,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "99a6f232.c02bc",
+ "type": "set",
+ "name": "set is-new-vnf = false",
+ "xml": "<set>\n<parameter name='is-new-vnf' value='false' />\n",
+ "comments": "",
+ "x": 1855.2381477355957,
+ "y": 321.964316368103,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "7437693b.b40168",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 806.4166870117188,
+ "y": 322.2500123977661,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "727eaad0.1e6e64",
+ "fb374db8.2b8eb"
+ ]
+ ]
+ },
+ {
+ "id": "fb374db8.2b8eb",
+ "type": "switchNode",
+ "name": "switch is-new-vnf",
+ "xml": "<switch test='`$is-new-vnf`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1003.9166793823242,
+ "y": 408.82141399383545,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "e7bfcf3d.b7f14"
+ ]
+ ]
+ },
+ {
+ "id": "e7bfcf3d.b7f14",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1183.7738342285156,
+ "y": 408.392861366272,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "aecd914d.44c7b"
+ ]
+ ]
+ },
+ {
+ "id": "92b4b346.1e12f",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 821.9166564941406,
+ "y": 200.99999332427979,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "548cf92c.4ba008",
+ "4d1804cd.00019c"
+ ]
+ ]
+ },
+ {
+ "id": "1c932b60.e73ca5",
+ "type": "other",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 666.4166564941406,
+ "y": 260.7499952316284,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "92b4b346.1e12f"
+ ]
+ ]
+ },
+ {
+ "id": "2e34ccd3.bb5994",
+ "type": "switchNode",
+ "name": "switch is-new-vnf",
+ "xml": "<switch test='`$is-new-vnf`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 367.9166679382324,
+ "y": 576.2500019073486,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "1c1e89f5.887da6"
+ ]
+ ]
+ },
+ {
+ "id": "1c1e89f5.887da6",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 547.7738227844238,
+ "y": 575.8214492797852,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "8cef310a.fddca"
+ ]
+ ]
+ },
+ {
+ "id": "535721ac.1a29a",
+ "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": 1531.6666641235352,
+ "y": 454.99999618530273,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "aecd914d.44c7b",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1329.6666412353516,
+ "y": 407.9999580383301,
+ "z": "2539c931.d4e596",
+ "wires": [
+ [
+ "535721ac.1a29a",
+ "189baa3c.c7d166"
+ ]
+ ]
+ },
+ {
+ "id": "189baa3c.c7d166",
+ "type": "set",
+ "name": "set vnf-index = vnf_length",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
+ "comments": "",
+ "x": 1541.1666450500488,
+ "y": 407.4999580383301,
+ "z": "2539c931.d4e596",
+ "wires": []
+ },
+ {
+ "id": "b1619288.dfed9",
+ "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": 2110.5952758789062,
+ "y": 2279.2499961853027,
+ "z": "2539c931.d4e596",
+ "wires": []
+ }
+]
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
index db153ffb..a29a7160 100644
--- 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
@@ -1,20 +1,20 @@
[
{
- "id": "57248231.a7bfcc",
+ "id": "dc9ceada.747c9",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 108.75,
- "y": 47.5,
- "z": "484e90dc.3bd078",
+ "x": 79,
+ "y": 59,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "1d542904.ad727f"
+ "6bbe4a7.598cb34"
]
]
},
{
- "id": "1d542904.ad727f",
+ "id": "6bbe4a7.598cb34",
"type": "service-logic",
"name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
@@ -22,320 +22,360 @@
"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",
+ "x": 355,
+ "y": 60,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "e103515d.6bcd18"
+ "bb95c798.3cf368"
]
]
},
{
- "id": "e103515d.6bcd18",
+ "id": "bb95c798.3cf368",
"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",
+ "x": 672,
+ "y": 60,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "42a27363.ddaeac"
+ "72afded.b78132"
]
]
},
{
- "id": "42a27363.ddaeac",
+ "id": "72afded.b78132",
"type": "block",
- "name": "block atomic",
- "xml": "<block atomic=\"true\">\n",
- "atomic": "false",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
"comments": "",
"outputs": 1,
- "x": 127.25,
- "y": 130.5,
- "z": "484e90dc.3bd078",
+ "x": 97.5,
+ "y": 142,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "1c0659a3.13cfde",
- "ec3506ba.e14a98"
+ "7eab9742.528a9",
+ "c971c45d.67ed58"
]
]
},
{
- "id": "30d6be53.aefb4a",
+ "id": "7e2d788f.d439a8",
"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`' />",
+ "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`' />\n <parameter name='ss.input.param.found.in.service.param' value='true' />\n <parameter name='ss.capability-type' value='vnf' />\n <parameter name='ss.capability-action' value='changeassign' />",
"comments": "",
- "x": 1343.75,
- "y": 548.5,
- "z": "484e90dc.3bd078",
+ "x": 1907,
+ "y": 446,
+ "z": "ea55fe64.6b3f48",
"wires": []
},
{
- "id": "1c0659a3.13cfde",
+ "id": "7eab9742.528a9",
"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",
+ "x": 340,
+ "y": 185,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "8a1cd82.5d583a8"
+ "b93197e8.d9d048"
]
]
},
{
- "id": "8a1cd82.5d583a8",
+ "id": "b93197e8.d9d048",
"type": "outcome",
"name": "null",
"xml": "<outcome value=''>",
"comments": "",
"outputs": 1,
- "x": 599.8928833007812,
- "y": 173.35714721679688,
- "z": "484e90dc.3bd078",
+ "x": 570.1428833007812,
+ "y": 184.85714721679688,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "37bbdbba.52315c"
+ "589a47b7.bf05e"
]
]
},
{
- "id": "37bbdbba.52315c",
+ "id": "589a47b7.bf05e",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 743,
+ "y": 185,
+ "z": "ea55fe64.6b3f48",
"wires": []
},
{
- "id": "ec3506ba.e14a98",
+ "id": "c971c45d.67ed58",
"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",
+ "x": 367,
+ "y": 309,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "14eea10b.aad3ff"
+ "a56c6c88.4c89e8"
]
]
},
{
- "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",
+ "id": "a56c6c88.4c89e8",
"type": "switchNode",
- "name": "switch",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`'>\n\n",
+ "name": "switch service param length null",
+ "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",
+ "x": 670,
+ "y": 310,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "3da72d90.fc11a2"
+ "34cc20c5.be038"
]
]
},
{
- "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",
+ "id": "80ac5f3.6ad6ca",
"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",
+ "x": 1038,
+ "y": 447,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "1937b752.ee7f01"
+ "9335b73a.1c0978"
]
]
},
{
- "id": "1937b752.ee7f01",
+ "id": "9335b73a.1c0978",
"type": "switchNode",
- "name": "switch input vnf-name",
+ "name": "switch match for 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",
+ "x": 1369,
+ "y": 447,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "c29b5f3e.26a9e",
- "7e31cc58.38af8c"
+ "94ee529d.b53828"
]
]
},
{
- "id": "7e31cc58.38af8c",
+ "id": "94ee529d.b53828",
"type": "not-found",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1007.75,
- "y": 548.5,
- "z": "484e90dc.3bd078",
+ "x": 1559,
+ "y": 447,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "380d4f5a.84c61"
+ "97f03230.8c76b8"
]
]
},
{
- "id": "c29b5f3e.26a9e",
+ "id": "ad40df27.b42668",
"type": "not-found",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 1015.75,
- "y": 430.5,
- "z": "484e90dc.3bd078",
+ "x": 1153,
+ "y": 531,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "97ff5a7e.916158"
+ "c7b41da6.be73e"
]
]
},
{
- "id": "97ff5a7e.916158",
+ "id": "c7b41da6.be73e",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 1349,
+ "y": 531,
+ "z": "ea55fe64.6b3f48",
"wires": []
},
{
- "id": "380d4f5a.84c61",
+ "id": "97f03230.8c76b8",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic='true'>",
"atomic": "true",
"comments": "",
"outputs": 1,
- "x": 1168.75,
- "y": 547.5,
- "z": "484e90dc.3bd078",
+ "x": 1714,
+ "y": 445,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "30d6be53.aefb4a",
- "e0135d7c.04a028"
+ "7e2d788f.d439a8",
+ "ada6d713.8fde8",
+ "8f887c51.38a1b"
]
]
},
{
- "id": "e0135d7c.04a028",
+ "id": "ada6d713.8fde8",
"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",
+ "x": 2018,
+ "y": 515,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "f8df579c.55d728",
- "5a6cefeb.f45dc"
+ "e152b55.54f7b48",
+ "e8deb550.a2fdb"
]
]
},
{
- "id": "f8df579c.55d728",
+ "id": "e152b55.54f7b48",
"type": "failure",
"name": "failure",
"xml": "<outcome value='failure'>\n",
"comments": "",
"outputs": 1,
- "x": 1710.75,
- "y": 596.5,
- "z": "484e90dc.3bd078",
+ "x": 2268,
+ "y": 487,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "11426210.f443de"
+ "b0b66b18.a254d8"
]
]
},
{
- "id": "5a6cefeb.f45dc",
+ "id": "e8deb550.a2fdb",
"type": "failure",
"name": "not-found",
"xml": "<outcome value='not-found'>\n",
"comments": "",
"outputs": 1,
- "x": 1720.75,
- "y": 664.5,
- "z": "484e90dc.3bd078",
+ "x": 2278,
+ "y": 555,
+ "z": "ea55fe64.6b3f48",
"wires": [
[
- "11426210.f443de"
+ "b0b66b18.a254d8"
]
]
},
{
- "id": "11426210.f443de",
+ "id": "b0b66b18.a254d8",
"type": "returnFailure",
"name": "return failure",
"xml": "<return 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",
+ "x": 2462,
+ "y": 516,
+ "z": "ea55fe64.6b3f48",
+ "wires": []
+ },
+ {
+ "id": "34cc20c5.be038",
+ "type": "other",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 885,
+ "y": 310,
+ "z": "ea55fe64.6b3f48",
+ "wires": [
+ [
+ "8ae41419.5f27e8"
+ ]
+ ]
+ },
+ {
+ "id": "a74b1481.6af278",
+ "type": "set",
+ "name": "set",
+ "xml": "<set>\n <parameter name='ss.input.param.found.in.service.param' value='false' />",
+ "comments": "",
+ "x": 895,
+ "y": 388,
+ "z": "ea55fe64.6b3f48",
"wires": []
+ },
+ {
+ "id": "d662c9f0.cf7fb",
+ "type": "switchNode",
+ "name": "switch if found vnf_name",
+ "xml": "<switch test='`$ss.input.param.found.in.service.param`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 952,
+ "y": 531,
+ "z": "ea55fe64.6b3f48",
+ "wires": [
+ [
+ "ad40df27.b42668"
+ ]
+ ]
+ },
+ {
+ "id": "8f887c51.38a1b",
+ "type": "returnSuccess",
+ "name": "return success",
+ "xml": "<return status='success'>\n",
+ "comments": "",
+ "x": 1930,
+ "y": 588,
+ "z": "ea55fe64.6b3f48",
+ "wires": []
+ },
+ {
+ "id": "8ae41419.5f27e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 711,
+ "y": 388,
+ "z": "ea55fe64.6b3f48",
+ "wires": [
+ [
+ "a74b1481.6af278",
+ "80ac5f3.6ad6ca",
+ "d662c9f0.cf7fb"
+ ]
+ ]
}
] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.json
new file mode 100644
index 00000000..01ed9ebd
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.json
@@ -0,0 +1 @@
+[{"id":"1284ed23.657453","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":1243.9763069152832,"y":603.8054723739624,"z":"1f61e7a0.144808","wires":[["f8ddee41.0e7e9","b3830959.6c1f78"]]},{"id":"f8ddee41.0e7e9","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1547.047695159912,"y":576.4841375350952,"z":"1f61e7a0.144808","wires":[["67417dab.a05484"]]},{"id":"d74e30f4.07f07","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":764.1071166992188,"y":353.2936897277832,"z":"1f61e7a0.144808","wires":[["7e74cdbe.43af14","f5f8dd62.12aac"]]},{"id":"bfad4ea.c0e0db","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":470.2142639160156,"y":353.79372215270996,"z":"1f61e7a0.144808","wires":[["d74e30f4.07f07"]]},{"id":"ccf8b71d.f158e8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":954.416862487793,"y":603.7577362060547,"z":"1f61e7a0.144808","wires":[["1284ed23.657453"]]},{"id":"b3830959.6c1f78","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1549.9404411315918,"y":633.0911417007446,"z":"1f61e7a0.144808","wires":[["76d063d3.bd38dc"]]},{"id":"c530e9c7.3514e8","type":"set","name":"set tmp.exist.sdnc-artifact-name = true","xml":"<set>\n<parameter name='tmp.exist.sdnc-artifact-name' value='true' />","comments":"","x":1306.0000457763672,"y":403.1508598327637,"z":"1f61e7a0.144808","wires":[]},{"id":"6c2c6644.286868","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":1302.714153289795,"y":353.15087509155273,"z":"1f61e7a0.144808","wires":[]},{"id":"95a85864.4bde28","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":581.4880447387695,"y":556.1625738143921,"z":"1f61e7a0.144808","wires":[["8f4db6d4.0793f8","ccf8b71d.f158e8"]]},{"id":"8f4db6d4.0793f8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":956.6667366027832,"y":514.2815885543823,"z":"1f61e7a0.144808","wires":[["1477797b.423117"]]},{"id":"f659dbff.526c88","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":177.14282989501953,"y":385.9604301452637,"z":"1f61e7a0.144808","wires":[["bfad4ea.c0e0db","95a85864.4bde28","503c0074.2ea6c","8abdee5f.b8151"]]},{"id":"d4d93dda.eeb53","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":170.71427154541016,"y":338.1032781600952,"z":"1f61e7a0.144808","wires":[]},{"id":"7e74cdbe.43af14","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":1020.2856924874441,"y":353.1984841482979,"z":"1f61e7a0.144808","wires":[["6c2c6644.286868"]]},{"id":"f5f8dd62.12aac","type":"outcome","name":"sdnc_artifact_name","xml":"<outcome value='sdnc_artifact_name'>\n","comments":"","outputs":1,"x":1023.1428146362305,"y":402.6270561218262,"z":"1f61e7a0.144808","wires":[["c530e9c7.3514e8"]]},{"id":"503c0074.2ea6c","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":590.3016204833984,"y":256.4245910644531,"z":"1f61e7a0.144808","wires":[]},{"id":"8abdee5f.b8151","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":488.7301788330078,"y":302.2340955734253,"z":"1f61e7a0.144808","wires":[["eb13f669.fdd2b8"]]},{"id":"eb13f669.fdd2b8","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":752.3015975952148,"y":302.51983547210693,"z":"1f61e7a0.144808","wires":[["6b92f9f0.29faf8"]]},{"id":"6b92f9f0.29faf8","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":1026.0158386230469,"y":302.37699699401855,"z":"1f61e7a0.144808","wires":[]},{"id":"324af5b7.ccc2ba","type":"dgstart","name":"DGSTART","outputs":1,"x":147.14285278320312,"y":48.57143020629883,"z":"1f61e7a0.144808","wires":[["70b66976.7d2788"]]},{"id":"70b66976.7d2788","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":261.4285583496094,"y":88.80954170227051,"z":"1f61e7a0.144808","wires":[["75b34d55.69f444"]]},{"id":"75b34d55.69f444","type":"method","name":"method self-serve-vnf-forking-logic","xml":"<method rpc='self-serve-vnf-forking-logic' mode='sync'>\n","comments":"","outputs":1,"x":243.57147979736328,"y":128.57143020629883,"z":"1f61e7a0.144808","wires":[["f659dbff.526c88"]]},{"id":"76d063d3.bd38dc","type":"set","name":"set ss.self-serve-flag = false","xml":"<set>\n<parameter name='ss.self-serve-flag' value='false' />\n","comments":"","x":1766.8572006225586,"y":633.1428499221802,"z":"1f61e7a0.144808","wires":[]},{"id":"1477797b.423117","type":"set","name":"set ss.self-serve-flag = true","xml":"<set>\n<parameter name='ss.self-serve-flag' value='true' />\n","comments":"","x":1170.8570938110352,"y":514.5714168548584,"z":"1f61e7a0.144808","wires":[]},{"id":"67417dab.a05484","type":"set","name":"set ss.self-serve-flag = true","xml":"<set>\n<parameter name='ss.self-serve-flag' value='true' />\n","comments":"","x":1761.1429443359375,"y":576.4285888671875,"z":"1f61e7a0.144808","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 52960e75..416c3567 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 +1 @@
-[{"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.features.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
+[{"id":"c18dd0f9.58727","type":"dgstart","name":"DGSTART","outputs":1,"x":162.5,"y":51.25,"z":"db4d8927.c835e8","wires":[["3abf9c0.ecf0964"]]},{"id":"3abf9c0.ecf0964","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":438.5,"y":52.25,"z":"db4d8927.c835e8","wires":[["803f517d.bdb5f"]]},{"id":"803f517d.bdb5f","type":"method","name":"self-serve-vnf-ra-assignment","xml":"<method rpc='self-serve-vnf-ra-assignment' mode='sync'>\n","comments":"","outputs":1,"x":755.5,"y":52.25,"z":"db4d8927.c835e8","wires":[["c0bfd174.8b034"]]},{"id":"c0bfd174.8b034","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":175,"y":134.25,"z":"db4d8927.c835e8","wires":[["c7d0aa3e.1f9928","4a04d1ee.9397b","e82b91b1.0943d","55af9001.e4eea","728e10ce.4b8fa","2f87ad04.767612","fa79cd52.116e9","b979210b.3162f","17e1aa24.ca45d6","6f8ac645.2ca6c8"]]},{"id":"4a04d1ee.9397b","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":359.5,"y":180.25,"z":"db4d8927.c835e8","wires":[]},{"id":"483ff573.75485c","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":899.642822265625,"y":570.5356521606445,"z":"db4d8927.c835e8","wires":[["44a38892.6019f8","ac900801.0a6828","5f77bf0b.24eac"]]},{"id":"44a38892.6019f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1144.642921447754,"y":519.8213758468628,"z":"db4d8927.c835e8","wires":[["59118b3e.35e0a4"]]},{"id":"59118b3e.35e0a4","type":"returnFailure","name":"return failure","xml":"<return 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":1317.642921447754,"y":518.8213758468628,"z":"db4d8927.c835e8","wires":[]},{"id":"a31fbae3.b74338","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":1520.0714225769043,"y":619.9641799926758,"z":"db4d8927.c835e8","wires":[]},{"id":"88b4b67c.639308","type":"returnFailure","name":"return failure","xml":"<return 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":1319.642921447754,"y":567.8213758468628,"z":"db4d8927.c835e8","wires":[]},{"id":"728e10ce.4b8fa","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":420.642822265625,"y":571.5356521606445,"z":"db4d8927.c835e8","wires":[["1111f129.9c72ef"]]},{"id":"ac900801.0a6828","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1150.642921447754,"y":568.8213758468628,"z":"db4d8927.c835e8","wires":[["88b4b67c.639308"]]},{"id":"1111f129.9c72ef","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":669.642822265625,"y":571.5356521606445,"z":"db4d8927.c835e8","wires":[["483ff573.75485c"]]},{"id":"55af9001.e4eea","type":"for","name":"for vnf-topology-operation-input","xml":"<for silentFailure='true' index='i' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >","comments":"","outputs":1,"x":436.5,"y":371.25,"z":"db4d8927.c835e8","wires":[["747b461a.194698"]]},{"id":"747b461a.194698","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":658.5,"y":370.25,"z":"db4d8927.c835e8","wires":[["3389099.91489f6"]]},{"id":"4bc009a3.a11038","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":1309.5,"y":303.25,"z":"db4d8927.c835e8","wires":[]},{"id":"66cfa3a7.3ec30c","type":"outcome","name":"sdnc_model_name","xml":"<outcome value='sdnc_model_name'>\n","comments":"","outputs":1,"x":1055.5,"y":303.25,"z":"db4d8927.c835e8","wires":[["4bc009a3.a11038"]]},{"id":"3389099.91489f6","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":817.5,"y":370.25,"z":"db4d8927.c835e8","wires":[["66cfa3a7.3ec30c","65466864.3cce18","2e8e8f97.10fe8","4c15de05.cb106"]]},{"id":"65466864.3cce18","type":"outcome","name":"sdnc_model_version","xml":"<outcome value='sdnc_model_version'>\n","comments":"","outputs":1,"x":1058.5,"y":349.25,"z":"db4d8927.c835e8","wires":[["f5cfca7c.a43cd8"]]},{"id":"2e8e8f97.10fe8","type":"outcome","name":"sdnc_artifact_name","xml":"<outcome value='sdnc_artifact_name'>\n","comments":"","outputs":1,"x":1057.5,"y":398.25,"z":"db4d8927.c835e8","wires":[["785af194.60a78"]]},{"id":"f5cfca7c.a43cd8","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":1313.5,"y":349.25,"z":"db4d8927.c835e8","wires":[]},{"id":"785af194.60a78","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":1309.5,"y":398.25,"z":"db4d8927.c835e8","wires":[]},{"id":"968b75d6.3b3088","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":1325.5,"y":447.25,"z":"db4d8927.c835e8","wires":[]},{"id":"4c15de05.cb106","type":"outcome","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1017.5000076293945,"y":447.82142066955566,"z":"db4d8927.c835e8","wires":[["968b75d6.3b3088"]]},{"id":"2f87ad04.767612","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":430.5,"y":690.25,"z":"db4d8927.c835e8","wires":[]},{"id":"fa79cd52.116e9","type":"execute","name":"execute ConfigAssignment","xml":"<execute plugin='org.onap.ccsdk.features.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":416.5,"y":768.25,"z":"db4d8927.c835e8","wires":[["c4675012.d86e1","c8f90b0c.1f58f8"]]},{"id":"c4675012.d86e1","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":606.5,"y":744.25,"z":"db4d8927.c835e8","wires":[["535a9f1b.05a41"]]},{"id":"535a9f1b.05a41","type":"returnFailure","name":"return failure","xml":"<return 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":788.5,"y":765.25,"z":"db4d8927.c835e8","wires":[]},{"id":"17e1aa24.ca45d6","type":"for","name":"for resource-accumulator-resolved-data loop","xml":"<for silentFailure='true' index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >\n","comments":"","outputs":1,"x":462.5,"y":927.25,"z":"db4d8927.c835e8","wires":[["ed425c46.79672"]]},{"id":"e3b9243e.f61e88","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\t<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.capability-name`' value='RA Resolved'/>\n\t<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.status`' value='SUCCESS'/>\n","comments":"","x":1692.5,"y":979.25,"z":"db4d8927.c835e8","wires":[]},{"id":"6f8ac645.2ca6c8","type":"for","name":"for capability-data","xml":"<for silentFailure='true' index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >\n","comments":"","outputs":1,"x":387.5,"y":1269.25,"z":"db4d8927.c835e8","wires":[["932379f4.837008"]]},{"id":"932379f4.837008","type":"for","name":"for key-mapping","xml":"<for silentFailure='true' index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >","comments":"","outputs":1,"x":596.5,"y":1269.25,"z":"db4d8927.c835e8","wires":[["58f30c1e.ac4764"]]},{"id":"b979210b.3162f","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":406.5,"y":848.25,"z":"db4d8927.c835e8","wires":[[]]},{"id":"c7d0aa3e.1f9928","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":412.5,"y":134.25,"z":"db4d8927.c835e8","wires":[["ffb9d925.f87298"]]},{"id":"ffb9d925.f87298","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":590.5,"y":132.25,"z":"db4d8927.c835e8","wires":[["2ba77212.26bd3e"]]},{"id":"2ba77212.26bd3e","type":"returnFailure","name":"return failure","xml":"<return 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":737.5,"y":133.25,"z":"db4d8927.c835e8","wires":[]},{"id":"f891d06f.8860e","type":"for","name":"for vnf-parameters-data.param","xml":"<for silentFailure='true' 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":1435.5,"y":927.25,"z":"db4d8927.c835e8","wires":[["587a86e4.0e79d8"]]},{"id":"ed425c46.79672","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":741.5,"y":928.25,"z":"db4d8927.c835e8","wires":[["7692076e.df85b8","a1ab3cbb.c4d6f","365588a7.3d5038"]]},{"id":"e82b91b1.0943d","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":464.5,"y":232.25,"z":"db4d8927.c835e8","wires":[["6e8d4097.7255e","12d19eef.fe6b91"]]},{"id":"6e8d4097.7255e","type":"outcome","name":"null","xml":"<outcome value=''>","comments":"","outputs":1,"x":702.5,"y":200.25,"z":"db4d8927.c835e8","wires":[["e8a4f37a.1fbe8"]]},{"id":"12d19eef.fe6b91","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":701.5,"y":264.25,"z":"db4d8927.c835e8","wires":[["a6da2e5c.cfd95"]]},{"id":"e8a4f37a.1fbe8","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":915.5,"y":200.25,"z":"db4d8927.c835e8","wires":[]},{"id":"a6da2e5c.cfd95","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":900.5,"y":264.25,"z":"db4d8927.c835e8","wires":[]},{"id":"587a86e4.0e79d8","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":1693.5,"y":927.25,"z":"db4d8927.c835e8","wires":[["cda698bb.e51758"]]},{"id":"cda698bb.e51758","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1873.5,"y":927.25,"z":"db4d8927.c835e8","wires":[["97361ac8.670fe8"]]},{"id":"97361ac8.670fe8","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":2083.5,"y":928.25,"z":"db4d8927.c835e8","wires":[]},{"id":"365588a7.3d5038","type":"switchNode","name":"switch tmp.mso.param.not-found","xml":"<switch test='`$tmp.mso.param.found`'>\n","comments":"","outputs":1,"x":983.5,"y":980.25,"z":"db4d8927.c835e8","wires":[["75219e31.27d9c"]]},{"id":"75219e31.27d9c","type":"not-found","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1217.5,"y":979.25,"z":"db4d8927.c835e8","wires":[["bd8e276d.737468"]]},{"id":"7692076e.df85b8","type":"set","name":"set for existing param name","xml":"<set>\n<parameter name='tmp.mso.param.found' value='false' />\n","comments":"","x":967.5,"y":869.25,"z":"db4d8927.c835e8","wires":[]},{"id":"a1ab3cbb.c4d6f","type":"switchNode","name":"switch check length > 0","xml":"<switch test='`$prehighnum &gt; 0`'>\n","comments":"","outputs":1,"x":960,"y":928.25,"z":"db4d8927.c835e8","wires":[["a7625311.f464f"]]},{"id":"a7625311.f464f","type":"not-found","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1207,"y":928.25,"z":"db4d8927.c835e8","wires":[["f891d06f.8860e"]]},{"id":"4fca6b77.cc19a4","type":"for","name":"for payload","xml":"<for silentFailure='true' index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >","comments":"","outputs":1,"x":1778.5,"y":1287.25,"z":"db4d8927.c835e8","wires":[["15ac2395.72b53c"]]},{"id":"2fff690e.8ee016","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\n","comments":"","x":2127.5,"y":1223.25,"z":"db4d8927.c835e8","wires":[]},{"id":"73585513.5cfe9c","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'/>\n<parameter name='num' value='0' />","comments":"","x":1351.5,"y":1167.25,"z":"db4d8927.c835e8","wires":[]},{"id":"58f30c1e.ac4764","type":"for","name":"for output-key-mapping","xml":"<for silentFailure='true' index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >","comments":"","outputs":1,"x":819.5,"y":1269.25,"z":"db4d8927.c835e8","wires":[["8a8a35d9.648f38"]]},{"id":"8a8a35d9.648f38","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":1070.5,"y":1269.25,"z":"db4d8927.c835e8","wires":[["73585513.5cfe9c","c62d9cf0.f3cee","792fe531.556e8c","f67c7412.ed2cc8"]]},{"id":"c62d9cf0.f3cee","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","comments":"","x":1339.5,"y":1305.25,"z":"db4d8927.c835e8","wires":[]},{"id":"c8f90b0c.1f58f8","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":611.5,"y":806.25,"z":"db4d8927.c835e8","wires":[["535a9f1b.05a41"]]},{"id":"792fe531.556e8c","type":"switchNode","name":"switch payload_length","xml":"<switch test=\"`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`\">\n","comments":"","outputs":1,"x":1375.5,"y":1238.25,"z":"db4d8927.c835e8","wires":[["ff7af5a0.70a758","d8e89357.d8aaf"]]},{"id":"ff7af5a0.70a758","type":"outcome","name":"true","xml":"<outcome value='true'>","comments":"","outputs":1,"x":1596.5,"y":1169.25,"z":"db4d8927.c835e8","wires":[[]]},{"id":"d8e89357.d8aaf","type":"other","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1603.5,"y":1287.25,"z":"db4d8927.c835e8","wires":[["4fca6b77.cc19a4"]]},{"id":"5f77bf0b.24eac","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1146.7857246398926,"y":619.8213481903076,"z":"db4d8927.c835e8","wires":[["a31fbae3.b74338"]]},{"id":"85947ffe.474d","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":2116.5,"y":1287.25,"z":"db4d8927.c835e8","wires":[]},{"id":"716be15b.8d8bc","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='num' value='`$num + 1`' />\n","comments":"","x":2134.5,"y":1361.25,"z":"db4d8927.c835e8","wires":[]},{"id":"f67c7412.ed2cc8","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='highnum' value='`$highnum + 1`' />\n\n","comments":"","x":1360.5,"y":1372.25,"z":"db4d8927.c835e8","wires":[]},{"id":"bd8e276d.737468","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1394.5,"y":978.25,"z":"db4d8927.c835e8","wires":[["e3b9243e.f61e88","21e7cb32.046f54"]]},{"id":"21e7cb32.046f54","type":"set","name":"increment length","xml":"<set>\n\t<parameter name='highnum' value='`$highnum + 1`' />\n","comments":"","x":1609.5,"y":1038.25,"z":"db4d8927.c835e8","wires":[]},{"id":"15ac2395.72b53c","type":"block","name":"block atomic","xml":"<block atomic=\"true\">","atomic":"false","comments":"","outputs":1,"x":1934.5,"y":1288.25,"z":"db4d8927.c835e8","wires":[["2fff690e.8ee016","85947ffe.474d","716be15b.8d8bc"]]}] \ 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 a2645b3b..68b63508 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,663 +1,664 @@
[
- {
- "id": "62b65505.f8b4b4",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 89,
- "y": 30,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "928d511f.36c158"
- ]
- ]
- },
- {
- "id": "f87c0728.0afeb8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 132.72620391845703,
- "y": 148.77779006958008,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "3b27abcc.c2ec34",
- "bf1b89ba.b063e",
- "1ddd3a42.29f04e",
- "e5f0334a.e9ca1",
- "2163e816.27402"
- ]
- ]
- },
- {
- "id": "2406fa8b.d43ed6",
- "type": "method",
- "name": "method self-serve-vnf-unassign",
- "xml": "<method rpc='self-serve-vnf-unassign' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 205.76190948486328,
- "y": 84.70635509490967,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "f87c0728.0afeb8"
- ]
- ]
- },
- {
- "id": "928d511f.36c158",
- "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": 364.23819732666016,
- "y": 30.190492630004883,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "2406fa8b.d43ed6"
- ]
- ]
- },
- {
- "id": "2869f38e.95f41c",
- "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": 721.4645538330078,
- "y": 374.70241928100586,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "acaba079.b68f38",
- "81ad392.f64cec8"
- ]
- ]
- },
- {
- "id": "6b50d8c3.1dbdd",
- "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": 458.17897033691406,
- "y": 771.50013256073,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "4641618f.395528",
- "38e2fce4.feed74",
- "fa07b3ee.3e2bd"
- ]
- ]
- },
- {
- "id": "4641618f.395528",
- "type": "other",
- "name": "SUCCESS",
- "xml": "<outcome value='SUCCESS'>\n",
- "comments": "",
- "outputs": 1,
- "x": 733.5719718933105,
- "y": 772.2143878936768,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "d99a0768.8b7718"
- ]
- ]
- },
- {
- "id": "3b27abcc.c2ec34",
- "type": "for",
- "name": "foreach capability-order[]",
- "xml": "<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 387.0357894897461,
- "y": 229.89282417297363,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "25e2075a.6d1a6",
- "96711265.1987a",
- "2869f38e.95f41c",
- "8523e1fb.bcf3a8"
- ]
- ]
- },
- {
- "id": "acaba079.b68f38",
- "type": "switchNode",
- "name": "switch param capability-name == execution",
- "xml": "<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1077.3574676513672,
- "y": 418.4285488128662,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "468c9926.a05e6"
- ]
- ]
- },
- {
- "id": "468c9926.a05e6",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1340.8574676513672,
- "y": 418.6785488128662,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "6b50d8c3.1dbdd"
- ]
- ]
- },
- {
- "id": "d99a0768.8b7718",
- "type": "call",
- "name": "call ss.capability-dg",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 938.6907043457031,
- "y": 771.9762392044067,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "458b24e4.d3efa4"
- ]
- ]
- },
- {
- "id": "25e2075a.6d1a6",
- "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": 667.3928451538086,
- "y": 229.84527587890625,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "81ad392.f64cec8",
- "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": 1026.7144927978516,
- "y": 373.03575897216797,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "96711265.1987a",
- "type": "set",
- "name": "set ss.capability.action = unassign",
- "xml": "<set>\n<parameter name='ss.capability-action' value='unassign' />\n",
- "comments": "",
- "x": 714.1069869995117,
- "y": 276.7618598937988,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "458b24e4.d3efa4",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1123.5832138061523,
- "y": 771.976300239563,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "6583acac.b53fac"
- ]
- ]
- },
- {
- "id": "8523e1fb.bcf3a8",
- "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": 658.5356750488281,
- "y": 325.6547737121582,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "d5c58631.876b",
- "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": 1606.4405975341797,
- "y": 825.8580255508423,
- "z": "252d9282.9374ae",
- "wires": [
- []
- ]
- },
- {
- "id": "5291091f.f20088",
- "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": 1575.9048919677734,
- "y": 928.7152471542358,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "2353e7c1.60c118",
- "3fc02d49.7486d2"
- ]
- ]
- },
- {
- "id": "2353e7c1.60c118",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1850.4985580444336,
- "y": 982.7134008407593,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "bda099a1.06eb38"
- ]
- ]
- },
- {
- "id": "3fc02d49.7486d2",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1842.9271926879883,
- "y": 929.2134208679199,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "bda099a1.06eb38"
- ]
- ]
- },
- {
- "id": "bda099a1.06eb38",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2045.0595169067383,
- "y": 928.8576755523682,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "d9c8574d.b3fa68"
- ]
- ]
- },
- {
- "id": "d9c8574d.b3fa68",
- "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": 2263.345283508301,
- "y": 929.0005388259888,
- "z": "252d9282.9374ae",
- "wires": [
- []
- ]
- },
- {
- "id": "4bfafa2c.df4c8c",
- "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": 1558.8928985595703,
- "y": 771.9525375366211,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "9abc0123.468d9",
- "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": 1570.726303100586,
- "y": 876.6667938232422,
- "z": "252d9282.9374ae",
- "wires": [
- []
- ]
- },
- {
- "id": "6583acac.b53fac",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1284.535888671875,
- "y": 771.7144117355347,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "d5c58631.876b",
- "5291091f.f20088",
- "4bfafa2c.df4c8c",
- "9abc0123.468d9",
- "e212b878.28b838"
- ]
- ]
- },
- {
- "id": "e212b878.28b838",
- "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": 1505.4408569335938,
- "y": 1056.488195180893,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "e5f0334a.e9ca1",
- "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": 348.1193313598633,
- "y": 1426.0595903396606,
- "z": "252d9282.9374ae",
- "wires": [
- []
- ]
- },
- {
- "id": "bf1b89ba.b063e",
- "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='netbox-ip-assign' />\n<parameter name='ss.capability.execution-order[4]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[5]' value='mS-vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[6]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[7]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[8]' value='generate-name' />\n<parameter name='ss.capability.execution-order_length' value='9' />",
- "comments": "",
- "x": 412.25003814697266,
- "y": 149.00000381469727,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "38e2fce4.feed74",
- "type": "other",
- "name": "DELETED",
- "xml": "<outcome value='DELETED'>\n",
- "comments": "",
- "outputs": 1,
- "x": 734.0714416503906,
- "y": 838.7499847412109,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "d6fe1639.ceebb8"
- ]
- ]
- },
- {
- "id": "1ddd3a42.29f04e",
- "type": "set",
- "name": "set ss.capability-type = vnf",
- "xml": "<set>\n<parameter name='ss.capability-type' value='vnf' />\n",
- "comments": "",
- "x": 391.85713958740234,
- "y": 188.5714340209961,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "52dbf114.d1abc",
- "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": 1116.1428833007812,
- "y": 948.9643857138499,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "d6fe1639.ceebb8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 890.5714340209961,
- "y": 838.7499732971191,
- "z": "252d9282.9374ae",
- "wires": [
- []
- ]
- },
- {
- "id": "fa07b3ee.3e2bd",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 725.1428375244141,
- "y": 896.9642868041992,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "dc8bc4e.8f580b8"
- ]
- ]
- },
- {
- "id": "b045a5.6f842258",
- "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": 1095.4285888671875,
- "y": 896.9643923895701,
- "z": "252d9282.9374ae",
- "wires": [
- []
- ]
- },
- {
- "id": "dc8bc4e.8f580b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 911.8571319580078,
- "y": 896.9643383026123,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "b045a5.6f842258",
- "52dbf114.d1abc"
- ]
- ]
- },
- {
- "id": "1de371de.5b6456",
- "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": 915.6666145324707,
- "y": 1255.9525175094604,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "a5b6b8ba.4ebf4"
- ]
- ]
- },
- {
- "id": "a90545d8.1a2728",
- "type": "comment",
- "name": "Remove VNF from service data",
- "info": "",
- "comments": "",
- "x": 327.825382232666,
- "y": 1214.524169921875,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "a5b6b8ba.4ebf4",
- "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": 1149.2577476501465,
- "y": 1254.976469039917,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "2163e816.27402",
- "type": "switchNode",
- "name": "switch vnf_length",
- "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 371.92447662353516,
- "y": 1257.5321464538574,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "db4581e7.f5001",
- "4742a047.92dc2"
- ]
- ]
- },
- {
- "id": "db4581e7.f5001",
- "type": "outcome",
- "name": "1",
- "xml": "<outcome value='1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 548.9245185852051,
- "y": 1218.198733329773,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "d699690.c208a18"
- ]
- ]
- },
- {
- "id": "d699690.c208a18",
- "type": "set",
- "name": "Remove vnfs",
- "xml": "<set>\n\t<parameter name=\"service-data.vnfs.\" value=\"\"/>\n\n",
- "comments": "",
- "x": 712.5910148620605,
- "y": 1218.1988325119019,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "4742a047.92dc2",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 550.4484100341797,
- "y": 1301.6748723983765,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "f5197751.96d6b8"
- ]
- ]
- },
- {
- "id": "8416ad4e.28c64",
- "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": 935.220703125,
- "y": 1346.532091140747,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "225e71ff.ef5996",
- "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": 970.9243583679199,
- "y": 1301.6431121826172,
- "z": "252d9282.9374ae",
- "wires": []
- },
- {
- "id": "f5197751.96d6b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 716.2577514648438,
- "y": 1302.1986532211304,
- "z": "252d9282.9374ae",
- "wires": [
- [
- "1de371de.5b6456",
- "225e71ff.ef5996",
- "8416ad4e.28c64"
- ]
- ]
- }
-] \ 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='netbox-ip-assign' />\n<parameter name='ss.capability.execution-order[4]' value='vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[5]' value='mS-vlan-tag-assign' />\n<parameter name='ss.capability.execution-order[6]' value='alts-license-assign' />\n<parameter name='ss.capability.execution-order[7]' value='alts-entitlement-assign' />\n<parameter name='ss.capability.execution-order[8]' value='generate-name' />\n<parameter name='ss.capability.execution-order_length' value='9' />",
+ "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"
+ ]
+ ]
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vf-module-input.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vf-module-input.json
index c75e7241..ebf78f4d 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vf-module-input.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vf-module-input.json
@@ -1 +1 @@
-[{"id":"9280b236.24feb","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":251.42857360839844,"y":502.50000231606623,"z":"3304d3ee.58708c","wires":[["b78de690.f9f5d8","da185984.e2c478","5a084fe5.895d4","f0d79a13.71b258","b047cbeb.978218","9eadf3bc.97835","2ca2061e.0237ca"]]},{"id":"b78de690.f9f5d8","type":"switchNode","name":"switch svc-request-id","xml":"<switch test='`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`'>\n","comments":"","outputs":1,"x":534.1904830932617,"y":385.580340385437,"z":"3304d3ee.58708c","wires":[["de999d71.d9736"]]},{"id":"de999d71.d9736","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":759.9047775268555,"y":385.5803442001343,"z":"3304d3ee.58708c","wires":[["7ce8eacd.cf3c74"]]},{"id":"7ce8eacd.cf3c74","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n","comments":"","x":911.3333435058594,"y":385.58034229278564,"z":"3304d3ee.58708c","wires":[]},{"id":"da185984.e2c478","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":522.7618462698802,"y":344.15177195412775,"z":"3304d3ee.58708c","wires":[["a366b2a.b101a5"]]},{"id":"a366b2a.b101a5","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":758.4761979239329,"y":342.7231697354998,"z":"3304d3ee.58708c","wires":[["779cf777.ccd0f8"]]},{"id":"779cf777.ccd0f8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n","comments":"","x":908.476171221052,"y":342.723179272243,"z":"3304d3ee.58708c","wires":[]},{"id":"5a084fe5.895d4","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":532.7618996756419,"y":428.43748705727717,"z":"3304d3ee.58708c","wires":[["661c9512.86ffdc"]]},{"id":"661c9512.86ffdc","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":759.9047731672017,"y":428.43749795641224,"z":"3304d3ee.58708c","wires":[["152789a.07c2376"]]},{"id":"152789a.07c2376","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n","comments":"","x":911.3333391462056,"y":428.4374960490636,"z":"3304d3ee.58708c","wires":[]},{"id":"836f5426.363f78","type":"switchNode","name":"switch model-customization-id","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":1100.893123626709,"y":649.8662757873535,"z":"3304d3ee.58708c","wires":[["69e64228.97fcac"]]},{"id":"69e64228.97fcac","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1305.893123626709,"y":649.8662586212158,"z":"3304d3ee.58708c","wires":[["29de077f.8e6ec8"]]},{"id":"29de077f.8e6ec8","type":"returnFailure","name":"return failure","xml":"<return 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.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1457.321689605713,"y":649.8662567138672,"z":"3304d3ee.58708c","wires":[]},{"id":"76957faf.3e90e","type":"switchNode","name":"switch tenant","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.tenant`'>\n","comments":"","outputs":1,"x":1046.750202178955,"y":691.2947864532471,"z":"3304d3ee.58708c","wires":[["eecf68c4.93b228"]]},{"id":"eecf68c4.93b228","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1304.4645195007324,"y":691.2948207855225,"z":"3304d3ee.58708c","wires":[["5279ca1e.d05be4"]]},{"id":"5279ca1e.d05be4","type":"returnFailure","name":"return failure","xml":"<return 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.tenant is a required input\" />\n","comments":"","x":1455.8930854797363,"y":691.2948188781738,"z":"3304d3ee.58708c","wires":[]},{"id":"760ce011.a2906","type":"comment","name":"Validation of required fields","info":"","comments":"","x":682.7618560791016,"y":299.8660545349121,"z":"3304d3ee.58708c","wires":[]},{"id":"f0d79a13.71b258","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":516.3332977294922,"y":730.4614696502686,"z":"3304d3ee.58708c","wires":[["8728b60f.a48fd8","d0629521.3a3078"]]},{"id":"8728b60f.a48fd8","type":"outcome","name":"assign","xml":"<outcome value='assign'>\n","comments":"","outputs":1,"x":677.1666145324707,"y":670.46142578125,"z":"3304d3ee.58708c","wires":[["c37e1bac.9bd818"]]},{"id":"c37e1bac.9bd818","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":869.1666145324707,"y":670.46142578125,"z":"3304d3ee.58708c","wires":[["836f5426.363f78","76957faf.3e90e","b4883195.b514a"]]},{"id":"bc09f30d.b7923","type":"dgstart","name":"DGSTART","outputs":1,"x":195.17858341761985,"y":172.41365432739258,"z":"3304d3ee.58708c","wires":[["e6e33f5c.32b8"]]},{"id":"e6e33f5c.32b8","type":"service-logic","name":"GENERIC-RESOURCE-API ${project.version}","module":"GENERIC-RESOURCE-API","version":"${project.version}","comments":"","xml":"<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>","outputs":1,"x":308.4642889840261,"y":212.65176582336426,"z":"3304d3ee.58708c","wires":[["daeb37a6.218e58"]]},{"id":"daeb37a6.218e58","type":"method","name":"method validate-vf-module-input","xml":"<method rpc='validate-vf-module-input' mode='sync'>\n","comments":"","outputs":1,"x":265.5238783700124,"y":253.33031177520752,"z":"3304d3ee.58708c","wires":[["9280b236.24feb"]]},{"id":"9aac0344.99123","type":"comment","name":"validate-vf-module-input","info":"","comments":"","x":589.5234396798269,"y":119.99999809265137,"z":"3304d3ee.58708c","wires":[]},{"id":"b047cbeb.978218","type":"switchNode","name":"switch service-instance-id","xml":"<switch test='`$vf-module-topology-operation-input.service-information.service-instance-id`'>\n","comments":"","outputs":1,"x":545.7857306344167,"y":472.50001335144043,"z":"3304d3ee.58708c","wires":[["705f181f.599f48"]]},{"id":"705f181f.599f48","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":758.2143118722097,"y":472.50000953674316,"z":"3304d3ee.58708c","wires":[["f48f0d61.9dfa7"]]},{"id":"f48f0d61.9dfa7","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n","comments":"","x":909.6428778512136,"y":472.50000762939453,"z":"3304d3ee.58708c","wires":[]},{"id":"9eadf3bc.97835","type":"switchNode","name":"switch vnf-id","xml":"<switch test='`$vf-module-topology-operation-input.vnf-information.vnf-id`'>\n","comments":"","outputs":1,"x":503.28573989868164,"y":519.0000038146973,"z":"3304d3ee.58708c","wires":[["93e4cbab.2046c8"]]},{"id":"93e4cbab.2046c8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":758.5714492797852,"y":517.5714359283447,"z":"3304d3ee.58708c","wires":[["78d032f1.6b193c"]]},{"id":"78d032f1.6b193c","type":"returnFailure","name":"return failure","xml":"<return 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-information.vnf-id is a required input\" />\n","comments":"","x":910.0000152587891,"y":517.5714340209961,"z":"3304d3ee.58708c","wires":[]},{"id":"b4883195.b514a","type":"switchNode","name":"switch aic-cloud-region","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`'>\n","comments":"","outputs":1,"x":1076.0952835083008,"y":733.5714435577393,"z":"3304d3ee.58708c","wires":[["eca915fe.8a7528"]]},{"id":"eca915fe.8a7528","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1302.8096008300781,"y":733.5714778900146,"z":"3304d3ee.58708c","wires":[["671723cf.0cce1c"]]},{"id":"671723cf.0cce1c","type":"returnFailure","name":"return failure","xml":"<return 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-request-input.aic-cloud-region is a required input\" />\n","comments":"","x":1454.238166809082,"y":733.571475982666,"z":"3304d3ee.58708c","wires":[]},{"id":"2ca2061e.0237ca","type":"switchNode","name":"switch vf-module-id","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`'>\n","comments":"","outputs":1,"x":524.0952301025391,"y":564.9999828338623,"z":"3304d3ee.58708c","wires":[["7dedc936.6d8c88"]]},{"id":"7dedc936.6d8c88","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":758.3809394836426,"y":563.5714149475098,"z":"3304d3ee.58708c","wires":[["d5bce79.04eca18"]]},{"id":"d5bce79.04eca18","type":"returnFailure","name":"return failure","xml":"<return 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-id is a required input\" />\n","comments":"","x":909.8095054626465,"y":563.5714130401611,"z":"3304d3ee.58708c","wires":[]},{"id":"be6a2bca.c2c3f8","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":1079.4285507202148,"y":607.666654586792,"z":"3304d3ee.58708c","wires":[["3fad2b1f.051354"]]},{"id":"3fad2b1f.051354","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1305.4285507202148,"y":607.6666374206543,"z":"3304d3ee.58708c","wires":[["9eb9e9d3.f24818"]]},{"id":"9eb9e9d3.f24818","type":"returnFailure","name":"return failure","xml":"<return 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":1456.8571166992188,"y":607.6666355133057,"z":"3304d3ee.58708c","wires":[]},{"id":"d0629521.3a3078","type":"outcome","name":"changeassign","xml":"<outcome value='changeassign'>\n","comments":"","outputs":1,"x":694.7619171142578,"y":795.0000286102295,"z":"3304d3ee.58708c","wires":[["d381036c.b7227"]]},{"id":"d381036c.b7227","type":"switchNode","name":"switch model-customization-id","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":921.4285583496094,"y":793.3333339691162,"z":"3304d3ee.58708c","wires":[["1c736669.31026a"]]},{"id":"1c736669.31026a","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1126.4285583496094,"y":793.3333168029785,"z":"3304d3ee.58708c","wires":[["5fc7ea4b.ad8e04"]]},{"id":"5fc7ea4b.ad8e04","type":"returnFailure","name":"return failure","xml":"<return 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.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1277.8571243286133,"y":793.3333148956299,"z":"3304d3ee.58708c","wires":[]},{"id":"bfdaa4c5.3cfce8","type":"comment","name":"REMOVED link here and MOVED vf-module-name validation to vf-module-topology-operation-assign after self-serve logic","info":"","comments":"","x":1434.2857055664062,"y":588.571418762207,"z":"3304d3ee.58708c","wires":[]}] \ No newline at end of file
+[{"id":"ea5c79fa.0a8cc8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":286.25000762939453,"y":416.25000762939453,"z":"e7f16526.16fa48","wires":[["415f4f79.ce4c6","3f9465cc.1cf0ca","d5fa8c45.3e223","4b25ca9c.280804","f4dcf148.c2c8d","74fce8e4.b16128","b87e6689.a6bb68"]]},{"id":"415f4f79.ce4c6","type":"switchNode","name":"switch svc-request-id","xml":"<switch test='`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`'>\n","comments":"","outputs":1,"x":542.7619094848633,"y":349.33034229278564,"z":"e7f16526.16fa48","wires":[["569a8602.d763d8"]]},{"id":"569a8602.d763d8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":768.476203918457,"y":349.3303461074829,"z":"e7f16526.16fa48","wires":[["83dcb0ce.53e5a"]]},{"id":"83dcb0ce.53e5a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n","comments":"","x":919.9047698974609,"y":349.3303442001343,"z":"e7f16526.16fa48","wires":[]},{"id":"3f9465cc.1cf0ca","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":531.3332726614817,"y":307.9017738614764,"z":"e7f16526.16fa48","wires":[["90f99d55.c26ac"]]},{"id":"90f99d55.c26ac","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":767.0476243155344,"y":306.47317164284846,"z":"e7f16526.16fa48","wires":[["81889b61.b3bfd8"]]},{"id":"81889b61.b3bfd8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n","comments":"","x":917.0475976126536,"y":306.4731811795916,"z":"e7f16526.16fa48","wires":[]},{"id":"d5fa8c45.3e223","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":541.3333260672434,"y":392.1874889646258,"z":"e7f16526.16fa48","wires":[["faa49149.2b86c"]]},{"id":"faa49149.2b86c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":768.4761995588033,"y":392.1874998637609,"z":"e7f16526.16fa48","wires":[["54306d5b.2a8714"]]},{"id":"54306d5b.2a8714","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n","comments":"","x":919.9047655378072,"y":392.18749795641224,"z":"e7f16526.16fa48","wires":[]},{"id":"9652914c.1bb7e","type":"switchNode","name":"switch model-customization-id","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":1138.7978401184082,"y":563.9496374130249,"z":"e7f16526.16fa48","wires":[["10afdd9f.c76fe2"]]},{"id":"10afdd9f.c76fe2","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1343.7978401184082,"y":563.9496202468872,"z":"e7f16526.16fa48","wires":[["5ca4e9bd.7d2d68"]]},{"id":"5ca4e9bd.7d2d68","type":"returnFailure","name":"return failure","xml":"<return 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.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1495.226406097412,"y":563.9496183395386,"z":"e7f16526.16fa48","wires":[]},{"id":"5073a804.d512e8","type":"switchNode","name":"switch tenant","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.tenant`'>\n","comments":"","outputs":1,"x":1084.6549186706543,"y":605.3781480789185,"z":"e7f16526.16fa48","wires":[["59c1d2fa.686d8c"]]},{"id":"59c1d2fa.686d8c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1342.3692359924316,"y":605.3781824111938,"z":"e7f16526.16fa48","wires":[["f3fb61d6.cc04f"]]},{"id":"f3fb61d6.cc04f","type":"returnFailure","name":"return failure","xml":"<return 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.tenant is a required input\" />\n","comments":"","x":1493.7978019714355,"y":605.3781805038452,"z":"e7f16526.16fa48","wires":[]},{"id":"85af947a.22df18","type":"comment","name":"Validation of required fields","info":"","comments":"","x":691.3332824707031,"y":263.61605644226074,"z":"e7f16526.16fa48","wires":[]},{"id":"4b25ca9c.280804","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":524.4880752563477,"y":606.2948093414307,"z":"e7f16526.16fa48","wires":[["46f73107.a11e3"]]},{"id":"46f73107.a11e3","type":"outcome","name":"assign","xml":"<outcome value='assign'>\n","comments":"","outputs":1,"x":684.0713768005371,"y":605.8780736923218,"z":"e7f16526.16fa48","wires":[["5f080643.137608"]]},{"id":"5f080643.137608","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":876.0713768005371,"y":605.8780736923218,"z":"e7f16526.16fa48","wires":[["9652914c.1bb7e","5073a804.d512e8","97868ae3.7d64c8"]]},{"id":"b003da9.6001328","type":"dgstart","name":"DGSTART","outputs":1,"x":203.7500098092214,"y":136.1636562347412,"z":"e7f16526.16fa48","wires":[["4513d2b4.de1b4c"]]},{"id":"4513d2b4.de1b4c","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":317.03571537562766,"y":176.4017677307129,"z":"e7f16526.16fa48","wires":[["9f09d02b.74d24"]]},{"id":"9f09d02b.74d24","type":"method","name":"method validate-vf-module-input","xml":"<method rpc='validate-vf-module-input' mode='sync'>\n","comments":"","outputs":1,"x":274.095304761614,"y":217.08031368255615,"z":"e7f16526.16fa48","wires":[["ea5c79fa.0a8cc8"]]},{"id":"c6fa4eaa.296c1","type":"comment","name":"validate-vf-module-input","info":"","comments":"","x":598.0948660714284,"y":83.75,"z":"e7f16526.16fa48","wires":[]},{"id":"f4dcf148.c2c8d","type":"switchNode","name":"switch service-instance-id","xml":"<switch test='`$vf-module-topology-operation-input.service-information.service-instance-id`'>\n","comments":"","outputs":1,"x":554.3571570260183,"y":436.25001525878906,"z":"e7f16526.16fa48","wires":[["40adc00a.0182f"]]},{"id":"40adc00a.0182f","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":766.7857382638113,"y":436.2500114440918,"z":"e7f16526.16fa48","wires":[["4bc1bff5.09afa"]]},{"id":"4bc1bff5.09afa","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n","comments":"","x":918.2143042428152,"y":436.25000953674316,"z":"e7f16526.16fa48","wires":[]},{"id":"74fce8e4.b16128","type":"switchNode","name":"switch vnf-id","xml":"<switch test='`$vf-module-topology-operation-input.vnf-information.vnf-id`'>\n","comments":"","outputs":1,"x":511.8571662902832,"y":482.7500057220459,"z":"e7f16526.16fa48","wires":[["5b2b7ba3.f8c584"]]},{"id":"5b2b7ba3.f8c584","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":767.1428756713867,"y":481.32143783569336,"z":"e7f16526.16fa48","wires":[["a3b38083.db3e6"]]},{"id":"a3b38083.db3e6","type":"returnFailure","name":"return failure","xml":"<return 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-information.vnf-id is a required input\" />\n","comments":"","x":918.5714416503906,"y":481.3214359283447,"z":"e7f16526.16fa48","wires":[]},{"id":"97868ae3.7d64c8","type":"switchNode","name":"switch aic-cloud-region","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`'>\n","comments":"","outputs":1,"x":1114,"y":647.6548051834106,"z":"e7f16526.16fa48","wires":[["a5724b37.d9d578"]]},{"id":"a5724b37.d9d578","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1340.7143173217773,"y":647.654839515686,"z":"e7f16526.16fa48","wires":[["e5de3e6a.52ece"]]},{"id":"e5de3e6a.52ece","type":"returnFailure","name":"return failure","xml":"<return 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-request-input.aic-cloud-region is a required input\" />\n","comments":"","x":1492.1428833007812,"y":647.6548376083374,"z":"e7f16526.16fa48","wires":[]},{"id":"b87e6689.a6bb68","type":"switchNode","name":"switch vf-module-id","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`'>\n","comments":"","outputs":1,"x":532.6666564941406,"y":528.7499847412109,"z":"e7f16526.16fa48","wires":[["e506a425.ee0a78"]]},{"id":"e506a425.ee0a78","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":766.9523658752441,"y":527.3214168548584,"z":"e7f16526.16fa48","wires":[["b00a0f0d.7df6c"]]},{"id":"b00a0f0d.7df6c","type":"returnFailure","name":"return failure","xml":"<return 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-id is a required input\" />\n","comments":"","x":918.380931854248,"y":527.3214149475098,"z":"e7f16526.16fa48","wires":[]},{"id":"27b56d4b.cf2242","type":"outcome","name":"changeassign","xml":"<outcome value='changeassign'>\n","comments":"","outputs":1,"x":707.9166946411133,"y":761.0000114440918,"z":"e7f16526.16fa48","wires":[["858c4aa9.75cbe8"]]},{"id":"858c4aa9.75cbe8","type":"switchNode","name":"switch model-customization-id","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":934.5833358764648,"y":761.3333168029785,"z":"e7f16526.16fa48","wires":[["16e33b74.6a3275"]]},{"id":"16e33b74.6a3275","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1139.5833358764648,"y":761.3332996368408,"z":"e7f16526.16fa48","wires":[["8cdecc05.e04a9"]]},{"id":"8cdecc05.e04a9","type":"returnFailure","name":"return failure","xml":"<return 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.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1291.0119018554688,"y":761.3332977294922,"z":"e7f16526.16fa48","wires":[]},{"id":"ba0cf2a7.da9b1","type":"comment","name":"model-customization-uuid validation moved to changeassign DG","info":"","comments":"","x":765,"y":718.75,"z":"e7f16526.16fa48","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json
index f1dbe061..86c905b6 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-vnf-input.json
@@ -1,539 +1 @@
-[
- {
- "id": "4d9dbde4.447a44",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 201,
- "y": 454.50000422341486,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "3551e870.dc3378",
- "d59a7a0.dd15288",
- "412f00f8.42659",
- "ad77ccd2.f78fd",
- "1d62a81d.049808"
- ]
- ]
- },
- {
- "id": "3551e870.dc3378",
- "type": "switchNode",
- "name": "switch svc-request-id",
- "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 483.7619094848633,
- "y": 337.58034229278564,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "3219fe8b.8416b2"
- ]
- ]
- },
- {
- "id": "3219fe8b.8416b2",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 709.476203918457,
- "y": 337.5803461074829,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "c609015.faf"
- ]
- ]
- },
- {
- "id": "c609015.faf",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n",
- "comments": "",
- "x": 860.9047698974609,
- "y": 337.5803442001343,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "d59a7a0.dd15288",
- "type": "switchNode",
- "name": "switch svc-action",
- "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 472.3332726614817,
- "y": 296.1517738614764,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "fd07c834.04e118"
- ]
- ]
- },
- {
- "id": "fd07c834.04e118",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 708.0476243155344,
- "y": 294.72317164284846,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "bb67988a.7a4878"
- ]
- ]
- },
- {
- "id": "bb67988a.7a4878",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n",
- "comments": "",
- "x": 858.0475976126536,
- "y": 294.7231811795916,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "412f00f8.42659",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 482.33332606724343,
- "y": 380.4374889646258,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "57d0c765.6697d8"
- ]
- ]
- },
- {
- "id": "57d0c765.6697d8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 709.4761995588033,
- "y": 380.4374998637609,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "17e90205.19889e"
- ]
- ]
- },
- {
- "id": "17e90205.19889e",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n",
- "comments": "",
- "x": 860.9047655378072,
- "y": 380.43749795641224,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "e4e9da07.86ee68",
- "type": "switchNode",
- "name": "switch model-customization-id",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1071.7978477478027,
- "y": 482.8662624359131,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "358dc8c9.934178"
- ]
- ]
- },
- {
- "id": "358dc8c9.934178",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1276.7978477478027,
- "y": 482.8662452697754,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "37f4df0b.c43d6"
- ]
- ]
- },
- {
- "id": "37f4df0b.c43d6",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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-information.onap-model-information.model-customization-uuid is a required input\" />\n",
- "comments": "",
- "x": 1428.2264137268066,
- "y": 482.86624336242676,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "4c722c64.354684",
- "type": "switchNode",
- "name": "switch tenant",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1017.6549263000488,
- "y": 524.2947731018066,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "d918b63c.d3c5b8"
- ]
- ]
- },
- {
- "id": "d918b63c.d3c5b8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1275.3692436218262,
- "y": 524.294807434082,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "de9de378.d9dcb"
- ]
- ]
- },
- {
- "id": "de9de378.d9dcb",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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-information.vnf-request-input.tenant is a required input\" />\n",
- "comments": "",
- "x": 1426.79780960083,
- "y": 524.2948055267334,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "113afb8b.5ba534",
- "type": "comment",
- "name": "Validation of required fields",
- "info": "",
- "comments": "",
- "x": 632.3332824707031,
- "y": 251.86605644226074,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "ad77ccd2.f78fd",
- "type": "switchNode",
- "name": "switch svc-action",
- "xml": "<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 472.57139587402344,
- "y": 571.7947673797607,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "831a3f94.d6468",
- "5be38d11.63b4f4"
- ]
- ]
- },
- {
- "id": "831a3f94.d6468",
- "type": "outcome",
- "name": "assign",
- "xml": "<outcome value='assign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 643.4047393798828,
- "y": 525.1280879974365,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "dd8a1fea.b5bd6"
- ]
- ]
- },
- {
- "id": "dd8a1fea.b5bd6",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 840.0713500976562,
- "y": 525.1280879974365,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "e4e9da07.86ee68",
- "4c722c64.354684",
- "3a3018b1.645408"
- ]
- ]
- },
- {
- "id": "3ccd71b7.e4583e",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 144.7500098092214,
- "y": 124.41365623474121,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "871c79a8.0f3e48"
- ]
- ]
- },
- {
- "id": "871c79a8.0f3e48",
- "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": 258.03571537562766,
- "y": 164.6517677307129,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "4b0e51f7.20b38"
- ]
- ]
- },
- {
- "id": "4b0e51f7.20b38",
- "type": "method",
- "name": "method validate-vnf-input",
- "xml": "<method rpc='validate-vnf-input' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 193.42863682338157,
- "y": 205.66365242004395,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "4d9dbde4.447a44"
- ]
- ]
- },
- {
- "id": "79e58f6f.3ef1e",
- "type": "comment",
- "name": "validate-vnf-input",
- "info": "",
- "comments": "",
- "x": 539.0948660714284,
- "y": 72,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "1d62a81d.049808",
- "type": "switchNode",
- "name": "switch service-instance-id",
- "xml": "<switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 495.3571570260183,
- "y": 424.50001525878906,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "6a29ec68.3b9074"
- ]
- ]
- },
- {
- "id": "6a29ec68.3b9074",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 707.7857382638113,
- "y": 424.5000114440918,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "8d2c582.ae31aa8"
- ]
- ]
- },
- {
- "id": "8d2c582.ae31aa8",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n",
- "comments": "",
- "x": 859.2143042428152,
- "y": 424.50000953674316,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "3a3018b1.645408",
- "type": "switchNode",
- "name": "switch aic-cloud-region",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1047.0000076293945,
- "y": 566.5714302062988,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "6edfb4d4.a66b5c"
- ]
- ]
- },
- {
- "id": "6edfb4d4.a66b5c",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1273.7143249511719,
- "y": 566.5714645385742,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "e6cdd965.41bc18"
- ]
- ]
- },
- {
- "id": "e6cdd965.41bc18",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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-request-input.aic-cloud-region is a required input\" />\n",
- "comments": "",
- "x": 1425.1428909301758,
- "y": 566.5714626312256,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "87424be6.6788e8",
- "type": "switchNode",
- "name": "switch model-customization-id",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1071.4761352539062,
- "y": 612.7618942260742,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "8d44461a.f88fd8"
- ]
- ]
- },
- {
- "id": "8d44461a.f88fd8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1276.4761352539062,
- "y": 612.7618770599365,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "50f4ef71.66b2d"
- ]
- ]
- },
- {
- "id": "50f4ef71.66b2d",
- "type": "returnFailure",
- "name": "return failure",
- "xml": "<return 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-information.onap-model-information.model-customization-uuid is a required input\" />\n",
- "comments": "",
- "x": 1427.9047012329102,
- "y": 612.7618751525879,
- "z": "3f03c20b.438afe",
- "wires": [
-
- ]
- },
- {
- "id": "5be38d11.63b4f4",
- "type": "outcome",
- "name": "changeassign",
- "xml": "<outcome value='changeassign'>\n",
- "comments": "",
- "outputs": 1,
- "x": 661.4163551330566,
- "y": 612.6904535293579,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "a7282aba.0b4bc8"
- ]
- ]
- },
- {
- "id": "a7282aba.0b4bc8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 841.4163436889648,
- "y": 612.6904201507568,
- "z": "3f03c20b.438afe",
- "wires": [
- [
- "87424be6.6788e8"
- ]
- ]
- }
-]
+[{"id":"582b5aa0.7eeaf4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":260,"y":410.2500066757202,"z":"348b9f74.369c5","wires":[["bd96033d.8336e","7fd8cb2f.5fa374","38370c7c.c4f0d4","d5c4e5aa.7d5948","1bbaae3f.e0d542","aa17e02a.1771"]]},{"id":"bd96033d.8336e","type":"switchNode","name":"switch svc-request-id","xml":"<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`'>\n","comments":"","outputs":1,"x":517.7619094848633,"y":368.08034229278564,"z":"348b9f74.369c5","wires":[["2f85d56c.ed707a"]]},{"id":"2f85d56c.ed707a","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":743.476203918457,"y":368.0803461074829,"z":"348b9f74.369c5","wires":[["372f23ad.72c64c"]]},{"id":"372f23ad.72c64c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n","comments":"","x":894.9047698974609,"y":368.0803442001343,"z":"348b9f74.369c5","wires":[]},{"id":"7fd8cb2f.5fa374","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":506.3332726614817,"y":326.6517738614764,"z":"348b9f74.369c5","wires":[["bd1aeb1f.a739c8"]]},{"id":"bd1aeb1f.a739c8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":742.0476243155344,"y":325.22317164284846,"z":"348b9f74.369c5","wires":[["afc00ae4.9d9d18"]]},{"id":"afc00ae4.9d9d18","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n","comments":"","x":892.0475976126536,"y":325.2231811795916,"z":"348b9f74.369c5","wires":[]},{"id":"38370c7c.c4f0d4","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":516.3333260672434,"y":410.9374889646258,"z":"348b9f74.369c5","wires":[["be233ca5.19ebe"]]},{"id":"be233ca5.19ebe","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":743.4761995588033,"y":410.9374998637609,"z":"348b9f74.369c5","wires":[["32cbb07.e56b45"]]},{"id":"32cbb07.e56b45","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n","comments":"","x":894.9047655378072,"y":410.93749795641224,"z":"348b9f74.369c5","wires":[]},{"id":"68df33c4.fea8fc","type":"switchNode","name":"switch model-customization-id","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":1134.7978477478027,"y":558.3662624359131,"z":"348b9f74.369c5","wires":[["10cb7b10.f12585"]]},{"id":"10cb7b10.f12585","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1339.7978477478027,"y":558.3662452697754,"z":"348b9f74.369c5","wires":[["f4a32f1c.bd90b"]]},{"id":"f4a32f1c.bd90b","type":"returnFailure","name":"return failure","xml":"<return 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-information.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1491.2264137268066,"y":558.3662433624268,"z":"348b9f74.369c5","wires":[]},{"id":"fe896fef.dd825","type":"switchNode","name":"switch tenant","xml":"<switch test='`$vnf-topology-operation-input.vnf-request-input.tenant`'>\n","comments":"","outputs":1,"x":1080.6549263000488,"y":599.7947731018066,"z":"348b9f74.369c5","wires":[["74a78b37.2da984"]]},{"id":"74a78b37.2da984","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1338.3692436218262,"y":599.794807434082,"z":"348b9f74.369c5","wires":[["dd5d5cef.7e70f"]]},{"id":"dd5d5cef.7e70f","type":"returnFailure","name":"return failure","xml":"<return 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-information.vnf-request-input.tenant is a required input\" />\n","comments":"","x":1489.79780960083,"y":599.7948055267334,"z":"348b9f74.369c5","wires":[]},{"id":"dbb5229b.87433","type":"comment","name":"Validation of required fields","info":"","comments":"","x":666.3332824707031,"y":282.36605644226074,"z":"348b9f74.369c5","wires":[]},{"id":"d5c4e5aa.7d5948","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":500.32141876220703,"y":600.0447483062744,"z":"348b9f74.369c5","wires":[["24b1818b.56cbbe"]]},{"id":"24b1818b.56cbbe","type":"outcome","name":"assign","xml":"<outcome value='assign'>\n","comments":"","outputs":1,"x":677.4047393798828,"y":599.6280879974365,"z":"348b9f74.369c5","wires":[["a750cf34.02893"]]},{"id":"a750cf34.02893","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":874.0713500976562,"y":599.6280879974365,"z":"348b9f74.369c5","wires":[["68df33c4.fea8fc","fe896fef.dd825","26f7b426.cb378c"]]},{"id":"980060b2.05cd2","type":"dgstart","name":"DGSTART","outputs":1,"x":178.7500098092214,"y":154.9136562347412,"z":"348b9f74.369c5","wires":[["16c74c85.6dd223"]]},{"id":"16c74c85.6dd223","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":292.03571537562766,"y":195.1517677307129,"z":"348b9f74.369c5","wires":[["323a6f66.9143"]]},{"id":"323a6f66.9143","type":"method","name":"method validate-vnf-input","xml":"<method rpc='validate-vnf-input' mode='sync'>\n","comments":"","outputs":1,"x":227.42863682338157,"y":236.16365242004395,"z":"348b9f74.369c5","wires":[["582b5aa0.7eeaf4"]]},{"id":"b04d7cd7.867c8","type":"comment","name":"validate-vnf-input","info":"","comments":"","x":573.0948660714284,"y":102.5,"z":"348b9f74.369c5","wires":[]},{"id":"1bbaae3f.e0d542","type":"switchNode","name":"switch service-instance-id","xml":"<switch test='`$vnf-topology-operation-input.service-information.service-instance-id`'>\n","comments":"","outputs":1,"x":529.3571570260183,"y":455.00001525878906,"z":"348b9f74.369c5","wires":[["7c1a77b8.6014f8"]]},{"id":"7c1a77b8.6014f8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":741.7857382638113,"y":455.0000114440918,"z":"348b9f74.369c5","wires":[["3c78fe4d.85e032"]]},{"id":"3c78fe4d.85e032","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-instance-id is a required input\" />\n","comments":"","x":893.2143042428152,"y":455.00000953674316,"z":"348b9f74.369c5","wires":[]},{"id":"aa17e02a.1771","type":"switchNode","name":"switch vnf-id","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id`'>\n","comments":"","outputs":1,"x":486.8571662902832,"y":498.5000057220459,"z":"348b9f74.369c5","wires":[["fee9192a.df3c38"]]},{"id":"fee9192a.df3c38","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":742.1428756713867,"y":497.07143783569336,"z":"348b9f74.369c5","wires":[["34c1ea3e.84a8a6"]]},{"id":"34c1ea3e.84a8a6","type":"returnFailure","name":"return failure","xml":"<return 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-information.vnf-id is a required input\" />\n","comments":"","x":893.5714416503906,"y":497.0714359283447,"z":"348b9f74.369c5","wires":[]},{"id":"26f7b426.cb378c","type":"switchNode","name":"switch aic-cloud-region","xml":"<switch test='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n","comments":"","outputs":1,"x":1110.0000076293945,"y":642.0714302062988,"z":"348b9f74.369c5","wires":[["59831b6.e59aee4"]]},{"id":"59831b6.e59aee4","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1336.7143249511719,"y":642.0714645385742,"z":"348b9f74.369c5","wires":[["b0aeb3a5.71fc5"]]},{"id":"b0aeb3a5.71fc5","type":"returnFailure","name":"return failure","xml":"<return 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-request-input.aic-cloud-region is a required input\" />\n","comments":"","x":1488.1428909301758,"y":642.0714626312256,"z":"348b9f74.369c5","wires":[]},{"id":"18880cde.db6723","type":"switchNode","name":"switch model-customization-id","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":1105.4761505126953,"y":757.2619113922119,"z":"348b9f74.369c5","wires":[["9cbd6868.f694f8"]]},{"id":"9cbd6868.f694f8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1310.4761505126953,"y":757.2618942260742,"z":"348b9f74.369c5","wires":[["5efeb3c6.10dcbc"]]},{"id":"5efeb3c6.10dcbc","type":"returnFailure","name":"return failure","xml":"<return 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-information.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1461.9047164916992,"y":757.2618923187256,"z":"348b9f74.369c5","wires":[]},{"id":"8fbbcbd5.fd98c8","type":"outcome","name":"changeassign","xml":"<outcome value='changeassign'>\n","comments":"","outputs":1,"x":695.4163703918457,"y":757.1904706954956,"z":"348b9f74.369c5","wires":[["b11b3301.491e"]]},{"id":"b11b3301.491e","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":875.4163589477539,"y":757.1904373168945,"z":"348b9f74.369c5","wires":[["18880cde.db6723"]]},{"id":"bdabc15d.2497b","type":"comment","name":"model-customization-uuid validation moved to changeassign DG","info":"","comments":"","x":755,"y":722.5000104904175,"z":"348b9f74.369c5","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
index 1a107a3d..765ac45b 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":"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
+[{"id":"2d9a5021.a73fc","type":"dgstart","name":"DGSTART","outputs":1,"x":103.33332824707031,"y":92.0242999792099,"z":"c281e2a0.b9793","wires":[["7af2ba16.efbe04"]]},{"id":"7af2ba16.efbe04","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":217.1904640197754,"y":131.83383786678314,"z":"c281e2a0.b9793","wires":[["9cd2d55b.54c678"]]},{"id":"9cd2d55b.54c678","type":"method","name":"method vf-module-topology-operation-assign","xml":"<method rpc='vf-module-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":216.76195526123047,"y":172.0242999792099,"z":"c281e2a0.b9793","wires":[["fcb16772.796c08"]]},{"id":"84ba5ebf.ff60a","type":"comment","name":"vf-module-topology-operation-assign","info":"","comments":"","x":508.65442657470703,"y":34.99999940395355,"z":"c281e2a0.b9793","wires":[]},{"id":"ded68ff0.3a928","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":508.5238380432129,"y":347.54812228679657,"z":"c281e2a0.b9793","wires":[["68c9565e.9ca968","c3025ff2.eb1a4"]]},{"id":"68c9565e.9ca968","type":"outcome","name":"CreateVfModuleInstance","xml":"<outcome value='CreateVfModuleInstance'>\n","comments":"","outputs":1,"x":770.5714530944824,"y":324.69100844860077,"z":"c281e2a0.b9793","wires":[["c4aed937.2735f8"]]},{"id":"c3025ff2.eb1a4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":714.2380981445312,"y":370.0719975233078,"z":"c281e2a0.b9793","wires":[["6602e840.996b48"]]},{"id":"c4aed937.2735f8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":960.428617477417,"y":324.6910399198532,"z":"c281e2a0.b9793","wires":[[]]},{"id":"6602e840.996b48","type":"returnFailure","name":"return failure","xml":"<return 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":979.2381057739258,"y":370.4053100347519,"z":"c281e2a0.b9793","wires":[]},{"id":"93af21a0.ebb87","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":555.857105255127,"y":438.69107234477997,"z":"c281e2a0.b9793","wires":[["cc299718.add008","2fc346d7.b7eeaa"]]},{"id":"cc2e38cf.3deaa8","type":"returnFailure","name":"return failure","xml":"<return 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":997.2855262756348,"y":463.11954486370087,"z":"c281e2a0.b9793","wires":[]},{"id":"cc299718.add008","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":821.6427955627441,"y":419.0719031095505,"z":"c281e2a0.b9793","wires":[["1820f554.21472b"]]},{"id":"2fc346d7.b7eeaa","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":830.214225769043,"y":463.35761630535126,"z":"c281e2a0.b9793","wires":[["cc2e38cf.3deaa8"]]},{"id":"1820f554.21472b","type":"returnFailure","name":"return failure","xml":"<return 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":996.6427268981934,"y":418.2148035764694,"z":"c281e2a0.b9793","wires":[]},{"id":"1fc7e563.9fd97b","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":550.9523696899414,"y":647.2624076604843,"z":"c281e2a0.b9793","wires":[["be99c605.d53058","162bb610.abeb1a"]]},{"id":"be99c605.d53058","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":791.6666412353516,"y":624.4051479101181,"z":"c281e2a0.b9793","wires":[["e8dafdc2.bb5f3"]]},{"id":"162bb610.abeb1a","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":791.4284820556641,"y":665.3576663732529,"z":"c281e2a0.b9793","wires":[["d00d1f75.bb2b6"]]},{"id":"53d50dfc.924b64","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":129.52376556396484,"y":3128.9293060302734,"z":"c281e2a0.b9793","wires":[["7bd98255.dbf20c","73e41686.118588","c4bc8ce5.99831","75bfb79b.e8b428","e56ad2ae.3e458","9f83de03.191b2","a2b2f4bb.0b2c18","3c2d8086.e91e4","904ff883.8a93b8","74fef761.5900c8","8c426d11.4eff9","248e182d.ced848","29643f29.61c8b","3d7e906e.ebd9d","9567a7bf.617988","7146fa07.61fea4","4de8c9e1.b8f3c8","874eaff1.71395","d48930e4.19e86","41677f15.139e7","6782300a.2a6c","d2581847.10cc78","a5403308.f3a28","e28c7bde.2c20f8","b3a603a5.80e31","c04c47f5.514678","cdfcaf85.62d64","47fa3ee6.d0e38","e81704f9.71e908","3701ddfc.549122"]]},{"id":"e8dafdc2.bb5f3","type":"returnFailure","name":"return failure","xml":"<return 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":958.3332557678223,"y":623.6909030675888,"z":"c281e2a0.b9793","wires":[]},{"id":"d00d1f75.bb2b6","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":953.6666259765625,"y":665.0242847204208,"z":"c281e2a0.b9793","wires":[["14386756.4e8489"]]},{"id":"14386756.4e8489","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":1204.9999237060547,"y":664.6910127401352,"z":"c281e2a0.b9793","wires":[["37865014.a062a"]]},{"id":"37865014.a062a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1434.9999351501465,"y":664.0243257284164,"z":"c281e2a0.b9793","wires":[["163851b5.a752ee"]]},{"id":"1c73f9f3.baee96","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":499.99999237060547,"y":578.6909068822861,"z":"c281e2a0.b9793","wires":[]},{"id":"f86c2fde.aa2bd","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1756.6665725708008,"y":635.0242837667465,"z":"c281e2a0.b9793","wires":[]},{"id":"f91c0c48.6c834","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":490,"y":715.357603430748,"z":"c281e2a0.b9793","wires":[["bed1bf89.09f41"]]},{"id":"bed1bf89.09f41","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":668.3333854675293,"y":714.6909793615341,"z":"c281e2a0.b9793","wires":[["fa5b072.c38b3f8"]]},{"id":"fa5b072.c38b3f8","type":"returnFailure","name":"return failure","xml":"<return 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":828.3332939147949,"y":714.0242828130722,"z":"c281e2a0.b9793","wires":[]},{"id":"7bd98255.dbf20c","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":506.66672134399414,"y":1345.3577998876572,"z":"c281e2a0.b9793","wires":[["d1063b3e.8399a8","51fbb1de.23513"]]},{"id":"d1063b3e.8399a8","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":764.0476760864258,"y":1312.500573515892,"z":"c281e2a0.b9793","wires":[["3a248c3c.12aaa4"]]},{"id":"3a248c3c.12aaa4","type":"set","name":"set vf-module-index=0","xml":"<set>\n<parameter name='vf-module-index' value='0' />\n","comments":"","x":951.6667137145996,"y":1313.167348265648,"z":"c281e2a0.b9793","wires":[]},{"id":"51fbb1de.23513","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":764.4762191772461,"y":1376.786431670189,"z":"c281e2a0.b9793","wires":[["8ee77525.004438"]]},{"id":"a28b9cf0.20c42","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":1149.6667594909668,"y":1356.9768270254135,"z":"c281e2a0.b9793","wires":[]},{"id":"ce1be7a8.7c3d08","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":1108.7618522644043,"y":1401.0720571279526,"z":"c281e2a0.b9793","wires":[["d81c79b.6803388"]]},{"id":"8ee77525.004438","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":901.1904983520508,"y":1376.7863572835922,"z":"c281e2a0.b9793","wires":[["a28b9cf0.20c42","ce1be7a8.7c3d08"]]},{"id":"d81c79b.6803388","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":1612.3809547424316,"y":1400.643468260765,"z":"c281e2a0.b9793","wires":[["3b48a680.2d71fa"]]},{"id":"3b48a680.2d71fa","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2055.0000038146973,"y":1400.2149194478989,"z":"c281e2a0.b9793","wires":[["e53e4394.1dd14"]]},{"id":"e53e4394.1dd14","type":"returnFailure","name":"return failure","xml":"<return 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":2206.904884338379,"y":1400.2149060964584,"z":"c281e2a0.b9793","wires":[]},{"id":"1db69374.c3c77d","type":"comment","name":"make sure this VF module doesn't exist already","info":"","comments":"","x":1638.8333015441895,"y":1355.2709602117538,"z":"c281e2a0.b9793","wires":[]},{"id":"73e41686.118588","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":517.3333015441895,"y":1456.357654929161,"z":"c281e2a0.b9793","wires":[]},{"id":"c4bc8ce5.99831","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":523.8333206176758,"y":1568.8577617406845,"z":"c281e2a0.b9793","wires":[]},{"id":"f00c79c8.4ea308","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":1284.7855796813965,"y":1728.0956882238388,"z":"c281e2a0.b9793","wires":[]},{"id":"75bfb79b.e8b428","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":483.8332405090332,"y":1842.0480283498764,"z":"c281e2a0.b9793","wires":[["8457e1fa.daa57"]]},{"id":"8457e1fa.daa57","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":629.1189308166504,"y":1842.0480970144272,"z":"c281e2a0.b9793","wires":[["c0499e5e.91fa6"]]},{"id":"c0499e5e.91fa6","type":"returnFailure","name":"return failure","xml":"<return 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":776.261791229248,"y":1841.6195310354233,"z":"c281e2a0.b9793","wires":[]},{"id":"e56ad2ae.3e458","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":522.6904563903809,"y":1642.1912997961044,"z":"c281e2a0.b9793","wires":[["6aa34830.c974d8","f9b5d3c8.7fc75"]]},{"id":"f9b5d3c8.7fc75","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":736.9366493225098,"y":1660.3421558141708,"z":"c281e2a0.b9793","wires":[["7aace544.2dd74c"]]},{"id":"7aace544.2dd74c","type":"returnFailure","name":"return failure","xml":"<return 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":911.9366226196289,"y":1660.3421920537949,"z":"c281e2a0.b9793","wires":[]},{"id":"6aa34830.c974d8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":745.8652458190918,"y":1618.6278890371323,"z":"c281e2a0.b9793","wires":[["29f3627f.244d6e"]]},{"id":"29f3627f.244d6e","type":"returnFailure","name":"return failure","xml":"<return 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":912.2145233154297,"y":1617.9334663152695,"z":"c281e2a0.b9793","wires":[]},{"id":"163851b5.a752ee","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1583.333396911621,"y":662.9440244436264,"z":"c281e2a0.b9793","wires":[["f86c2fde.aa2bd","1b1f1fcd.8c776"]]},{"id":"1b1f1fcd.8c776","type":"break","name":"break","xml":"<break>\n","comments":"","x":1718.3333625793457,"y":684.6106103658676,"z":"c281e2a0.b9793","wires":[]},{"id":"bca2dc7a.e59f4","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":898.1665802001953,"y":1883.4440215826035,"z":"c281e2a0.b9793","wires":[]},{"id":"9f83de03.191b2","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":542.0236549377441,"y":1906.2684653997421,"z":"c281e2a0.b9793","wires":[["a9f807e7.281c98","4904267b.8c3e08"]]},{"id":"a9f807e7.281c98","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":747.6903266906738,"y":1883.411428809166,"z":"c281e2a0.b9793","wires":[["bca2dc7a.e59f4"]]},{"id":"4904267b.8c3e08","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":749.1189231872559,"y":1927.6970199346542,"z":"c281e2a0.b9793","wires":[["6a656ab.7320b94"]]},{"id":"6a656ab.7320b94","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":903.4046592712402,"y":1927.1255921125412,"z":"c281e2a0.b9793","wires":[]},{"id":"123b74d.a39558b","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":899.1188507080078,"y":1971.9826978445053,"z":"c281e2a0.b9793","wires":[]},{"id":"a2b2f4bb.0b2c18","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":514.6426734924316,"y":1994.8072026968002,"z":"c281e2a0.b9793","wires":[["8e4c5daf.c12c","e8f34bfe.84a098"]]},{"id":"8e4c5daf.c12c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":748.6426467895508,"y":1971.9501346349716,"z":"c281e2a0.b9793","wires":[["123b74d.a39558b"]]},{"id":"e8f34bfe.84a098","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":750.0712432861328,"y":2016.23572576046,"z":"c281e2a0.b9793","wires":[["7a562a3f.415454"]]},{"id":"7a562a3f.415454","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":904.3569793701172,"y":2015.6642979383469,"z":"c281e2a0.b9793","wires":[]},{"id":"f1667332.fb679","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":896.2617835998535,"y":2060.839905142784,"z":"c281e2a0.b9793","wires":[]},{"id":"3c2d8086.e91e4","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":522.7855453491211,"y":2083.664349913597,"z":"c281e2a0.b9793","wires":[["2ecf8a2b.56e5b6","e5197406.efcf08"]]},{"id":"2ecf8a2b.56e5b6","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":745.785530090332,"y":2060.8073123693466,"z":"c281e2a0.b9793","wires":[["f1667332.fb679"]]},{"id":"e5197406.efcf08","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":747.2141265869141,"y":2105.092903494835,"z":"c281e2a0.b9793","wires":[["1f679951.806f17"]]},{"id":"1f679951.806f17","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":901.4998626708984,"y":2104.521475672722,"z":"c281e2a0.b9793","wires":[]},{"id":"7576e19b.26deb","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":896.2617835998535,"y":2147.982727408409,"z":"c281e2a0.b9793","wires":[]},{"id":"904ff883.8a93b8","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":517.7855453491211,"y":2170.807172179222,"z":"c281e2a0.b9793","wires":[["b054211f.fbf68","2bfd5a29.d66f36"]]},{"id":"b054211f.fbf68","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":745.785530090332,"y":2147.9501346349716,"z":"c281e2a0.b9793","wires":[["7576e19b.26deb"]]},{"id":"2bfd5a29.d66f36","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":747.2141265869141,"y":2192.23572576046,"z":"c281e2a0.b9793","wires":[["7070c1ef.3f726"]]},{"id":"7070c1ef.3f726","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":901.4998626708984,"y":2191.664297938347,"z":"c281e2a0.b9793","wires":[]},{"id":"74fef761.5900c8","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":532.2378807067871,"y":2243.3161615133286,"z":"c281e2a0.b9793","wires":[]},{"id":"8c426d11.4eff9","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":485.42852783203125,"y":1512.039337515831,"z":"c281e2a0.b9793","wires":[]},{"id":"248e182d.ced848","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":544.9442710876465,"y":1730.6979831457138,"z":"c281e2a0.b9793","wires":[["9fc47219.0a2e6"]]},{"id":"9fc47219.0a2e6","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n","comments":"","outputs":1,"x":792.6228141784668,"y":1730.4479125738144,"z":"c281e2a0.b9793","wires":[["90f8324b.e01dd"]]},{"id":"90f8324b.e01dd","type":"outcome","name":"complex","xml":"<outcome value='complex'>\n","comments":"","outputs":1,"x":962.0871353149414,"y":1729.8407348394394,"z":"c281e2a0.b9793","wires":[["ca7ad58e.6dc9b8"]]},{"id":"151dbe70.34e1e2","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":1302.1822929382324,"y":1684.2693103551865,"z":"c281e2a0.b9793","wires":[[]]},{"id":"ca7ad58e.6dc9b8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1121.8489952087402,"y":1730.9360984563828,"z":"c281e2a0.b9793","wires":[["151dbe70.34e1e2","42f33e9a.52f34","f00c79c8.4ea308"]]},{"id":"42f33e9a.52f34","type":"break","name":"break","xml":"<break>\n","comments":"","x":1271.8489570617676,"y":1774.2693952322006,"z":"c281e2a0.b9793","wires":[]},{"id":"6b1873f2.63696c","type":"execute","name":"execute PropertiesNode","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":522.3809509277344,"y":201.54810750484467,"z":"c281e2a0.b9793","wires":[[]]},{"id":"d48930e4.19e86","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":442.59556579589844,"y":7243.904448330402,"z":"c281e2a0.b9793","wires":[]},{"id":"6782300a.2a6c","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":379.1668701171875,"y":7336.522778332233,"z":"c281e2a0.b9793","wires":[]},{"id":"874eaff1.71395","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":383.45257568359375,"y":7196.2527530789375,"z":"c281e2a0.b9793","wires":[]},{"id":"4de8c9e1.b8f3c8","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":428.33358001708984,"y":7148.038265049458,"z":"c281e2a0.b9793","wires":[]},{"id":"41677f15.139e7","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":374.0478210449219,"y":7288.752594769001,"z":"c281e2a0.b9793","wires":[[]]},{"id":"3d7e906e.ebd9d","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":447.4763069152832,"y":4350.039918899536,"z":"c281e2a0.b9793","wires":[["520e1afa.312c84","b2b6e56c.e7e828"]]},{"id":"d4511df.4c530e","type":"returnFailure","name":"return failure","xml":"<return 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":952.523983001709,"y":4384.801349580288,"z":"c281e2a0.b9793","wires":[]},{"id":"520e1afa.312c84","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":622.5479469299316,"y":4318.420540809631,"z":"c281e2a0.b9793","wires":[["db8855fa.f2df38"]]},{"id":"b2b6e56c.e7e828","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":631.1193199157715,"y":4387.039630830288,"z":"c281e2a0.b9793","wires":[["e8612d8a.dedd3"]]},{"id":"48a0d3ef.d7a9fc","type":"returnFailure","name":"return failure","xml":"<return 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":957.5479011535645,"y":4336.56409740448,"z":"c281e2a0.b9793","wires":[]},{"id":"29643f29.61c8b","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":471.14311599731445,"y":4225.564147949219,"z":"c281e2a0.b9793","wires":[]},{"id":"b325649c.60f8f8","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":1241.166862487793,"y":5908.192313313484,"z":"c281e2a0.b9793","wires":[["94416827.3ed0a8","1ab568ac.3f88e7"]]},{"id":"94416827.3ed0a8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1461.0002059936523,"y":5879.064057469368,"z":"c281e2a0.b9793","wires":[["556deb90.1cc9d4"]]},{"id":"1ab568ac.3f88e7","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1469.5717391967773,"y":5931.683201909065,"z":"c281e2a0.b9793","wires":[["2389206e.4826b"]]},{"id":"ce287a6f.f11468","type":"returnFailure","name":"return failure","xml":"<return 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":1796.0003395080566,"y":5898.873953938484,"z":"c281e2a0.b9793","wires":[]},{"id":"9567a7bf.617988","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":420.8335876464844,"y":5673.525866150856,"z":"c281e2a0.b9793","wires":[["4b2574f8.f62e7c"]]},{"id":"ded84e31.8d5cd","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":817.8335990905762,"y":6092.192698359489,"z":"c281e2a0.b9793","wires":[["892dba1f.949248"]]},{"id":"5e0cc948.1a6558","type":"returnFailure","name":"return failure","xml":"<return 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":1797.8337135314941,"y":5948.858494877815,"z":"c281e2a0.b9793","wires":[]},{"id":"7146fa07.61fea4","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":395.26212310791016,"y":7040.571921646595,"z":"c281e2a0.b9793","wires":[["7ae71150.3fb55"]]},{"id":"7ae71150.3fb55","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":590.2621536254883,"y":7039.904929459095,"z":"c281e2a0.b9793","wires":[["c15a118a.bb8aa"]]},{"id":"c05ff08f.7a6c4","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":981.9288558959961,"y":7062.572579681873,"z":"c281e2a0.b9793","wires":[["1d5a7adc.472855"]]},{"id":"b1fd5f15.884cb","type":"comment","name":"Not a failure","info":"","comments":"","x":1501.9287567138672,"y":7062.572584450245,"z":"c281e2a0.b9793","wires":[]},{"id":"1d5a7adc.472855","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1191.928840637207,"y":7062.572729408741,"z":"c281e2a0.b9793","wires":[["adb4b884.833d98"]]},{"id":"adb4b884.833d98","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":1335.2622833251953,"y":7062.572567284107,"z":"c281e2a0.b9793","wires":[[]]},{"id":"8e82ea05.d1d908","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1365.2624053955078,"y":7013.90428096056,"z":"c281e2a0.b9793","wires":[["a469752e.e63838"]]},{"id":"d971c450.d3f188","type":"comment","name":"Not a failure","info":"","comments":"","x":1688.595458984375,"y":7012.238103210926,"z":"c281e2a0.b9793","wires":[]},{"id":"a469752e.e63838","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":1511.2623405456543,"y":7013.904914200306,"z":"c281e2a0.b9793","wires":[[]]},{"id":"c15a118a.bb8aa","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":758.5955467224121,"y":7038.904774010181,"z":"c281e2a0.b9793","wires":[["b3791ee0.eee6b","c05ff08f.7a6c4"]]},{"id":"b3791ee0.eee6b","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":1071.9288711547852,"y":7014.238913834095,"z":"c281e2a0.b9793","wires":[["8e82ea05.d1d908"]]},{"id":"db8855fa.f2df38","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":780.8335151672363,"y":4318.191211700439,"z":"c281e2a0.b9793","wires":[["48a0d3ef.d7a9fc","a08e7f46.755f3"]]},{"id":"e8612d8a.dedd3","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":781.8334312438965,"y":4384.857501924038,"z":"c281e2a0.b9793","wires":[["d4511df.4c530e","a08e7f46.755f3"]]},{"id":"556deb90.1cc9d4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1629.5002098083496,"y":5878.858327031136,"z":"c281e2a0.b9793","wires":[["ce287a6f.f11468","f09ff6b.4f3f408"]]},{"id":"2389206e.4826b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1624.5002098083496,"y":5931.858169674873,"z":"c281e2a0.b9793","wires":[["5e0cc948.1a6558","f09ff6b.4f3f408"]]},{"id":"16645c8e.451fe3","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":966.6667060852051,"y":2388.1915343999863,"z":"c281e2a0.b9793","wires":[["92438f35.2e311","a51b6262.197c9"]]},{"id":"92438f35.2e311","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1230.0000216166177,"y":2351.5247507492695,"z":"c281e2a0.b9793","wires":[["662806dc.522f58"]]},{"id":"a51b6262.197c9","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1233.333309173584,"y":2426.52474629879,"z":"c281e2a0.b9793","wires":[["ee759f3a.85ba2"]]},{"id":"662806dc.522f58","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1391.6667098999023,"y":2349.8580354452133,"z":"c281e2a0.b9793","wires":[["1ef4ca32.6d3916"]]},{"id":"ee759f3a.85ba2","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1388.3333168029785,"y":2426.5245879888535,"z":"c281e2a0.b9793","wires":[["c3e31139.9c682"]]},{"id":"1ef4ca32.6d3916","type":"switchNode","name":"switch mdsal-preload.response-code","xml":"<switch test='`$mdsal-preload.response-code`'>\n","comments":"","outputs":1,"x":1620.0000114440918,"y":2349.858076453209,"z":"c281e2a0.b9793","wires":[["28b0c60b.c37f4a","35732eb1.234eb2"]]},{"id":"28b0c60b.c37f4a","type":"outcome","name":"404 (not found)","xml":"<outcome value='404'>\n","comments":"","outputs":1,"x":1871.666748046875,"y":2313.1914504766464,"z":"c281e2a0.b9793","wires":[["e5249593.3b52e8"]]},{"id":"e5249593.3b52e8","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":2268.3332176208496,"y":2311.5245784521103,"z":"c281e2a0.b9793","wires":[["838605d7.09b008"]]},{"id":"838605d7.09b008","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2638.333366394043,"y":2309.8581146001816,"z":"c281e2a0.b9793","wires":[["5b13f1bd.9caa2"]]},{"id":"d1ff1b92.db4a78","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":2946.6667442321777,"y":2341.524851202965,"z":"c281e2a0.b9793","wires":[]},{"id":"35732eb1.234eb2","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1846.6668281555176,"y":2369.857941031456,"z":"c281e2a0.b9793","wires":[["9d4e3c9a.59748"]]},{"id":"587561df.2ca4a","type":"returnFailure","name":"return failure","xml":"<return 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":2159.9997329711914,"y":2386.5243648290634,"z":"c281e2a0.b9793","wires":[]},{"id":"c3e31139.9c682","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":1751.6666069030762,"y":2428.1913360357285,"z":"c281e2a0.b9793","wires":[["32d49f72.4cd54"]]},{"id":"32d49f72.4cd54","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2107.333469390869,"y":2426.524954199791,"z":"c281e2a0.b9793","wires":[["893d3e7a.e5b1f"]]},{"id":"f8e976f1.7db4f8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":2415.666721343994,"y":2448.1918491125107,"z":"c281e2a0.b9793","wires":[]},{"id":"4b2574f8.f62e7c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":611.3336563110352,"y":5674.359100937843,"z":"c281e2a0.b9793","wires":[["ded84e31.8d5cd","aca03865.b65bb8"]]},{"id":"aca03865.b65bb8","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":862.3337059020996,"y":4879.025192141533,"z":"c281e2a0.b9793","wires":[["10f304f5.ad9eeb"]]},{"id":"3c22f266.7fa8ae","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":1588.3337745666504,"y":4687.359122633934,"z":"c281e2a0.b9793","wires":[["79f212bd.d038bc","c592d914.589c38"]]},{"id":"10f304f5.ad9eeb","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1030.667007446289,"y":4879.692019343376,"z":"c281e2a0.b9793","wires":[["f18c3c9d.cd99d","91efb93f.b0b208","f8377f02.519e8","8511c134.e2a8c","502f3bfc.44fe14","3895a80b.eba038"]]},{"id":"79f212bd.d038bc","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1779.333812713623,"y":4639.69245660305,"z":"c281e2a0.b9793","wires":[["4e0f33a2.b03bdc"]]},{"id":"dd909f2a.31b4d","type":"returnFailure","name":"return failure","xml":"<return 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":2118.3339653015137,"y":4673.835712194443,"z":"c281e2a0.b9793","wires":[]},{"id":"4e0f33a2.b03bdc","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1944.5004997253418,"y":4653.82028990984,"z":"c281e2a0.b9793","wires":[["dd909f2a.31b4d","78584413.02195c"]]},{"id":"f8377f02.519e8","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":1255.2382926940918,"y":4787.978354334831,"z":"c281e2a0.b9793","wires":[["c02a3486.e78ab8","34b8b94.60c9146"]]},{"id":"1be9a1e8.7e4a3e","type":"returnFailure","name":"return failure","xml":"<return 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":1765.2382278442383,"y":4779.645190119743,"z":"c281e2a0.b9793","wires":[]},{"id":"c0926ac4.cdff28","type":"returnFailure","name":"return failure","xml":"<return 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":1760.4051361083984,"y":4831.296397089958,"z":"c281e2a0.b9793","wires":[]},{"id":"706aad6f.b2a7c4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1587.0714836120605,"y":4761.295978426933,"z":"c281e2a0.b9793","wires":[["1be9a1e8.7e4a3e","78584413.02195c"]]},{"id":"719cde80.fcedc","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1587.0715599060059,"y":4814.295737147331,"z":"c281e2a0.b9793","wires":[["c0926ac4.cdff28","78584413.02195c"]]},{"id":"c02a3486.e78ab8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1430.238368988037,"y":4761.311648249626,"z":"c281e2a0.b9793","wires":[["706aad6f.b2a7c4"]]},{"id":"34b8b94.60c9146","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1438.809902191162,"y":4813.930792689323,"z":"c281e2a0.b9793","wires":[["719cde80.fcedc"]]},{"id":"f18c3c9d.cd99d","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":1252.714412689209,"y":5204.834762454033,"z":"c281e2a0.b9793","wires":[["58d1d842.f73148"]]},{"id":"d2581847.10cc78","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":473.3333168029785,"y":2512.7385843992233,"z":"c281e2a0.b9793","wires":[[]]},{"id":"cda369d7.15b748","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":1708.66695022583,"y":5168.02519595623,"z":"c281e2a0.b9793","wires":[["32bc244c.7220fc"]]},{"id":"32bc244c.7220fc","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":1976.0002937316895,"y":5167.02568423748,"z":"c281e2a0.b9793","wires":[["db76e4e5.4cf428"]]},{"id":"9ab4c052.39968","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":2407.9999046325684,"y":5233.691383719444,"z":"c281e2a0.b9793","wires":[["2cac435d.a1268c"]]},{"id":"db76e4e5.4cf428","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2187.0000648498535,"y":5167.02514064312,"z":"c281e2a0.b9793","wires":[["d3b99c28.7e5cf","9ab4c052.39968"]]},{"id":"d3b99c28.7e5cf","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":2407.0003929138184,"y":5087.025038123131,"z":"c281e2a0.b9793","wires":[]},{"id":"2cac435d.a1268c","type":"switchNode","name":"switch address family","xml":"<switch test='`$tmp.address-family`'>\n","comments":"","outputs":1,"x":2646.9999961853027,"y":5232.0252059698105,"z":"c281e2a0.b9793","wires":[["422dc838.bc08d8","12f35a08.f97c36"]]},{"id":"422dc838.bc08d8","type":"outcome","name":"ipv4","xml":"<outcome value='ipv4'>\n","comments":"","outputs":1,"x":2844.1430015563965,"y":5135.596466422081,"z":"c281e2a0.b9793","wires":[["ced8df69.6e36b"]]},{"id":"12f35a08.f97c36","type":"outcome","name":"ipv6","xml":"<outcome value='ipv6'>\n","comments":"","outputs":1,"x":2841.7620735168457,"y":5315.358497977257,"z":"c281e2a0.b9793","wires":[["970f00c2.cf0fb"]]},{"id":"eff5f3c5.e7a55","type":"comment","name":"Fixed IPs","info":"","comments":"","x":1725.6669654846191,"y":5129.692572951317,"z":"c281e2a0.b9793","wires":[]},{"id":"d1970dd3.007dd","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":3287.476131439209,"y":5083.929546395939,"z":"c281e2a0.b9793","wires":[["fab7bb46.1f5f38"]]},{"id":"ced8df69.6e36b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2994.1430015563965,"y":5135.596385041874,"z":"c281e2a0.b9793","wires":[["d1970dd3.007dd","ddc33e2f.3f85c"]]},{"id":"6da202c1.e82a0c","type":"returnFailure","name":"return failure","xml":"<return 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":3870.8096504211426,"y":5102.263205567997,"z":"c281e2a0.b9793","wires":[]},{"id":"12110c13.457344","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3700.976005554199,"y":5083.91403869788,"z":"c281e2a0.b9793","wires":[["6da202c1.e82a0c","dcf2f8a.b203608"]]},{"id":"fab7bb46.1f5f38","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3544.142890930176,"y":5083.929708520573,"z":"c281e2a0.b9793","wires":[["12110c13.457344"]]},{"id":"ddc33e2f.3f85c","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":3282.476375579834,"y":5182.262965242069,"z":"c281e2a0.b9793","wires":[["f484ec25.b268d","88d1087b.6d8d38"]]},{"id":"7e0fd55c.99db0c","type":"returnFailure","name":"return failure","xml":"<return 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":3869.1427574157715,"y":5173.929636994999,"z":"c281e2a0.b9793","wires":[]},{"id":"24562eff.689f42","type":"returnFailure","name":"return failure","xml":"<return 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":3869.3096199035645,"y":5223.914094964664,"z":"c281e2a0.b9793","wires":[]},{"id":"a40cd1fe.30b81","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3702.6426277160645,"y":5153.91401008765,"z":"c281e2a0.b9793","wires":[["7e0fd55c.99db0c","dcf2f8a.b203608"]]},{"id":"30626ca1.4d2404","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3702.6427040100098,"y":5206.913768808048,"z":"c281e2a0.b9793","wires":[["24562eff.689f42","dcf2f8a.b203608"]]},{"id":"f484ec25.b268d","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3545.809513092041,"y":5153.929679910343,"z":"c281e2a0.b9793","wires":[["a40cd1fe.30b81"]]},{"id":"88d1087b.6d8d38","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":3554.381046295166,"y":5206.54882435004,"z":"c281e2a0.b9793","wires":[["30626ca1.4d2404"]]},{"id":"86bb4824.2800f8","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":3286.2858695983887,"y":5262.977602362633,"z":"c281e2a0.b9793","wires":[["b2f0c007.7919b"]]},{"id":"970f00c2.cf0fb","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2992.952739715576,"y":5314.644441008568,"z":"c281e2a0.b9793","wires":[["86bb4824.2800f8","e4ea4722.56f548"]]},{"id":"af01a2f2.69bae","type":"returnFailure","name":"return failure","xml":"<return 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":3869.6193885803223,"y":5281.311261534691,"z":"c281e2a0.b9793","wires":[]},{"id":"5e6beb7d.1b5734","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3699.785743713379,"y":5262.962094664574,"z":"c281e2a0.b9793","wires":[["af01a2f2.69bae","dcf2f8a.b203608"]]},{"id":"b2f0c007.7919b","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3542.9526290893555,"y":5262.9777644872665,"z":"c281e2a0.b9793","wires":[["5e6beb7d.1b5734"]]},{"id":"e4ea4722.56f548","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":3281.2861137390137,"y":5361.311021208763,"z":"c281e2a0.b9793","wires":[["e4eb0c62.35753","84641592.59c4b8"]]},{"id":"bd5c910f.6a2c2","type":"returnFailure","name":"return failure","xml":"<return 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":3867.952495574951,"y":5352.977692961693,"z":"c281e2a0.b9793","wires":[]},{"id":"bf7ea22c.dc7e9","type":"returnFailure","name":"return failure","xml":"<return 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":3871.4527168273926,"y":5399.628709435463,"z":"c281e2a0.b9793","wires":[]},{"id":"db0a0453.a9c1d8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3701.452365875244,"y":5332.962066054344,"z":"c281e2a0.b9793","wires":[["bd5c910f.6a2c2","dcf2f8a.b203608"]]},{"id":"8fbdb335.3145a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3701.4524421691895,"y":5385.961824774742,"z":"c281e2a0.b9793","wires":[["bf7ea22c.dc7e9","dcf2f8a.b203608"]]},{"id":"e4eb0c62.35753","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3544.6192512512207,"y":5332.977735877037,"z":"c281e2a0.b9793","wires":[["db0a0453.a9c1d8"]]},{"id":"84641592.59c4b8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":3553.1907844543457,"y":5385.596880316734,"z":"c281e2a0.b9793","wires":[["8fbdb335.3145a"]]},{"id":"892dba1f.949248","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1007.666919708252,"y":6091.692137598991,"z":"c281e2a0.b9793","wires":[["b521a46c.b159e8","b325649c.60f8f8","77af5ead.1750b","230ad0d3.dcd8f"]]},{"id":"422aad74.8213a4","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":1655.6670951843262,"y":6214.025885462761,"z":"c281e2a0.b9793","wires":[["d11c836e.c57ae"]]},{"id":"273ee6c6.cc222a","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":1738.66695022583,"y":6045.358897089958,"z":"c281e2a0.b9793","wires":[["70cdaf6a.2be35","d9ff730a.67c18"]]},{"id":"77af5ead.1750b","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":1246.6669425964355,"y":6103.358969569206,"z":"c281e2a0.b9793","wires":[["f2ee7c90.8027d"]]},{"id":"f2ee7c90.8027d","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1472.6669425964355,"y":6101.358969569206,"z":"c281e2a0.b9793","wires":[["273ee6c6.cc222a","6a394d7a.c76054","422aad74.8213a4"]]},{"id":"4696d84c.536f38","type":"returnFailure","name":"return failure","xml":"<return 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":2300.66695022583,"y":6035.358897089958,"z":"c281e2a0.b9793","wires":[]},{"id":"d40560fc.5b0f1","type":"returnFailure","name":"return failure","xml":"<return 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":2300.833812713623,"y":6085.343355059624,"z":"c281e2a0.b9793","wires":[]},{"id":"57c17fa7.ab7ef","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2134.166820526123,"y":6015.34327018261,"z":"c281e2a0.b9793","wires":[["4696d84c.536f38","d97fd47e.81be38"]]},{"id":"14c28c2d.62e484","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2134.1668968200684,"y":6068.3430289030075,"z":"c281e2a0.b9793","wires":[["d40560fc.5b0f1","d97fd47e.81be38"]]},{"id":"70cdaf6a.2be35","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1977.3337059020996,"y":6015.358940005302,"z":"c281e2a0.b9793","wires":[["57c17fa7.ab7ef"]]},{"id":"d9ff730a.67c18","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1985.9052391052246,"y":6067.978084445,"z":"c281e2a0.b9793","wires":[["14c28c2d.62e484"]]},{"id":"16a29da1.16be62","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":2074.3335456848145,"y":6158.025560259819,"z":"c281e2a0.b9793","wires":[["1b0899a1.fdf346","59a31fd3.2582c"]]},{"id":"3b3a05f8.37140a","type":"returnFailure","name":"return failure","xml":"<return 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":2643.999954223633,"y":6150.025529801846,"z":"c281e2a0.b9793","wires":[]},{"id":"8b4c122a.0d63f","type":"returnFailure","name":"return failure","xml":"<return 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":2644.166923522949,"y":6200.00970351696,"z":"c281e2a0.b9793","wires":[]},{"id":"3b5e37dd.a56ed8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2477.499824523926,"y":6130.009902894497,"z":"c281e2a0.b9793","wires":[["3b3a05f8.37140a","d97fd47e.81be38"]]},{"id":"e969a096.0bfe5","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2477.499900817871,"y":6183.009661614895,"z":"c281e2a0.b9793","wires":[["8b4c122a.0d63f","d97fd47e.81be38"]]},{"id":"1b0899a1.fdf346","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2320.6667098999023,"y":6130.02557271719,"z":"c281e2a0.b9793","wires":[["3b5e37dd.a56ed8"]]},{"id":"59a31fd3.2582c","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2329.2382431030273,"y":6182.644717156887,"z":"c281e2a0.b9793","wires":[["e969a096.0bfe5"]]},{"id":"e1dbffc8.939b7","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":1742.0002784729004,"y":6368.691580653191,"z":"c281e2a0.b9793","wires":[["394b95f8.29020a","f814aa1.108ef58"]]},{"id":"230ad0d3.dcd8f","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":1250.0002708435059,"y":6425.691653132439,"z":"c281e2a0.b9793","wires":[["ef367330.94bfc"]]},{"id":"ef367330.94bfc","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1476.0002708435059,"y":6424.691653132439,"z":"c281e2a0.b9793","wires":[["e1dbffc8.939b7","a49c461f.aacc58","c3c14d8c.8aef6"]]},{"id":"3487d10b.c1e98e","type":"returnFailure","name":"return failure","xml":"<return 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":2304.0002784729004,"y":6358.691580653191,"z":"c281e2a0.b9793","wires":[]},{"id":"e8e52dbc.e99d5","type":"returnFailure","name":"return failure","xml":"<return 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":2304.1671409606934,"y":6408.676038622856,"z":"c281e2a0.b9793","wires":[]},{"id":"c1739210.853b1","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2137.5001487731934,"y":6338.675953745842,"z":"c281e2a0.b9793","wires":[["3487d10b.c1e98e","d97fd47e.81be38"]]},{"id":"fcd501b8.c93af","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2137.5002250671387,"y":6391.67571246624,"z":"c281e2a0.b9793","wires":[["e8e52dbc.e99d5","d97fd47e.81be38"]]},{"id":"394b95f8.29020a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1980.66703414917,"y":6338.691623568535,"z":"c281e2a0.b9793","wires":[["c1739210.853b1"]]},{"id":"f814aa1.108ef58","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1989.238567352295,"y":6391.310768008232,"z":"c281e2a0.b9793","wires":[["fcd501b8.c93af"]]},{"id":"36065f46.a3418","type":"returnFailure","name":"return failure","xml":"<return 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":2637.3335342407227,"y":6471.691631257534,"z":"c281e2a0.b9793","wires":[]},{"id":"b524f4da.06da78","type":"returnFailure","name":"return failure","xml":"<return 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":2637.5003967285156,"y":6521.6760892272,"z":"c281e2a0.b9793","wires":[]},{"id":"7071c414.bf0c6c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2470.8334045410156,"y":6451.676004350185,"z":"c281e2a0.b9793","wires":[["36065f46.a3418","d97fd47e.81be38"]]},{"id":"6ea4248b.87e4ec","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2470.833480834961,"y":6504.675763070583,"z":"c281e2a0.b9793","wires":[["b524f4da.06da78","d97fd47e.81be38"]]},{"id":"8c9b6322.65d4c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2314.000289916992,"y":6451.691674172878,"z":"c281e2a0.b9793","wires":[["7071c414.bf0c6c"]]},{"id":"19e68fff.7e74f","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2322.571823120117,"y":6504.3108186125755,"z":"c281e2a0.b9793","wires":[["6ea4248b.87e4ec"]]},{"id":"130606e9.a6f699","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":2069.667133331299,"y":6480.3580931425095,"z":"c281e2a0.b9793","wires":[["8c9b6322.65d4c","19e68fff.7e74f"]]},{"id":"a08e7f46.755f3","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":1125.666805267334,"y":4288.691486299038,"z":"c281e2a0.b9793","wires":[[]]},{"id":"78584413.02195c","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":2290.333751678467,"y":4626.692221403122,"z":"c281e2a0.b9793","wires":[[]]},{"id":"f09ff6b.4f3f408","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":1999.000331878662,"y":5843.692058622837,"z":"c281e2a0.b9793","wires":[[]]},{"id":"d97fd47e.81be38","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":2948.000461578369,"y":5962.691904902458,"z":"c281e2a0.b9793","wires":[[]]},{"id":"dcf2f8a.b203608","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":4267.333450317383,"y":5010.35798484087,"z":"c281e2a0.b9793","wires":[[]]},{"id":"91efb93f.b0b208","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":1232.3335762023926,"y":4727.691877186298,"z":"c281e2a0.b9793","wires":[]},{"id":"b521a46c.b159e8","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":1203.000331878662,"y":5975.692058622837,"z":"c281e2a0.b9793","wires":[]},{"id":"6a394d7a.c76054","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":1676.0002975463867,"y":6103.692138493061,"z":"c281e2a0.b9793","wires":[]},{"id":"a49c461f.aacc58","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":1681.3336334228516,"y":6429.691741764545,"z":"c281e2a0.b9793","wires":[]},{"id":"c592d914.589c38","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1782.3337516784668,"y":4687.692116081715,"z":"c281e2a0.b9793","wires":[["4e0f33a2.b03bdc"]]},{"id":"a5403308.f3a28","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":566.0001106262207,"y":6767.691919207573,"z":"c281e2a0.b9793","wires":[["216aef87.16a46"]]},{"id":"216aef87.16a46","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":910.3335266113281,"y":6767.025414347649,"z":"c281e2a0.b9793","wires":[["17123af4.50edd5"]]},{"id":"17123af4.50edd5","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1065.3334007263184,"y":6767.025210261345,"z":"c281e2a0.b9793","wires":[["c6913bf.53eafc8","320d2d80.f0c0d2","9585c15b.4e796"]]},{"id":"c6913bf.53eafc8","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":1413.666690826416,"y":6712.025630116463,"z":"c281e2a0.b9793","wires":[[]]},{"id":"320d2d80.f0c0d2","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n","comments":"","x":1242.000129699707,"y":6810.3588581085205,"z":"c281e2a0.b9793","wires":[]},{"id":"9585c15b.4e796","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":1237.0000267028809,"y":6763.691714167595,"z":"c281e2a0.b9793","wires":[[]]},{"id":"fcb16772.796c08","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":204.2261962890625,"y":523.5714410543442,"z":"c281e2a0.b9793","wires":[["6b1873f2.63696c","ded68ff0.3a928","93af21a0.ebb87","1c73f9f3.baee96","1fc7e563.9fd97b","f91c0c48.6c834","5da7dd5d.f1de64","e039d8f6.47eef8","bf338b07.458e28"]]},{"id":"e81704f9.71e908","type":"switchNode","name":"switch from-preload","xml":"<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>\n","comments":"","outputs":1,"x":495.23804092407227,"y":2579.167204260826,"z":"c281e2a0.b9793","wires":[["b351a148.2bfbf","57831923.8bf9f8"]]},{"id":"b351a148.2bfbf","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":667.1427726745605,"y":2556.5482248067856,"z":"c281e2a0.b9793","wires":[["b0569611.335668"]]},{"id":"57831923.8bf9f8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":668.8094253540039,"y":2601.548063635826,"z":"c281e2a0.b9793","wires":[["c0be6c68.19f8b"]]},{"id":"b0569611.335668","type":"set","name":"set automated-assignment to true","xml":"<set>\n<parameter name='automated-assignment' value='true' />\n","comments":"","x":882.1427574157715,"y":2554.8813956975937,"z":"c281e2a0.b9793","wires":[]},{"id":"c0be6c68.19f8b","type":"set","name":"set automated-assignment to false","xml":"<set>\n<parameter name='automated-assignment' value='false' />\n","comments":"","x":880.4760780334473,"y":2599.881315588951,"z":"c281e2a0.b9793","wires":[]},{"id":"c3c14d8c.8aef6","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":1656.76216506958,"y":6528.5721653699875,"z":"c281e2a0.b9793","wires":[["2e71e36.46fa41c"]]},{"id":"98914ba2.b5d168","type":"returnFailure","name":"return failure","xml":"<return 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":121.33347702026367,"y":7008.359683454037,"z":"c281e2a0.b9793","wires":[]},{"id":"e28c7bde.2c20f8","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":474.00013732910156,"y":3939.3580869436264,"z":"c281e2a0.b9793","wires":[["ea402844.f404e8"]]},{"id":"ea402844.f404e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":664.5002059936523,"y":3940.1913217306137,"z":"c281e2a0.b9793","wires":[["270f9549.267bca"]]},{"id":"270f9549.267bca","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":866.0001373291016,"y":3939.3580869436264,"z":"c281e2a0.b9793","wires":[["9cc37ec0.b6b9b"]]},{"id":"9cc37ec0.b6b9b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1055.8334579467773,"y":3938.8575261831284,"z":"c281e2a0.b9793","wires":[["5873f3ba.4c9b5c"]]},{"id":"5873f3ba.4c9b5c","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":1345.3334312438965,"y":3937.3581689596176,"z":"c281e2a0.b9793","wires":[["9c99a7b6.bb4868","8924a698.c39db8"]]},{"id":"9c99a7b6.bb4868","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1616.3333702087402,"y":3842.0248712301254,"z":"c281e2a0.b9793","wires":[["7dc29872.91a5b8"]]},{"id":"7dc29872.91a5b8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1763.5238876342773,"y":3840.5728858709335,"z":"c281e2a0.b9793","wires":[["8e11fe1e.0c602","b29ec429.4a9cd8"]]},{"id":"8924a698.c39db8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1604.6666221618652,"y":4061.6913427114487,"z":"c281e2a0.b9793","wires":[["97335d61.22ba5"]]},{"id":"e1abd020.26e2f","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2022.9998741149902,"y":4063.6910985708237,"z":"c281e2a0.b9793","wires":[["d9c03e20.3fb9a","9450e20f.f2285","12eff2f5.e8988d","4e401ffc.c0185","35c23d78.e857f2","c3f481a4.4b488","482fcd9e.209524","d6877179.6bb64"]]},{"id":"8e11fe1e.0c602","type":"returnFailure","name":"return failure","xml":"<return 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":1915.6667442321777,"y":3837.3581231832504,"z":"c281e2a0.b9793","wires":[]},{"id":"9450e20f.f2285","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":2218.000011444092,"y":3931.024754881859,"z":"c281e2a0.b9793","wires":[["e6786e9b.c0b27"]]},{"id":"d9c03e20.3fb9a","type":"set","name":"set found-related-network to false","xml":"<set>\n<parameter name='found-related-network' value='false' />\n","comments":"","x":2258.000087738037,"y":3872.6915315389633,"z":"c281e2a0.b9793","wires":[]},{"id":"efb78149.9b61c","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":2616.999973297119,"y":3907.691018462181,"z":"c281e2a0.b9793","wires":[["cd1453b2.6f3a9"]]},{"id":"e6786e9b.c0b27","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2406.000011444092,"y":3931.024754881859,"z":"c281e2a0.b9793","wires":[["efb78149.9b61c","90f69bfc.33fb08"]]},{"id":"cd1453b2.6f3a9","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":2868.9998893737793,"y":3907.6910947561264,"z":"c281e2a0.b9793","wires":[["cb14eefe.5a2de"]]},{"id":"97335d61.22ba5","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":1808.9999961853027,"y":4062.3580907583237,"z":"c281e2a0.b9793","wires":[["e1abd020.26e2f"]]},{"id":"e5c4c3e9.dd075","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":290.00024032592773,"y":6968.359683454037,"z":"c281e2a0.b9793","wires":[[]]},{"id":"cb14eefe.5a2de","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3068.9998893737793,"y":3905.6910947561264,"z":"c281e2a0.b9793","wires":[["9fb5cd77.e59a9"]]},{"id":"9fb5cd77.e59a9","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3222.9998893737793,"y":3903.6910947561264,"z":"c281e2a0.b9793","wires":[["b5846dc6.9806f","513c0287.6cfb6c","267283a1.50d3ec"]]},{"id":"b5846dc6.9806f","type":"set","name":"set found-related-network to true","xml":"<set>\n<parameter name='found-related-network' value='true' />\n","comments":"","x":3455.0000495910645,"y":3863.357678771019,"z":"c281e2a0.b9793","wires":[]},{"id":"513c0287.6cfb6c","type":"break","name":"break","xml":"<break>\n","comments":"","x":3378.333225250244,"y":3950.0244287252426,"z":"c281e2a0.b9793","wires":[]},{"id":"12eff2f5.e8988d","type":"switchNode","name":"switch found-related-network","xml":"<switch test='`$found-related-network`'>\n","comments":"","outputs":1,"x":2240.999942779541,"y":4006.691232085228,"z":"c281e2a0.b9793","wires":[["bc751607.8087a8"]]},{"id":"bc751607.8087a8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2434.999942779541,"y":4004.691232085228,"z":"c281e2a0.b9793","wires":[["60aa6286.70a78c"]]},{"id":"da9b1694.5bb218","type":"returnFailure","name":"return failure","xml":"<return 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":2712.999942779541,"y":4002.691232085228,"z":"c281e2a0.b9793","wires":[]},{"id":"60aa6286.70a78c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2564.999942779541,"y":4004.691232085228,"z":"c281e2a0.b9793","wires":[["da9b1694.5bb218","b29ec429.4a9cd8"]]},{"id":"b29ec429.4a9cd8","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":2657.6667442321777,"y":3767.3581231832504,"z":"c281e2a0.b9793","wires":[[]]},{"id":"4e401ffc.c0185","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":2302.999942779541,"y":4054.691232085228,"z":"c281e2a0.b9793","wires":[]},{"id":"c3f481a4.4b488","type":"switchNode","name":"switch rn-index","xml":"<switch test='`$rn-index`'>\n","comments":"","outputs":1,"x":2190.999942779541,"y":4162.691232085228,"z":"c281e2a0.b9793","wires":[["ccb908a6.027e08"]]},{"id":"35c23d78.e857f2","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":2262.999942779541,"y":4106.691232085228,"z":"c281e2a0.b9793","wires":[]},{"id":"ccb908a6.027e08","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":2354.999942779541,"y":4162.691232085228,"z":"c281e2a0.b9793","wires":[["4e1f13af.2c9acc"]]},{"id":"4e1f13af.2c9acc","type":"set","name":"set rn-index to 0","xml":"<set>\n<parameter name='rn-index' value='0' />\n","comments":"","x":2514.999942779541,"y":4162.691232085228,"z":"c281e2a0.b9793","wires":[]},{"id":"482fcd9e.209524","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":2214.999942779541,"y":4214.691232085228,"z":"c281e2a0.b9793","wires":[]},{"id":"d6877179.6bb64","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":2232.999942779541,"y":4266.691232085228,"z":"c281e2a0.b9793","wires":[]},{"id":"90f69bfc.33fb08","type":"switchNode","name":"switch found-related-network","xml":"<switch test='`$found-related-network`'>\n","comments":"","outputs":1,"x":2629.9999961853027,"y":3955.3578790426254,"z":"c281e2a0.b9793","wires":[["bd4bfde9.e323c"]]},{"id":"bd4bfde9.e323c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2826.6668586730957,"y":3955.358250975609,"z":"c281e2a0.b9793","wires":[["14ae2838.2b3c78"]]},{"id":"14ae2838.2b3c78","type":"break","name":"break","xml":"<break>\n","comments":"","x":2956.6667442321777,"y":3953.6913751363754,"z":"c281e2a0.b9793","wires":[]},{"id":"267283a1.50d3ec","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":3396.6669578552246,"y":3905.35824906826,"z":"c281e2a0.b9793","wires":[]},{"id":"3967ae4a.28f732","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":1685.5714492797852,"y":4934.882302165031,"z":"c281e2a0.b9793","wires":[[]]},{"id":"194fb60a.c8055a","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":1667.2380714416504,"y":5001.54880797863,"z":"c281e2a0.b9793","wires":[["fc15bfb9.1690c","8fc1b804.471888"]]},{"id":"fc15bfb9.1690c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1856.238052368164,"y":4977.215421497822,"z":"c281e2a0.b9793","wires":[["8be276b1.529838"]]},{"id":"8be276b1.529838","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2023.404800415039,"y":4993.009855091572,"z":"c281e2a0.b9793","wires":[["4c72e4b8.c8b60c","78584413.02195c"]]},{"id":"8fc1b804.471888","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1861.238052368164,"y":5026.881681263447,"z":"c281e2a0.b9793","wires":[["8be276b1.529838"]]},{"id":"4c72e4b8.c8b60c","type":"returnFailure","name":"return failure","xml":"<return 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":2188.904811859131,"y":5004.882059931755,"z":"c281e2a0.b9793","wires":[]},{"id":"58d1d842.f73148","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1462.0477714538574,"y":5204.167096018791,"z":"c281e2a0.b9793","wires":[["2a88c37a.f52dfc","cda369d7.15b748","3967ae4a.28f732","194fb60a.c8055a","82edde6c.cbd8c","d791c619.1c0de8"]]},{"id":"2a88c37a.f52dfc","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":1697.5716133117676,"y":5079.406377673149,"z":"c281e2a0.b9793","wires":[]},{"id":"f7e0fa09.0da6e8","type":"comment","name":"Floating IPs","info":"","comments":"","x":1258.3334312438965,"y":6061.69149595499,"z":"c281e2a0.b9793","wires":[]},{"id":"82edde6c.cbd8c","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":1681.6666145324707,"y":5475.691871523857,"z":"c281e2a0.b9793","wires":[["23327f6f.5cc69"]]},{"id":"3f52c68d.db16fa","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":2320.0000953674316,"y":5475.358379244804,"z":"c281e2a0.b9793","wires":[["23e092ca.2884de","19f8e772.a624f9"]]},{"id":"cc5fddd3.e7b56","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2691.8331336975098,"y":5448.676327586174,"z":"c281e2a0.b9793","wires":[["5e6832c6.09c0bc","bb628391.808e8"]]},{"id":"cf31ae7c.336ef","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2691.833209991455,"y":5501.676086306572,"z":"c281e2a0.b9793","wires":[["5e6832c6.09c0bc","7b795e56.3998d"]]},{"id":"23e092ca.2884de","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2535.0000190734863,"y":5448.691997408867,"z":"c281e2a0.b9793","wires":[["cc5fddd3.e7b56"]]},{"id":"19f8e772.a624f9","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2543.5715522766113,"y":5501.311141848564,"z":"c281e2a0.b9793","wires":[["cf31ae7c.336ef"]]},{"id":"bb628391.808e8","type":"returnFailure","name":"return failure","xml":"<return 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":2863.999942779541,"y":5471.358703494071,"z":"c281e2a0.b9793","wires":[]},{"id":"7b795e56.3998d","type":"returnFailure","name":"return failure","xml":"<return 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":2859.166851043701,"y":5523.009910464286,"z":"c281e2a0.b9793","wires":[]},{"id":"5e6832c6.09c0bc","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":3065.666706085205,"y":5421.358701586723,"z":"c281e2a0.b9793","wires":[[]]},{"id":"d791c619.1c0de8","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":1681.6667671203613,"y":5636.358226656914,"z":"c281e2a0.b9793","wires":[["5ca9d01e.1d8bc"]]},{"id":"3c0da287.0cae0e","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":2601.3337745666504,"y":5634.358221888542,"z":"c281e2a0.b9793","wires":[["4f85a505.0270ec","8f924327.75574"]]},{"id":"872090c1.b706b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3008.166820526123,"y":5607.675520777703,"z":"c281e2a0.b9793","wires":[["b515575c.247648","5e6832c6.09c0bc"]]},{"id":"561ae9eb.72a478","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3008.1668968200684,"y":5660.675279498101,"z":"c281e2a0.b9793","wires":[["1d965a07.e719f6","5e6832c6.09c0bc"]]},{"id":"4f85a505.0270ec","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2851.3337059020996,"y":5607.691190600396,"z":"c281e2a0.b9793","wires":[["872090c1.b706b"]]},{"id":"8f924327.75574","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2859.9052391052246,"y":5660.310335040093,"z":"c281e2a0.b9793","wires":[["561ae9eb.72a478"]]},{"id":"b515575c.247648","type":"returnFailure","name":"return failure","xml":"<return 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":3180.3336296081543,"y":5630.3578966856,"z":"c281e2a0.b9793","wires":[]},{"id":"1d965a07.e719f6","type":"returnFailure","name":"return failure","xml":"<return 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":3175.5005378723145,"y":5682.009103655815,"z":"c281e2a0.b9793","wires":[]},{"id":"de59419e.974cd","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":2297.3336067199707,"y":5634.3582228422165,"z":"c281e2a0.b9793","wires":[["3c0da287.0cae0e"]]},{"id":"b3a603a5.80e31","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":555.6669006347656,"y":6877.358483314514,"z":"c281e2a0.b9793","wires":[[]]},{"id":"c04c47f5.514678","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":377.00022888183594,"y":6925.35858631134,"z":"c281e2a0.b9793","wires":[[]]},{"id":"cdfcaf85.62d64","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":528.3333320617676,"y":2361.1910442113876,"z":"c281e2a0.b9793","wires":[["a0874d5.7e761b","985e8945.d74038"]]},{"id":"a0874d5.7e761b","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":728.333324432373,"y":2338.6909469366074,"z":"c281e2a0.b9793","wires":[["e5249593.3b52e8"]]},{"id":"985e8945.d74038","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":729.7619361877441,"y":2388.8101695775986,"z":"c281e2a0.b9793","wires":[["16645c8e.451fe3"]]},{"id":"63bfe42c.9fb95c","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":1285.8334312438965,"y":3156.1907209157944,"z":"c281e2a0.b9793","wires":[["1e64ed59.1e5183"]]},{"id":"1e64ed59.1e5183","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":1534.166690826416,"y":3156.1907209157944,"z":"c281e2a0.b9793","wires":[["fea6d69d.d54528"]]},{"id":"47fa3ee6.d0e38","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":491.6666069030762,"y":2874.5240577459335,"z":"c281e2a0.b9793","wires":[["28ec4405.9a39ec"]]},{"id":"28ec4405.9a39ec","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":673.3333854675293,"y":2873.1912063360214,"z":"c281e2a0.b9793","wires":[["45de94d5.73101c"]]},{"id":"45de94d5.73101c","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":874.4999580383301,"y":2873.0238956212997,"z":"c281e2a0.b9793","wires":[["ca740cea.e62d6"]]},{"id":"ca740cea.e62d6","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1086.6666297912598,"y":2872.0242561101913,"z":"c281e2a0.b9793","wires":[["cbe13ead.16c16","7d23e100.1f668","362b374d.7670e8","63bfe42c.9fb95c"]]},{"id":"cbe13ead.16c16","type":"set","name":"set vnf-network-index to -1","xml":"<set>\n<parameter name='vnf-network-index' value='-1' />\n","comments":"","x":1298.3333473205566,"y":2825.3574699163437,"z":"c281e2a0.b9793","wires":[]},{"id":"7d23e100.1f668","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":1280.0001373291016,"y":2872.024221777916,"z":"c281e2a0.b9793","wires":[["d69233bc.c9992"]]},{"id":"d69233bc.c9992","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":1521.6666069030762,"y":2870.3577169179916,"z":"c281e2a0.b9793","wires":[["4417b7d7.ed8cf8"]]},{"id":"4417b7d7.ed8cf8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1718.3332862854004,"y":2870.3576358556747,"z":"c281e2a0.b9793","wires":[["8d8e6fbf.ff49c"]]},{"id":"8d8e6fbf.ff49c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1871.6665077209473,"y":2870.3575080633163,"z":"c281e2a0.b9793","wires":[["cdb9a81.db01858","a342ffc7.9707f","3fd4ae58.22bfd2"]]},{"id":"cdb9a81.db01858","type":"set","name":"set vnf-network-index","xml":"<set>\n<parameter name='vnf-network-index' value='`$idx`' />\n","comments":"","x":2078.333339691162,"y":2818.690885901451,"z":"c281e2a0.b9793","wires":[]},{"id":"a342ffc7.9707f","type":"break","name":"break","xml":"<break>\n","comments":"","x":2033.3332557678223,"y":2908.690806746483,"z":"c281e2a0.b9793","wires":[]},{"id":"362b374d.7670e8","type":"switchNode","name":"switch vnf-network-index","xml":"<switch test='`$vnf-network-index`'>\n","comments":"","outputs":1,"x":1291.666675567627,"y":2932.0242236852646,"z":"c281e2a0.b9793","wires":[["5e7cd6b.8449228"]]},{"id":"5e7cd6b.8449228","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":1483.3333168029785,"y":2932.0244678258896,"z":"c281e2a0.b9793","wires":[["9244fe7f.31bdd"]]},{"id":"9244fe7f.31bdd","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1631.6665077209473,"y":2930.3575080633163,"z":"c281e2a0.b9793","wires":[["870865f7.4f7ae8","59ea4147.35ab6"]]},{"id":"870865f7.4f7ae8","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":3160.000141143799,"y":2782.0240854024887,"z":"c281e2a0.b9793","wires":[[]]},{"id":"59ea4147.35ab6","type":"returnFailure","name":"return failure","xml":"<return 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":1799.9998817443848,"y":2948.6907600164413,"z":"c281e2a0.b9793","wires":[]},{"id":"2a4765c5.30e19a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2323.333225250244,"y":3340.357359290123,"z":"c281e2a0.b9793","wires":[["7fb715db.138d3c","3542e589.394d0a","58b2c621.464728"]]},{"id":"7fb715db.138d3c","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":2519.9999771118164,"y":3295.357278227806,"z":"c281e2a0.b9793","wires":[["747e7dc0.12e944"]]},{"id":"747e7dc0.12e944","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":2746.666603088379,"y":3295.357278227806,"z":"c281e2a0.b9793","wires":[["ed980615.6f71e8"]]},{"id":"ed980615.6f71e8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2926.6665687561035,"y":3295.357684493065,"z":"c281e2a0.b9793","wires":[["d55384f.ba55f78"]]},{"id":"b9054984.486ce8","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":2351.666561126709,"y":3158.6907724142075,"z":"c281e2a0.b9793","wires":[]},{"id":"fea6d69d.d54528","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":1796.666904449463,"y":3155.3578075170517,"z":"c281e2a0.b9793","wires":[["6ff2b1b6.97745","1dd0e662.d10d8a","5ba80aca.dec534"]]},{"id":"6ff2b1b6.97745","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1998.3334159851074,"y":3055.357350707054,"z":"c281e2a0.b9793","wires":[["15aeaeb0.b6c1f1"]]},{"id":"1dd0e662.d10d8a","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1994.7620468139648,"y":3241.3096421957016,"z":"c281e2a0.b9793","wires":[["bfd0cd27.17874"]]},{"id":"15aeaeb0.b6c1f1","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2129.9999656677246,"y":3078.024097800255,"z":"c281e2a0.b9793","wires":[[]]},{"id":"6b48e8f1.05ab58","type":"set","name":"set subnet-id to -1","xml":"<set>\n<parameter name='subnet-id' value='-1' />\n","comments":"","x":3020.0004844665527,"y":3457.024764418602,"z":"c281e2a0.b9793","wires":[]},{"id":"bfd0cd27.17874","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2148.3334617614746,"y":3240.357274413109,"z":"c281e2a0.b9793","wires":[["b9054984.486ce8","2a4765c5.30e19a"]]},{"id":"63d0a0de.61222","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4280.000082015991,"y":3628.6912413835526,"z":"c281e2a0.b9793","wires":[["3e091462.40e70c","aaa9a679.f9ece8"]]},{"id":"aaa9a679.f9ece8","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":4495.00008392334,"y":3678.6909152269363,"z":"c281e2a0.b9793","wires":[["a4b9a2d6.98cf9"]]},{"id":"3e091462.40e70c","type":"switchNode","name":"switch tmp.address-family","xml":"<switch test='`$tmp.address-family`'>\n","comments":"","outputs":1,"x":4496.667240142822,"y":3585.3579016923904,"z":"c281e2a0.b9793","wires":[["13cdd504.b1a3ab","cb684de4.29a3e"]]},{"id":"13cdd504.b1a3ab","type":"outcome","name":"ipv4","xml":"<outcome value='ipv4'>\n","comments":"","outputs":1,"x":4700.000502268473,"y":3558.6911320288973,"z":"c281e2a0.b9793","wires":[["7ea6517b.eea13"]]},{"id":"cb684de4.29a3e","type":"outcome","name":"ipv6","xml":"<outcome value='ipv6'>\n","comments":"","outputs":1,"x":4700.000175476074,"y":3605.357659459114,"z":"c281e2a0.b9793","wires":[["1086dd41.8fbd03"]]},{"id":"7ea6517b.eea13","type":"set","name":"set ip-type parameter to IPv4","xml":"<set>\n<parameter name='ip-type' value='IPv4' />\n","comments":"","x":4896.666988372803,"y":3557.024605870247,"z":"c281e2a0.b9793","wires":[]},{"id":"1086dd41.8fbd03","type":"set","name":"set ip-type parameter to IPv6","xml":"<set>\n<parameter name='ip-type' value='IPv6' />\n","comments":"","x":4901.66686630249,"y":3605.3576785326004,"z":"c281e2a0.b9793","wires":[]},{"id":"7fc46df.2b38294","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4835.000114440918,"y":3678.3576785326004,"z":"c281e2a0.b9793","wires":[["4cf41fe7.a3106","74f11025.3f1fc"]]},{"id":"4cf41fe7.a3106","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":5013.333435058594,"y":3655.0241652727127,"z":"c281e2a0.b9793","wires":[]},{"id":"74f11025.3f1fc","type":"break","name":"break","xml":"<break>\n","comments":"","x":4998.333438873291,"y":3701.6911593675613,"z":"c281e2a0.b9793","wires":[]},{"id":"d31bd158.412b6","type":"switchNode","name":"switch subnet-id","xml":"<switch test='`$subnet-id`'>\n","comments":"","outputs":1,"x":3011.666358947754,"y":3618.6914991140366,"z":"c281e2a0.b9793","wires":[["c2f0bf51.995e6"]]},{"id":"c2f0bf51.995e6","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":3168.33292388916,"y":3618.691434264183,"z":"c281e2a0.b9793","wires":[["dede0c8.bac57f"]]},{"id":"dede0c8.bac57f","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3316.666114807129,"y":3617.02447450161,"z":"c281e2a0.b9793","wires":[["ca343905.3a2938","870865f7.4f7ae8"]]},{"id":"ca343905.3a2938","type":"returnFailure","name":"return failure","xml":"<return 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":3484.9994468688965,"y":3633.6909497976303,"z":"c281e2a0.b9793","wires":[]},{"id":"ff78938e.825b6","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":3123.3330039978027,"y":3695.358270049095,"z":"c281e2a0.b9793","wires":[]},{"id":"3701ddfc.549122","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":476.66659927368164,"y":3290.3575080633163,"z":"c281e2a0.b9793","wires":[[]]},{"id":"a4b9a2d6.98cf9","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4681.666687011719,"y":3678.6914035081863,"z":"c281e2a0.b9793","wires":[["7fc46df.2b38294"]]},{"id":"3fd4ae58.22bfd2","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":2054.999843597412,"y":2863.6909688711166,"z":"c281e2a0.b9793","wires":[]},{"id":"8511c134.e2a8c","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":1253.333309173584,"y":4478.690696597099,"z":"c281e2a0.b9793","wires":[["fefb667e.d34c38","d37e094c.044388"]]},{"id":"fefb667e.d34c38","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1438.3332557678223,"y":4453.690515398979,"z":"c281e2a0.b9793","wires":[["22f4451.03ddbba"]]},{"id":"d37e094c.044388","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1436.4285278320312,"y":4500.476343035698,"z":"c281e2a0.b9793","wires":[["538b8daa.f6cfd4"]]},{"id":"22f4451.03ddbba","type":"set","name":"set tmp.nfc-naming-code to DEFAULT","xml":"<set>\n<parameter name='tmp.nfc-naming-code' value='DEFAULT' />\n","comments":"","x":1670.0000267028809,"y":4452.023865580559,"z":"c281e2a0.b9793","wires":[]},{"id":"538b8daa.f6cfd4","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":1626.6665382385254,"y":4500.357363581657,"z":"c281e2a0.b9793","wires":[]},{"id":"502f3bfc.44fe14","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":1241.6666412353516,"y":4577.02387034893,"z":"c281e2a0.b9793","wires":[["e45a052c.062058","3fa16d0d.6e4072"]]},{"id":"e45a052c.062058","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1438.3332481384277,"y":4552.023668169975,"z":"c281e2a0.b9793","wires":[["f1f8cad2.a52678"]]},{"id":"3fa16d0d.6e4072","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1436.4285202026367,"y":4598.809495806694,"z":"c281e2a0.b9793","wires":[["b39423fa.914b2"]]},{"id":"f1f8cad2.a52678","type":"set","name":"set tmp.nfc-function to DEFAULT","xml":"<set>\n<parameter name='tmp.nfc-function' value='DEFAULT' />\n","comments":"","x":1650.0000305175781,"y":4550.356877207756,"z":"c281e2a0.b9793","wires":[]},{"id":"b39423fa.914b2","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":1608.3331604003906,"y":4598.690538287163,"z":"c281e2a0.b9793","wires":[]},{"id":"335ebcdf.36a974","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":2881.6666297912598,"y":2233.6910041570663,"z":"c281e2a0.b9793","wires":[[]]},{"id":"5b13f1bd.9caa2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2788.3331336975098,"y":2308.6910041570663,"z":"c281e2a0.b9793","wires":[["d1ff1b92.db4a78","335ebcdf.36a974"]]},{"id":"9d4e3c9a.59748","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1993.3331871032715,"y":2368.690867781639,"z":"c281e2a0.b9793","wires":[["587561df.2ca4a","335ebcdf.36a974"]]},{"id":"893d3e7a.e5b1f","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2255.000051498413,"y":2423.6910346746445,"z":"c281e2a0.b9793","wires":[["f8e976f1.7db4f8","335ebcdf.36a974"]]},{"id":"23327f6f.5cc69","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":1914.99995803833,"y":5475.69089782238,"z":"c281e2a0.b9793","wires":[["855fc1b0.470bd"]]},{"id":"855fc1b0.470bd","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2113.333427429199,"y":5475.358053088188,"z":"c281e2a0.b9793","wires":[["3f52c68d.db16fa"]]},{"id":"5ca9d01e.1d8bc","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":1918.3333015441895,"y":5635.357345461845,"z":"c281e2a0.b9793","wires":[["f791184e.351938"]]},{"id":"f791184e.351938","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2116.6667709350586,"y":5635.0245007276535,"z":"c281e2a0.b9793","wires":[["de59419e.974cd"]]},{"id":"d11c836e.c57ae","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1821.6665840148926,"y":6213.69076526165,"z":"c281e2a0.b9793","wires":[["16a29da1.16be62","4f07c4c.b2fe53c"]]},{"id":"2e71e36.46fa41c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1823.3333320617676,"y":6528.690776705742,"z":"c281e2a0.b9793","wires":[["130606e9.a6f699","f15c2e92.d48f7"]]},{"id":"4f07c4c.b2fe53c","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":2038.3335304260254,"y":6272.023936152458,"z":"c281e2a0.b9793","wires":[["9934c0c5.d4a4f"]]},{"id":"e62cf23e.da265","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":2713.33345413208,"y":6272.023774981499,"z":"c281e2a0.b9793","wires":[["cddad6ff.adc0f8","b720eecf.4edee"]]},{"id":"c5ca07d0.0eed48","type":"returnFailure","name":"return failure","xml":"<return 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":3271.666675567627,"y":6265.357183337212,"z":"c281e2a0.b9793","wires":[]},{"id":"7d7a1cba.6ee544","type":"returnFailure","name":"return failure","xml":"<return 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":3271.8336448669434,"y":6315.341357052326,"z":"c281e2a0.b9793","wires":[]},{"id":"41faa6f2.0ce628","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3105.16654586792,"y":6245.341556429863,"z":"c281e2a0.b9793","wires":[["c5ca07d0.0eed48","d97fd47e.81be38"]]},{"id":"918c8065.51778","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3105.1666221618652,"y":6298.341315150261,"z":"c281e2a0.b9793","wires":[["7d7a1cba.6ee544","d97fd47e.81be38"]]},{"id":"cddad6ff.adc0f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2948.3334312438965,"y":6245.357226252556,"z":"c281e2a0.b9793","wires":[["41faa6f2.0ce628"]]},{"id":"b720eecf.4edee","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2956.9049644470215,"y":6297.976370692253,"z":"c281e2a0.b9793","wires":[["918c8065.51778"]]},{"id":"f15c2e92.d48f7","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":2039.999927520752,"y":6595.357345461845,"z":"c281e2a0.b9793","wires":[["825e7345.364df"]]},{"id":"6956e16a.25406","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":2709.9998817443848,"y":6593.690128207207,"z":"c281e2a0.b9793","wires":[["2f5ed9c4.0c68e6","71893f41.6f1ae"]]},{"id":"8e980bb1.a44fd8","type":"returnFailure","name":"return failure","xml":"<return 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":3268.3331031799316,"y":6587.02353656292,"z":"c281e2a0.b9793","wires":[]},{"id":"ab83bee.d05ae4","type":"returnFailure","name":"return failure","xml":"<return 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":3268.500072479248,"y":6637.007710278034,"z":"c281e2a0.b9793","wires":[]},{"id":"d0ad927.298097","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3101.8329734802246,"y":6567.007909655571,"z":"c281e2a0.b9793","wires":[["8e980bb1.a44fd8"]]},{"id":"5be147c2.a43998","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3101.83304977417,"y":6620.007668375969,"z":"c281e2a0.b9793","wires":[["ab83bee.d05ae4"]]},{"id":"2f5ed9c4.0c68e6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2944.999858856201,"y":6567.023579478264,"z":"c281e2a0.b9793","wires":[["d0ad927.298097"]]},{"id":"71893f41.6f1ae","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2953.571392059326,"y":6619.642723917961,"z":"c281e2a0.b9793","wires":[["5be147c2.a43998"]]},{"id":"9934c0c5.d4a4f","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":2291.6665992736816,"y":6272.023612856865,"z":"c281e2a0.b9793","wires":[["582dbc15.d387a4"]]},{"id":"582dbc15.d387a4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2478.3334426879883,"y":6272.024100184441,"z":"c281e2a0.b9793","wires":[["e62cf23e.da265"]]},{"id":"825e7345.364df","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":2288.333179473877,"y":6593.690353274345,"z":"c281e2a0.b9793","wires":[["a65004e7.415cc8"]]},{"id":"a65004e7.415cc8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2475.0000228881836,"y":6593.690840601921,"z":"c281e2a0.b9793","wires":[["6956e16a.25406"]]},{"id":"3759e633.b179fa","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":658.0476226806641,"y":882.0476239919662,"z":"c281e2a0.b9793","wires":[]},{"id":"137fbedc.65c061","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":1191.0827674865723,"y":926.9644302129745,"z":"c281e2a0.b9793","wires":[["937bb6ab.d3e928"]]},{"id":"fdcc1343.84631","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`\" />\n","comments":"","x":1575.1541442871094,"y":926.9643806219101,"z":"c281e2a0.b9793","wires":[]},{"id":"937bb6ab.d3e928","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1411.3803482055664,"y":926.4524616003036,"z":"c281e2a0.b9793","wires":[["fdcc1343.84631"]]},{"id":"6a0dafd2.849e5","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":1137.9520111083984,"y":1076.8093494176865,"z":"c281e2a0.b9793","wires":[]},{"id":"cc9761fc.c3c32","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":1129.99955368042,"y":1031.300893187523,"z":"c281e2a0.b9793","wires":[[]]},{"id":"a85a3080.68cd","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":1200.690071105957,"y":980.2617877721786,"z":"c281e2a0.b9793","wires":[]},{"id":"9c7519a.27013e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":911.7854995727539,"y":926.6425918340683,"z":"c281e2a0.b9793","wires":[["137fbedc.65c061","a85a3080.68cd","cc9761fc.c3c32","6a0dafd2.849e5"]]},{"id":"ef0240de.c2124","type":"comment","name":"First, count the subnets for this address family","info":"","comments":"","x":2653.3337364196777,"y":3204.999768614769,"z":"c281e2a0.b9793","wires":[]},{"id":"5db15b6.cca79a4","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":3026.6664237976074,"y":3500.000272154808,"z":"c281e2a0.b9793","wires":[["e0589a82.b6b1d8"]]},{"id":"e0589a82.b6b1d8","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":3253.33304977417,"y":3500.000272154808,"z":"c281e2a0.b9793","wires":[["4ec55305.664b0c"]]},{"id":"4ec55305.664b0c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3433.3330154418945,"y":3500.000678420067,"z":"c281e2a0.b9793","wires":[["625e2ff1.7ba5e"]]},{"id":"3542e589.394d0a","type":"set","name":"set af-count to 0","xml":"<set>\n<parameter name='af-count' value='0' />\n","comments":"","x":2508.333309173584,"y":3246.6665204763412,"z":"c281e2a0.b9793","wires":[]},{"id":"6857e7c7.9ac808","type":"set","name":"increment af-count","xml":"<set>\n<parameter name='af-count' value='`$af-count + 1`' />\n","comments":"","x":3256.666675567627,"y":3313.333270430565,"z":"c281e2a0.b9793","wires":[]},{"id":"d55384f.ba55f78","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3073.33304977417,"y":3294.999955534935,"z":"c281e2a0.b9793","wires":[["6857e7c7.9ac808","76e163ca.f2491c"]]},{"id":"76e163ca.f2491c","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":3238.333095550537,"y":3268.3332685232162,"z":"c281e2a0.b9793","wires":[]},{"id":"58b2c621.464728","type":"switchNode","name":"switch af-count","xml":"<switch test='`$af-count`'>\n","comments":"","outputs":1,"x":2498.3337211608887,"y":3483.3334373235703,"z":"c281e2a0.b9793","wires":[["e6df7a02.54e718","ebdc3582.f7c488"]]},{"id":"e6df7a02.54e718","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":2658.333240509033,"y":3381.6666063070297,"z":"c281e2a0.b9793","wires":[["8ca971fd.7953b"]]},{"id":"8ca971fd.7953b","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":2931.66654586792,"y":3379.999955534935,"z":"c281e2a0.b9793","wires":[]},{"id":"ebdc3582.f7c488","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2658.3331565856934,"y":3583.3335260152817,"z":"c281e2a0.b9793","wires":[["42d68fbe.9be82"]]},{"id":"42d68fbe.9be82","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2814.999797821045,"y":3583.33320748806,"z":"c281e2a0.b9793","wires":[["6b48e8f1.05ab58","5db15b6.cca79a4","d31bd158.412b6","ff78938e.825b6"]]},{"id":"625e2ff1.7ba5e","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":3628.333194732666,"y":3498.3335222005844,"z":"c281e2a0.b9793","wires":[["2d6c2df0.f0f642","b9ce861f.3022c8"]]},{"id":"2d6c2df0.f0f642","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":3825.00004196167,"y":3433.3331328630447,"z":"c281e2a0.b9793","wires":[["41bb84ce.add04c"]]},{"id":"b9ce861f.3022c8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":3818.0954399108887,"y":3567.6190444231033,"z":"c281e2a0.b9793","wires":[["5a93119c.cf602"]]},{"id":"5a93119c.cf602","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":3973.3332328796387,"y":3566.6662513017654,"z":"c281e2a0.b9793","wires":[["8a2d4bda.e6bad8","6b592583.089c9c"]]},{"id":"8a2d4bda.e6bad8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":4128.333309173584,"y":3496.666550755501,"z":"c281e2a0.b9793","wires":[["6444f1bd.5b332"]]},{"id":"6b592583.089c9c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":4131.429105758667,"y":3629.285637974739,"z":"c281e2a0.b9793","wires":[["63d0a0de.61222"]]},{"id":"5ba80aca.dec534","type":"outcome","name":"0","xml":"<outcome value='0'>","comments":"","outputs":1,"x":1999.9999198913574,"y":3103.33320748806,"z":"c281e2a0.b9793","wires":[["15aeaeb0.b6c1f1"]]},{"id":"fa3499eb.092408","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have network-start-address populated'`\" />\n\n\n\n","comments":"","x":4133.333545684814,"y":3448.3329697847366,"z":"c281e2a0.b9793","wires":[]},{"id":"41bb84ce.add04c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3969.999969482422,"y":3433.3329001665115,"z":"c281e2a0.b9793","wires":[["fa3499eb.092408","870865f7.4f7ae8"]]},{"id":"7aa00293.47497c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have cidr-mask populated'`\" />\n\n\n\n","comments":"","x":4438.333400726318,"y":3509.999837040901,"z":"c281e2a0.b9793","wires":[]},{"id":"6444f1bd.5b332","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4274.999824523926,"y":3494.999767422676,"z":"c281e2a0.b9793","wires":[["7aa00293.47497c","870865f7.4f7ae8"]]},{"id":"98127124.d9fe3","type":"comment","name":"Ignore address families with no addresses","info":"","comments":"","x":2274.333293914795,"y":3033.66670358181,"z":"c281e2a0.b9793","wires":[]},{"id":"3895a80b.eba038","type":"switchNode","name":"switch invariant-uuid","xml":"<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>\n","comments":"","outputs":1,"x":1245.0001335144043,"y":4663.33308160305,"z":"c281e2a0.b9793","wires":[["a47fd206.3d3c2","45c89d5c.a1aa24"]]},{"id":"a47fd206.3d3c2","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1426.66654586792,"y":4639.99971139431,"z":"c281e2a0.b9793","wires":[["f6afc45b.804248"]]},{"id":"45c89d5c.a1aa24","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1424.761817932129,"y":4686.785539031029,"z":"c281e2a0.b9793","wires":[["3c22f266.7fa8ae"]]},{"id":"f6afc45b.804248","type":"save","name":"save vnfc to A&AI","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n","comments":"","outputs":1,"x":1588.3331718444824,"y":4641.66670358181,"z":"c281e2a0.b9793","wires":[["79f212bd.d038bc","c592d914.589c38"]]},{"id":"5da7dd5d.f1de64","type":"switchNode","name":"switch input cloud-owner","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\n","comments":"","outputs":1,"x":524.0475234985352,"y":271.90473306179047,"z":"c281e2a0.b9793","wires":[["21814d13.e07672","ba916891.51c8d8"]]},{"id":"21814d13.e07672","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":707.3808975219727,"y":241.90472161769867,"z":"c281e2a0.b9793","wires":[["48e33c5f.92d444"]]},{"id":"ba916891.51c8d8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":707.1428031921387,"y":282.8572152853012,"z":"c281e2a0.b9793","wires":[["9fe4b9db.e85ac8"]]},{"id":"48e33c5f.92d444","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":842.3808517456055,"y":240.23806130886078,"z":"c281e2a0.b9793","wires":[[]]},{"id":"9fe4b9db.e85ac8","type":"set","name":"set prop.cloud-region.cloud-owner","xml":"<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\n","comments":"","x":924.0475082397461,"y":281.90474259853363,"z":"c281e2a0.b9793","wires":[]},{"id":"e039d8f6.47eef8","type":"call","name":"call self-serve-vf-module-forking-logic","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n","comments":"","outputs":1,"x":555.634895324707,"y":823.2980636358261,"z":"c281e2a0.b9793","wires":[[]]},{"id":"bf338b07.458e28","type":"switchNode","name":"switch ss.self-serve-flag","xml":"<switch test=\"`$ss.self-serve-flag`\">\n","comments":"","outputs":1,"x":513.7776336669922,"y":1050.298132300377,"z":"c281e2a0.b9793","wires":[["9ccc3f87.c2f8f","21fed37d.10b52c"]]},{"id":"9ccc3f87.c2f8f","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":734.4918327331543,"y":1167.8690313100815,"z":"c281e2a0.b9793","wires":[["53d50dfc.924b64"]]},{"id":"21fed37d.10b52c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":735.0632858276367,"y":926.726668715477,"z":"c281e2a0.b9793","wires":[["9c7519a.27013e8"]]}] \ 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 8e51baef..1409ae7f 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":"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
+[{"id":"b0fd1620.655ca8","type":"dgstart","name":"DGSTART","outputs":1,"x":117.14286041259766,"y":72.41365623474121,"z":"8a262f9.d3b0dd","wires":[["fcf0f4fe.e9bb18"]]},{"id":"fcf0f4fe.e9bb18","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":230.4285659790039,"y":112.65176773071289,"z":"8a262f9.d3b0dd","wires":[["5737a65.f324958"]]},{"id":"5737a65.f324958","type":"method","name":"method vf-module-topology-operation-changeassign","xml":"<method rpc='vf-module-topology-operation-changeassign' mode='sync'>\n","comments":"","outputs":1,"x":248.5714874267578,"y":152.4136562347412,"z":"8a262f9.d3b0dd","wires":[["4abc51a9.9cd8c"]]},{"id":"61ca3b27.a41de4","type":"comment","name":"vf-module-topology-operation-changeassign","info":"","comments":"","x":511.4877166748047,"y":20,"z":"8a262f9.d3b0dd","wires":[]},{"id":"7dfa083f.7c7818","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":520.6666717529297,"y":251.27079391479492,"z":"8a262f9.d3b0dd","wires":[["c33e4ad4.c0edb8","da84ffdd.6915e"]]},{"id":"c33e4ad4.c0edb8","type":"outcome","name":"CreateVfModuleInstance","xml":"<outcome value='CreateVfModuleInstance'>\n","comments":"","outputs":1,"x":771.7142868041992,"y":228.41368007659912,"z":"8a262f9.d3b0dd","wires":[["3077b832.2ed128"]]},{"id":"da84ffdd.6915e","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":715.380931854248,"y":273.79466915130615,"z":"8a262f9.d3b0dd","wires":[["8fe60c4e.59625"]]},{"id":"3077b832.2ed128","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":961.5714511871338,"y":228.41371154785156,"z":"8a262f9.d3b0dd","wires":[[]]},{"id":"8fe60c4e.59625","type":"returnFailure","name":"return failure","xml":"<return 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":980.3809394836426,"y":274.12798166275024,"z":"8a262f9.d3b0dd","wires":[]},{"id":"4abc51a9.9cd8c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":185.95240783691406,"y":447.41358184814453,"z":"8a262f9.d3b0dd","wires":[["7dfa083f.7c7818","f5c6235a.e5fb2","c7eb83e5.8873e","107d6ef2.21d321","b393522d.ebf8","5127faf1.b10724","a93934ef.4212f8","4009e4a7.3072ac","8b4b59af.488c98"]]},{"id":"c7eb83e5.8873e","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":565.476188659668,"y":382.4136209487915,"z":"8a262f9.d3b0dd","wires":[["c2872a88.cea778","5d46a347.9bd9ec"]]},{"id":"c2872a88.cea778","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":806.1904602050781,"y":359.5563611984253,"z":"8a262f9.d3b0dd","wires":[["ac2a3460.e0ea48"]]},{"id":"5d46a347.9bd9ec","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":805.9523010253906,"y":400.50887966156006,"z":"8a262f9.d3b0dd","wires":[["ac71c92d.84f758"]]},{"id":"ac2a3460.e0ea48","type":"returnFailure","name":"return failure","xml":"<return 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":972.8570747375488,"y":358.842116355896,"z":"8a262f9.d3b0dd","wires":[]},{"id":"ac71c92d.84f758","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":968.1904449462891,"y":400.175498008728,"z":"8a262f9.d3b0dd","wires":[["a47006.25b19ff8"]]},{"id":"a47006.25b19ff8","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":1219.5236625671387,"y":399.8421850204468,"z":"8a262f9.d3b0dd","wires":[["5ce5b7fa.0d1d78"]]},{"id":"5ce5b7fa.0d1d78","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1449.523754119873,"y":399.17553901672363,"z":"8a262f9.d3b0dd","wires":[["cd0a1d92.dc903"]]},{"id":"f5c6235a.e5fb2","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":509.52378845214844,"y":320.50879287719727,"z":"8a262f9.d3b0dd","wires":[]},{"id":"7fe7d854.f89c68","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1771.1903915405273,"y":370.1754970550537,"z":"8a262f9.d3b0dd","wires":[]},{"id":"107d6ef2.21d321","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":501.1904716491699,"y":447.1754951477051,"z":"8a262f9.d3b0dd","wires":[["236ee71d.7e03e8"]]},{"id":"236ee71d.7e03e8","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":679.5238571166992,"y":446.5088710784912,"z":"8a262f9.d3b0dd","wires":[["b4969d42.1ba18"]]},{"id":"b4969d42.1ba18","type":"returnFailure","name":"return failure","xml":"<return 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":839.5237655639648,"y":445.8421745300293,"z":"8a262f9.d3b0dd","wires":[]},{"id":"cd0a1d92.dc903","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1597.8572158813477,"y":398.0952377319336,"z":"8a262f9.d3b0dd","wires":[["7fe7d854.f89c68","b2e87734.818bf8"]]},{"id":"b2e87734.818bf8","type":"break","name":"break","xml":"<break>\n","comments":"","x":1732.8571815490723,"y":419.7618236541748,"z":"8a262f9.d3b0dd","wires":[]},{"id":"5127faf1.b10724","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":573.8095016479492,"y":545.746992111206,"z":"8a262f9.d3b0dd","wires":[["238393a.e361b6c","84f2544f.9fa598"]]},{"id":"238393a.e361b6c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":824.523811340332,"y":524.5563955307007,"z":"8a262f9.d3b0dd","wires":[["b17a37a3.5da6a8"]]},{"id":"84f2544f.9fa598","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":824.2856521606445,"y":565.5089139938354,"z":"8a262f9.d3b0dd","wires":[["48eb0930.e76c88"]]},{"id":"b17a37a3.5da6a8","type":"returnFailure","name":"return failure","xml":"<return 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":991.1904258728027,"y":523.8421506881714,"z":"8a262f9.d3b0dd","wires":[]},{"id":"48eb0930.e76c88","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":986.523796081543,"y":565.1755323410034,"z":"8a262f9.d3b0dd","wires":[["a7ccbbe5.35ea78"]]},{"id":"a7ccbbe5.35ea78","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":1292.8569564819336,"y":564.8422679901123,"z":"8a262f9.d3b0dd","wires":[["2eb4d955.2cf836"]]},{"id":"2eb4d955.2cf836","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1562.8570098876953,"y":562.5088729858398,"z":"8a262f9.d3b0dd","wires":[["5d682e3b.dc58e"]]},{"id":"b393522d.ebf8","type":"set","name":"set vf-module-index to -1","xml":"<set>\n<parameter name='vf-module-index' value='-1' />\n","comments":"","x":529.5237731933594,"y":495.5088310241699,"z":"8a262f9.d3b0dd","wires":[]},{"id":"f40c30e1.61b41","type":"set","name":"set vf-module-index to idx","xml":"<set>\n<parameter name='vf-module-index' value='`$idx`' />\n","comments":"","x":1892.8571014404297,"y":533.5088520050049,"z":"8a262f9.d3b0dd","wires":[]},{"id":"a93934ef.4212f8","type":"switchNode","name":"switch vf-module-index","xml":"<switch test='`$vf-module-index`'>\n","comments":"","outputs":1,"x":526.1904754638672,"y":613.8422508239746,"z":"8a262f9.d3b0dd","wires":[["4fd6152b.16dabc"]]},{"id":"4fd6152b.16dabc","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":704.5238609313965,"y":613.1756267547607,"z":"8a262f9.d3b0dd","wires":[["cc9a90b4.f6dbb"]]},{"id":"cc9a90b4.f6dbb","type":"returnFailure","name":"return failure","xml":"<return 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":864.5237693786621,"y":612.5089302062988,"z":"8a262f9.d3b0dd","wires":[]},{"id":"5d682e3b.dc58e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1696.1905517578125,"y":561.4286127090454,"z":"8a262f9.d3b0dd","wires":[["f40c30e1.61b41","d486457b.03c4f8"]]},{"id":"d486457b.03c4f8","type":"break","name":"break","xml":"<break>\n","comments":"","x":1831.190517425537,"y":583.0951986312866,"z":"8a262f9.d3b0dd","wires":[]},{"id":"a0333722.8ea4a8","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":1190.6191673278809,"y":1242.2947263717651,"z":"8a262f9.d3b0dd","wires":[]},{"id":"ecc4c033.4934b","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":1161.2857513427734,"y":940.4613428115845,"z":"8a262f9.d3b0dd","wires":[["18af91b1.b4607e","c6e4455a.385a08"]]},{"id":"18af91b1.b4607e","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1339.285846710205,"y":959.1756715774536,"z":"8a262f9.d3b0dd","wires":[["4b7e6c1f.d39d34"]]},{"id":"77862466.1fd07c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1510.476303100586,"y":911.4614152908325,"z":"8a262f9.d3b0dd","wires":[[]]},{"id":"4b7e6c1f.d39d34","type":"returnFailure","name":"return failure","xml":"<return 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":1524.9525032043457,"y":959.1757125854492,"z":"8a262f9.d3b0dd","wires":[]},{"id":"e2290aa1.d8ade8","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":1201.285789489746,"y":1195.628098487854,"z":"8a262f9.d3b0dd","wires":[]},{"id":"5e9cf84d.a657c8","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":1150.6190757751465,"y":1290.6280221939087,"z":"8a262f9.d3b0dd","wires":[]},{"id":"c6e4455a.385a08","type":"outcome","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":1363.9524765014648,"y":910.7143249511719,"z":"8a262f9.d3b0dd","wires":[["77862466.1fd07c"]]},{"id":"b15e0f26.9f255","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":1219.9524765014648,"y":1128.9613523483276,"z":"8a262f9.d3b0dd","wires":[["cb0b3c5c.5f7e1","b17682d4.5ebac"]]},{"id":"31afce54.dcccd2","type":"returnFailure","name":"return failure","xml":"<return 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":1665.3808975219727,"y":1153.3898248672485,"z":"8a262f9.d3b0dd","wires":[]},{"id":"cb0b3c5c.5f7e1","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1489.738166809082,"y":1109.3421831130981,"z":"8a262f9.d3b0dd","wires":[["369bc4d.584033c"]]},{"id":"b17682d4.5ebac","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1498.3095970153809,"y":1153.627896308899,"z":"8a262f9.d3b0dd","wires":[["31afce54.dcccd2"]]},{"id":"369bc4d.584033c","type":"returnFailure","name":"return failure","xml":"<return 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":1664.7380981445312,"y":1108.485083580017,"z":"8a262f9.d3b0dd","wires":[]},{"id":"a08b9f60.bbfe9","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1123.0000839233398,"y":901.4286489486694,"z":"8a262f9.d3b0dd","wires":[]},{"id":"d5239776.31c288","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":991.0713653564453,"y":779.3214492797852,"z":"8a262f9.d3b0dd","wires":[["bbd3a989.474468","59a233fe.2e88dc"]]},{"id":"bbd3a989.474468","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1240.8213500976562,"y":779.5714378356934,"z":"8a262f9.d3b0dd","wires":[["687f4b0d.09ec54"]]},{"id":"687f4b0d.09ec54","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error performing changeassign for self-serve vf-module resources with error: '+ $error-message`\" />\n","comments":"","x":1400.3927764892578,"y":779.2143325805664,"z":"8a262f9.d3b0dd","wires":[]},{"id":"cfae1886.258a38","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":931.5715560913086,"y":1129.4287605285645,"z":"8a262f9.d3b0dd","wires":[["b15e0f26.9f255","e2290aa1.d8ade8","a0333722.8ea4a8","5e9cf84d.a657c8","cd0f22a5.dc021"]]},{"id":"59a233fe.2e88dc","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1247.1428031921387,"y":823.4285106658936,"z":"8a262f9.d3b0dd","wires":[["7b0941d7.b782a"]]},{"id":"7b0941d7.b782a","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":1404.285789489746,"y":823.428524017334,"z":"8a262f9.d3b0dd","wires":[]},{"id":"cd0f22a5.dc021","type":"switchNode","name":"switch model-customization-id","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":1200.1428909301758,"y":1064.7351522445679,"z":"8a262f9.d3b0dd","wires":[["cfea71c0.e656b"]]},{"id":"cfea71c0.e656b","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1405.1428909301758,"y":1064.7351350784302,"z":"8a262f9.d3b0dd","wires":[["8536c8b7.3c5328"]]},{"id":"8536c8b7.3c5328","type":"returnFailure","name":"return failure","xml":"<return 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.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1556.5714569091797,"y":1064.7351331710815,"z":"8a262f9.d3b0dd","wires":[]},{"id":"8600ce57.b79a7","type":"comment","name":"model-customization-uuid validation moved from validate-vnf-input DG","info":"","comments":"","x":1218.8928909301758,"y":1027.2351388931274,"z":"8a262f9.d3b0dd","wires":[]},{"id":"6520c566.a6984c","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":811.428581237793,"y":735.7142686843872,"z":"8a262f9.d3b0dd","wires":[]},{"id":"4009e4a7.3072ac","type":"call","name":"call self-serve-vf-module-forking-logic","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n","comments":"","outputs":1,"x":570.4443664550781,"y":675.5361385345459,"z":"8a262f9.d3b0dd","wires":[[]]},{"id":"8b4b59af.488c98","type":"switchNode","name":"switch ss.self-serve-flag","xml":"<switch test=\"`$ss.self-serve-flag`\">\n","comments":"","outputs":1,"x":527.1585235595703,"y":948.2504901885986,"z":"8a262f9.d3b0dd","wires":[["c383fd19.54e6f","99f7c2d8.5c5fc"]]},{"id":"c383fd19.54e6f","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":750.1584587097168,"y":1129.1071338653564,"z":"8a262f9.d3b0dd","wires":[["cfae1886.258a38"]]},{"id":"99f7c2d8.5c5fc","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":749.8727569580078,"y":778.9647436141968,"z":"8a262f9.d3b0dd","wires":[["d5239776.31c288"]]}] \ 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 7732bac9..091aa693 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":"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
+[{"id":"e2e49656.8ebb48","type":"dgstart","name":"DGSTART","outputs":1,"x":131.42857360839844,"y":110.98508548736572,"z":"18647007.5f06e","wires":[["c454fe16.3ed8a"]]},{"id":"c454fe16.3ed8a","type":"service-logic","name":"GENERIC-RESOURCE-API ${project.version}","module":"GENERIC-RESOURCE-API","version":"${project.version}","comments":"","xml":"<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>","outputs":1,"x":246.7142791748047,"y":150.55653285980225,"z":"18647007.5f06e","wires":[["be96a73d.265e28"]]},{"id":"be96a73d.265e28","type":"method","name":"method vf-module-topology-operation-unassign","xml":"<method rpc='vf-module-topology-operation-unassign' mode='sync'>\n","comments":"","outputs":1,"x":253.52387237548828,"y":190.98508167266846,"z":"18647007.5f06e","wires":[["81c49a47.fca5c8"]]},{"id":"9d3efd4.31149","type":"comment","name":"vf-module-topology-operation-unassign","info":"","comments":"","x":525.7734298706055,"y":58.57142925262451,"z":"18647007.5f06e","wires":[]},{"id":"c861a71.bf35958","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":536.6190338134766,"y":408.1755590438843,"z":"18647007.5f06e","wires":[["6b156d65.ae2c94","48863ddd.c15a14"]]},{"id":"6b156d65.ae2c94","type":"outcome","name":"DeleteVfModuleInstance","xml":"<outcome value='DeleteVfModuleInstance'>\n","comments":"","outputs":1,"x":798.6666488647461,"y":385.3184452056885,"z":"18647007.5f06e","wires":[["6429f10d.9c11b"]]},{"id":"48863ddd.c15a14","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":742.3332939147949,"y":430.6994342803955,"z":"18647007.5f06e","wires":[["3ad1862d.4098ea"]]},{"id":"6429f10d.9c11b","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":988.5238132476807,"y":385.3184766769409,"z":"18647007.5f06e","wires":[[]]},{"id":"3ad1862d.4098ea","type":"returnFailure","name":"return failure","xml":"<return 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":1007.3333015441895,"y":431.0327467918396,"z":"18647007.5f06e","wires":[]},{"id":"218fe261.ee2e0e","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":159.04767608642578,"y":1502.8897886276245,"z":"18647007.5f06e","wires":[["863442bb.c35bd","23bca180.487f5e","e49fcf2c.dc6dd","f2229878.1d7b18","fc31741.0ef9088","165bb54c.1c4a5b","ab2d7b3e.268578","35514a27.0c3786","eec63ebd.14593","e0000fd9.cea29"]]},{"id":"13f7711f.d4863f","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":583.0952072143555,"y":552.6517343521118,"z":"18647007.5f06e","wires":[["431af51d.d60c3c","2f013004.d53e4"]]},{"id":"431af51d.d60c3c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":823.8094787597656,"y":529.7944746017456,"z":"18647007.5f06e","wires":[["5ca2ab6d.26e0f4"]]},{"id":"2f013004.d53e4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":823.5713195800781,"y":570.7469930648804,"z":"18647007.5f06e","wires":[["936aceca.3de96"]]},{"id":"5ca2ab6d.26e0f4","type":"returnFailure","name":"return failure","xml":"<return 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":990.4760932922363,"y":529.0802297592163,"z":"18647007.5f06e","wires":[]},{"id":"936aceca.3de96","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":985.8094635009766,"y":570.4136114120483,"z":"18647007.5f06e","wires":[["14ab3d7f.68c0e3"]]},{"id":"14ab3d7f.68c0e3","type":"switchNode","name":"switch service data vnf == input vnf","xml":"<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\n","comments":"","outputs":1,"x":1237.1426811218262,"y":570.0802984237671,"z":"18647007.5f06e","wires":[["64ab69be.8fcc48"]]},{"id":"64ab69be.8fcc48","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1467.1427726745605,"y":569.413652420044,"z":"18647007.5f06e","wires":[["b3bf1d7.e779de"]]},{"id":"1f2343f9.c1656c","type":"set","name":"set vnf-index to -1","xml":"<set>\n<parameter name='vnf-index' value='-1' />\n","comments":"","x":532.1428298950195,"y":484.0802335739136,"z":"18647007.5f06e","wires":[]},{"id":"2904a72b.2ba948","type":"set","name":"set vnf-index to idx","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1788.8094100952148,"y":540.413610458374,"z":"18647007.5f06e","wires":[]},{"id":"6dfcbf43.c96e3","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":522.1428375244141,"y":620.7469301223755,"z":"18647007.5f06e","wires":[["52af09ac.eaca28"]]},{"id":"52af09ac.eaca28","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":700.4762229919434,"y":620.0803060531616,"z":"18647007.5f06e","wires":[["c4d376c3.571488"]]},{"id":"c4d376c3.571488","type":"returnFailure","name":"return failure","xml":"<return 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":860.476131439209,"y":619.4136095046997,"z":"18647007.5f06e","wires":[]},{"id":"b3bf1d7.e779de","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1615.4762344360352,"y":568.3333511352539,"z":"18647007.5f06e","wires":[["2904a72b.2ba948","63b441b0.29b2"]]},{"id":"63b441b0.29b2","type":"break","name":"break","xml":"<break>\n","comments":"","x":1750.4762001037598,"y":589.9999370574951,"z":"18647007.5f06e","wires":[]},{"id":"3d580cb8.2983e4","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":546.4285202026367,"y":742.6517381668091,"z":"18647007.5f06e","wires":[["59c54cf2.fb7004","28df31c9.48452e"]]},{"id":"59c54cf2.fb7004","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":730.4761581420898,"y":721.461142539978,"z":"18647007.5f06e","wires":[["4541f6e8.947688"]]},{"id":"28df31c9.48452e","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":730.2379989624023,"y":762.4136610031128,"z":"18647007.5f06e","wires":[["78b66442.fbfd7c"]]},{"id":"4541f6e8.947688","type":"returnFailure","name":"return failure","xml":"<return 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":897.1427726745605,"y":720.7468976974487,"z":"18647007.5f06e","wires":[]},{"id":"78b66442.fbfd7c","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":892.4761428833008,"y":762.0802793502808,"z":"18647007.5f06e","wires":[["70b1df72.cfb8d"]]},{"id":"70b1df72.cfb8d","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":1198.8093032836914,"y":761.7470149993896,"z":"18647007.5f06e","wires":[["bc3ab08b.f7f65"]]},{"id":"bc3ab08b.f7f65","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1468.8093566894531,"y":759.4136199951172,"z":"18647007.5f06e","wires":[["7ed3c4ad.1b318c"]]},{"id":"b33a0450.724278","type":"set","name":"set vf-module-index to -1","xml":"<set>\n<parameter name='vf-module-index' value='-1' />\n","comments":"","x":552.1428146362305,"y":677.4135961532593,"z":"18647007.5f06e","wires":[]},{"id":"c88bc5a0.0aa9d8","type":"set","name":"set vf-module-index to idx","xml":"<set>\n<parameter name='vf-module-index' value='`$idx`' />\n","comments":"","x":1798.8094482421875,"y":730.4135990142822,"z":"18647007.5f06e","wires":[]},{"id":"f25bb144.7f7c8","type":"switchNode","name":"switch vf-module-index","xml":"<switch test='`$vf-module-index`'>\n","comments":"","outputs":1,"x":543.809497833252,"y":814.0803089141846,"z":"18647007.5f06e","wires":[["ea2e1080.af206"]]},{"id":"ea2e1080.af206","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":722.1428833007812,"y":813.4136848449707,"z":"18647007.5f06e","wires":[["c0ea9272.92129"]]},{"id":"c0ea9272.92129","type":"returnFailure","name":"return failure","xml":"<return 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":882.1427917480469,"y":812.7469882965088,"z":"18647007.5f06e","wires":[]},{"id":"7ed3c4ad.1b318c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1602.1428985595703,"y":758.3333597183228,"z":"18647007.5f06e","wires":[["c88bc5a0.0aa9d8","b5fd65f0.dd1658"]]},{"id":"b5fd65f0.dd1658","type":"break","name":"break","xml":"<break>\n","comments":"","x":1737.142864227295,"y":779.999945640564,"z":"18647007.5f06e","wires":[]},{"id":"459ba9fe.95a3b8","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":535.7143173217773,"y":1306.223168373108,"z":"18647007.5f06e","wires":[["dff3e662.ab0f08","5d3cf475.3a3f0c"]]},{"id":"dff3e662.ab0f08","type":"outcome","name":"Created","xml":"<outcome value='Created'>\n","comments":"","outputs":1,"x":711.5476875305176,"y":1268.7232003211975,"z":"18647007.5f06e","wires":[["17b63642.fdbe0a"]]},{"id":"5d3cf475.3a3f0c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":710.7143058776855,"y":1326.2231512069702,"z":"18647007.5f06e","wires":[["fdf39a89.b626b8"]]},{"id":"17b63642.fdbe0a","type":"returnFailure","name":"return failure","xml":"<return 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":879.8809280395508,"y":1268.723129749298,"z":"18647007.5f06e","wires":[]},{"id":"fdf39a89.b626b8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":885.7143173217773,"y":1325.8898267745972,"z":"18647007.5f06e","wires":[[]]},{"id":"23bca180.487f5e","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":662.3810424804688,"y":1422.8898191452026,"z":"18647007.5f06e","wires":[["e0899af7.954688"]]},{"id":"863442bb.c35bd","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":532.3810119628906,"y":1376.2231512069702,"z":"18647007.5f06e","wires":[]},{"id":"e0899af7.954688","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":967.3809509277344,"y":1421.2231187820435,"z":"18647007.5f06e","wires":[["e02614ec.c27ce8"]]},{"id":"e02614ec.c27ce8","type":"returnFailure","name":"return failure","xml":"<return 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":1157.3809776306152,"y":1421.0328540802002,"z":"18647007.5f06e","wires":[]},{"id":"165bb54c.1c4a5b","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":595.7143402099609,"y":1517.8898401260376,"z":"18647007.5f06e","wires":[["1ec6a5cd.de1d1a"]]},{"id":"1ec6a5cd.de1d1a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":832.3809661865234,"y":1517.8897829055786,"z":"18647007.5f06e","wires":[["ea2d8dc1.6c576"]]},{"id":"ea2d8dc1.6c576","type":"returnFailure","name":"return failure","xml":"<return 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":1022.3809928894043,"y":1517.6995182037354,"z":"18647007.5f06e","wires":[]},{"id":"e49fcf2c.dc6dd","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":527.3809967041016,"y":1562.8898010253906,"z":"18647007.5f06e","wires":[["633220ab.96e4c"]]},{"id":"633220ab.96e4c","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":722.3810272216797,"y":1562.2228088378906,"z":"18647007.5f06e","wires":[["f69b3abe.d94218"]]},{"id":"50fe8de0.64f3a4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1429.048095703125,"y":1560.5554113388062,"z":"18647007.5f06e","wires":[["ef7ad1cb.324"]]},{"id":"5ad8acf2.2bc374","type":"comment","name":"Not a failure","info":"","comments":"","x":1707.3810920715332,"y":1558.8892135620117,"z":"18647007.5f06e","wires":[]},{"id":"ef7ad1cb.324","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":1575.0480308532715,"y":1560.5560445785522,"z":"18647007.5f06e","wires":[[]]},{"id":"f69b3abe.d94218","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":890.7144203186035,"y":1561.222653388977,"z":"18647007.5f06e","wires":[["f06c39d0.0e3498"]]},{"id":"f06c39d0.0e3498","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":1177.3811340332031,"y":1560.8900833129883,"z":"18647007.5f06e","wires":[["50fe8de0.64f3a4"]]},{"id":"e8c6edd8.95256","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":1102.8888092041016,"y":2668.2228231430054,"z":"18647007.5f06e","wires":[["fb0fd2dc.832a4"]]},{"id":"cfa852b0.966f1","type":"comment","name":"Remove VF Module from service data","info":"","comments":"","x":481.7143096923828,"y":2623.461263656616,"z":"18647007.5f06e","wires":[]},{"id":"fb0fd2dc.832a4","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":1346.4799423217773,"y":2667.2467889785767,"z":"18647007.5f06e","wires":[]},{"id":"f2229878.1d7b18","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":549.146728515625,"y":2679.5644941329956,"z":"18647007.5f06e","wires":[["a6cda6a3.e5d988","5accced2.4e3d3"]]},{"id":"a6cda6a3.e5d988","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":744.480094909668,"y":2630.4691009521484,"z":"18647007.5f06e","wires":[["7a4f4b98.b84d24"]]},{"id":"7a4f4b98.b84d24","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":916.479866027832,"y":2630.469220161438,"z":"18647007.5f06e","wires":[]},{"id":"5accced2.4e3d3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":743.1468505859375,"y":2725.2309103012085,"z":"18647007.5f06e","wires":[["7e34b293.efbcdc"]]},{"id":"86f76706.4026a8","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":1121.7763442993164,"y":2795.945300102234,"z":"18647007.5f06e","wires":[]},{"id":"cae448bb.baecd8","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":1157.4799575805664,"y":2752.0564374923706,"z":"18647007.5f06e","wires":[]},{"id":"7e34b293.efbcdc","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":900.3847808837891,"y":2724.468912124634,"z":"18647007.5f06e","wires":[["e8c6edd8.95256","cae448bb.baecd8","86f76706.4026a8","2a268ef.d194272"]]},{"id":"fc31741.0ef9088","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":521.7143402099609,"y":2856.080117225647,"z":"18647007.5f06e","wires":[]},{"id":"ab2d7b3e.268578","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":524.0476531982422,"y":1468.8094816207886,"z":"18647007.5f06e","wires":[]},{"id":"2a268ef.d194272","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":1075.619125366211,"y":2708.461136817932,"z":"18647007.5f06e","wires":[]},{"id":"dab4d76.c597428","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":1546.2142639160156,"y":1879.9762592315674,"z":"18647007.5f06e","wires":[["6aafaac4.4c5d74"]]},{"id":"6aafaac4.4c5d74","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":1730.4999694824219,"y":1879.976245880127,"z":"18647007.5f06e","wires":[["ad3965bc.016e98"]]},{"id":"67ee289.747f3d8","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":2160.4999237060547,"y":1879.785903930664,"z":"18647007.5f06e","wires":[[]]},{"id":"b93947b5.bad4b8","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":2030.499885559082,"y":1833.119276046753,"z":"18647007.5f06e","wires":[]},{"id":"c86e21dc.9ba1","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":2095.4998931884766,"y":1924.7859477996826,"z":"18647007.5f06e","wires":[[]]},{"id":"63fda02a.fa7dd","type":"comment","name":"roll back EIPAM floating addresses","info":"","comments":"","x":2139.785614013672,"y":1786.9291022618609,"z":"18647007.5f06e","wires":[]},{"id":"35514a27.0c3786","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":594.0476760864258,"y":1695.4761924743652,"z":"18647007.5f06e","wires":[["33381eac.5736d2","b7a26972.4da738"]]},{"id":"33381eac.5736d2","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":819.0476455688477,"y":1663.8095254898071,"z":"18647007.5f06e","wires":[["b38032a0.2b527"]]},{"id":"b7a26972.4da738","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":818.8095092773438,"y":1734.761920928955,"z":"18647007.5f06e","wires":[["3e53c2b5.286bae"]]},{"id":"b38032a0.2b527","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":945.7143821716309,"y":1662.1428575515747,"z":"18647007.5f06e","wires":[[]]},{"id":"3e53c2b5.286bae","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":1014.8810653686523,"y":1733.809497833252,"z":"18647007.5f06e","wires":[["e9603d51.250ee"]]},{"id":"e9603d51.250ee","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1216.547695159912,"y":1734.6428718566895,"z":"18647007.5f06e","wires":[["2155541e.a7566c"]]},{"id":"b70af40a.ab7308","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1366.5476837158203,"y":1932.9764051437378,"z":"18647007.5f06e","wires":[["dab4d76.c597428","3f561058.c6b7c"]]},{"id":"ad3965bc.016e98","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1856.5476036071777,"y":1879.6429595947266,"z":"18647007.5f06e","wires":[["b93947b5.bad4b8","67ee289.747f3d8","c86e21dc.9ba1"]]},{"id":"3f561058.c6b7c","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":1566.5476150512695,"y":1987.976294517517,"z":"18647007.5f06e","wires":[["530e6588.dec85c"]]},{"id":"530e6588.dec85c","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":1871.5474548339844,"y":1987.9763402938843,"z":"18647007.5f06e","wires":[["da168f97.f5302"]]},{"id":"da168f97.f5302","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2093.214225769043,"y":1986.6431188583374,"z":"18647007.5f06e","wires":[["c4aa2e87.97edb"]]},{"id":"c4aa2e87.97edb","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":2248.9285621643066,"y":1985.3572444915771,"z":"18647007.5f06e","wires":[["d3c4d017.cbabf"]]},{"id":"d3c4d017.cbabf","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":2560.3569946289062,"y":1983.9287071228027,"z":"18647007.5f06e","wires":[]},{"id":"2155541e.a7566c","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":1440.0476989746094,"y":1731.6428756713867,"z":"18647007.5f06e","wires":[["a61da9.e6305258"]]},{"id":"a61da9.e6305258","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":1691.714340209961,"y":1730.6428747177124,"z":"18647007.5f06e","wires":[["997d3e95.fc12d"]]},{"id":"997d3e95.fc12d","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":1918.3810119628906,"y":1729.97624874115,"z":"18647007.5f06e","wires":[["b7d0eb3a.e77808"]]},{"id":"b7d0eb3a.e77808","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":2276.714599609375,"y":1729.976167678833,"z":"18647007.5f06e","wires":[["ffbd0f3e.1275f"]]},{"id":"ffbd0f3e.1275f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2573.381057739258,"y":1729.9762001037598,"z":"18647007.5f06e","wires":[["cc3c2af6.11c288"]]},{"id":"cc3c2af6.11c288","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":2838.3808822631836,"y":1729.9761695861816,"z":"18647007.5f06e","wires":[["dff626a0.dc1248"]]},{"id":"dff626a0.dc1248","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3098.3808517456055,"y":1729.9761600494385,"z":"18647007.5f06e","wires":[["b70af40a.ab7308"]]},{"id":"eec63ebd.14593","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":534.8810119628906,"y":2298.723051071167,"z":"18647007.5f06e","wires":[["ce9b06f.5de4df8"]]},{"id":"cb730a7e.b5f668","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":886.547779083252,"y":2393.104296684265,"z":"18647007.5f06e","wires":[["8409f6e0.cb49a8"]]},{"id":"9f0c497f.5452f8","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":1197.9762840270996,"y":2435.627844810486,"z":"18647007.5f06e","wires":[[]]},{"id":"bf694419.fb3e48","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1090.0000305175781,"y":1296.1904892921448,"z":"18647007.5f06e","wires":[]},{"id":"52d01c9a.ee4734","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":1494.0472831726074,"y":2382.889633178711,"z":"18647007.5f06e","wires":[["23e52a62.8371d6","e6b04d9f.26218"]]},{"id":"e6b04d9f.26218","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":1806.3330192565918,"y":2407.461151123047,"z":"18647007.5f06e","wires":[[]]},{"id":"23e52a62.8371d6","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":1726.0949745178223,"y":2360.318221092224,"z":"18647007.5f06e","wires":[]},{"id":"151cdfd1.7da61","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":1194.3809547424316,"y":2356.2228899002075,"z":"18647007.5f06e","wires":[["255c801a.7bb73","64e49e9a.0907e"]]},{"id":"255c801a.7bb73","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1364.380931854248,"y":2326.2229232788086,"z":"18647007.5f06e","wires":[["cfe202e2.fbb5c"]]},{"id":"64e49e9a.0907e","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1364.3808898925781,"y":2382.4134368896484,"z":"18647007.5f06e","wires":[["52d01c9a.ee4734"]]},{"id":"cfe202e2.fbb5c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1494.3807754516602,"y":2324.556275367737,"z":"18647007.5f06e","wires":[[]]},{"id":"1fe6d9a7.834656","type":"comment","name":"Rollback any generated VM and VNFC names","info":"","comments":"","x":582.7140884399414,"y":2251.2230615615845,"z":"18647007.5f06e","wires":[]},{"id":"ce9b06f.5de4df8","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":698.7852401733398,"y":2299.1283378601074,"z":"18647007.5f06e","wires":[["8b6eeaed.c4c0f8","cb730a7e.b5f668","d0342dc.d3eafd"]]},{"id":"8b6eeaed.c4c0f8","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":907.1184768676758,"y":2219.128580093384,"z":"18647007.5f06e","wires":[["1116a6ec.270f29"]]},{"id":"1116a6ec.270f29","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":1102.118522644043,"y":2220.7952194213867,"z":"18647007.5f06e","wires":[["1df4fe9b.77f821","a4c9f40b.62e7e8"]]},{"id":"1df4fe9b.77f821","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1255.4518356323242,"y":2192.4618854522705,"z":"18647007.5f06e","wires":[["2232a7dc.efa278"]]},{"id":"2232a7dc.efa278","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1385.4516792297363,"y":2190.7952375411987,"z":"18647007.5f06e","wires":[[]]},{"id":"af279118.39d22","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":1387.1185836791992,"y":2250.7951984405518,"z":"18647007.5f06e","wires":[["bb500d32.bedec","a9ef9323.9a9ed"]]},{"id":"a4c9f40b.62e7e8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1257.45219039917,"y":2250.3190021514893,"z":"18647007.5f06e","wires":[["af279118.39d22"]]},{"id":"a9ef9323.9a9ed","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":1687.1184616088867,"y":2275.7951984405518,"z":"18647007.5f06e","wires":[[]]},{"id":"bb500d32.bedec","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":1601.880355834961,"y":2228.6522302627563,"z":"18647007.5f06e","wires":[]},{"id":"8409f6e0.cb49a8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1034.0476875305176,"y":2391.889678001404,"z":"18647007.5f06e","wires":[["151cdfd1.7da61","9f0c497f.5452f8"]]},{"id":"e0000fd9.cea29","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":547.380973815918,"y":2089.5565156936646,"z":"18647007.5f06e","wires":[["d4acdb9a.079a18","af3adb74.311b58"]]},{"id":"d4acdb9a.079a18","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":724.0475997924805,"y":2115.389748573303,"z":"18647007.5f06e","wires":[["a15536e0.beaed8"]]},{"id":"af3adb74.311b58","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":726.1428604125977,"y":2064.1756534576416,"z":"18647007.5f06e","wires":[["be7df5b1.c8d688"]]},{"id":"be7df5b1.c8d688","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":848.7142791748047,"y":2062.556513786316,"z":"18647007.5f06e","wires":[[]]},{"id":"a15536e0.beaed8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":871.0475654602051,"y":2115.8897886276245,"z":"18647007.5f06e","wires":[["7ffb79a3.b3e2f8","10ec941b.acc1bc"]]},{"id":"10ec941b.acc1bc","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":1220.714256286621,"y":2136.2231225967407,"z":"18647007.5f06e","wires":[[]]},{"id":"7ffb79a3.b3e2f8","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":1133.8091888427734,"y":2091.937413215637,"z":"18647007.5f06e","wires":[]},{"id":"d0342dc.d3eafd","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":910.7143020629883,"y":2531.223017692566,"z":"18647007.5f06e","wires":[["b8830261.bd521"]]},{"id":"b8830261.bd521","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":1100.547622680664,"y":2530.722456932068,"z":"18647007.5f06e","wires":[["496f47a6.204b08"]]},{"id":"496f47a6.204b08","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":1254.5476837158203,"y":2529.3892822265625,"z":"18647007.5f06e","wires":[["e0961315.d37bc"]]},{"id":"e0961315.d37bc","type":"block","name":"block","xml":"<block>","atomic":"true","comments":"","outputs":1,"x":1412.8810691833496,"y":2529.3892755508423,"z":"18647007.5f06e","wires":[["4448c71a.47c118","71117bd.9df1b84"]]},{"id":"4448c71a.47c118","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":1617.7140884399414,"y":2498.555899620056,"z":"18647007.5f06e","wires":[["10d9315f.192e3f"]]},{"id":"71117bd.9df1b84","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":1618.3806838989258,"y":2555.5556592941284,"z":"18647007.5f06e","wires":[["b3e81b2f.f62be8"]]},{"id":"10d9315f.192e3f","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":1921.7140884399414,"y":2498.555899620056,"z":"18647007.5f06e","wires":[[]]},{"id":"b3e81b2f.f62be8","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":1920.3806838989258,"y":2554.222529411316,"z":"18647007.5f06e","wires":[[]]},{"id":"81c49a47.fca5c8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":197.38094329833984,"y":554.5238332748413,"z":"18647007.5f06e","wires":[["c861a71.bf35958","1f2343f9.c1656c","13f7711f.d4863f","6dfcbf43.c96e3","b33a0450.724278","3d580cb8.2983e4","f25bb144.7f7c8","2f3dab55.c79cc4","8494a6ce.b4d008","69ffa572.57fcfc","ae821284.ea3c7"]]},{"id":"cd77f2b1.29536","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":1006.6427383422852,"y":946.6547780036926,"z":"18647007.5f06e","wires":[["3c485d89.f7e462","44c95324.f14cdc"]]},{"id":"3c485d89.f7e462","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1251.392723083496,"y":946.9047665596008,"z":"18647007.5f06e","wires":[["b3dabebc.3fe24"]]},{"id":"b3dabebc.3fe24","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":1416.9641494750977,"y":946.5476613044739,"z":"18647007.5f06e","wires":[]},{"id":"44c95324.f14cdc","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1255.9998970031738,"y":997.4603009223938,"z":"18647007.5f06e","wires":[["c76910e9.f2862"]]},{"id":"c76910e9.f2862","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":1424.5713119506836,"y":997.0317425727844,"z":"18647007.5f06e","wires":[]},{"id":"2f3dab55.c79cc4","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":547.6190185546875,"y":256.93744468688965,"z":"18647007.5f06e","wires":[[]]},{"id":"8494a6ce.b4d008","type":"switchNode","name":"switch input cloud-owner","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\n","comments":"","outputs":1,"x":549.2855911254883,"y":327.29407024383545,"z":"18647007.5f06e","wires":[["2c057656.bd036a","f6d09aaa.bbe858"]]},{"id":"2c057656.bd036a","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":732.6189651489258,"y":297.29405879974365,"z":"18647007.5f06e","wires":[["105a5789.51e418"]]},{"id":"f6d09aaa.bbe858","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":732.3808708190918,"y":338.2465524673462,"z":"18647007.5f06e","wires":[["78541ec2.14876"]]},{"id":"105a5789.51e418","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":867.6189193725586,"y":295.62739849090576,"z":"18647007.5f06e","wires":[[]]},{"id":"78541ec2.14876","type":"set","name":"set prop.cloud-region.cloud-owner","xml":"<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\n","comments":"","x":949.2855758666992,"y":337.2940797805786,"z":"18647007.5f06e","wires":[]},{"id":"8adaff9d.ffe82","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":929.9998931884766,"y":908.3334360122681,"z":"18647007.5f06e","wires":[]},{"id":"ae821284.ea3c7","type":"call","name":"call self-serve-vf-module-forking-logic","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n","comments":"","outputs":1,"x":587.3490371704102,"y":881.4886159896851,"z":"18647007.5f06e","wires":[[]]},{"id":"69ffa572.57fcfc","type":"switchNode","name":"switch ss.self-serve-flag","xml":"<switch test=\"`$ss.self-serve-flag`\">\n","comments":"","outputs":1,"x":545.7298965454102,"y":1009.2029423713684,"z":"18647007.5f06e","wires":[["c1005f53.215cb","9ffad06c.1ae2d"]]},{"id":"c1005f53.215cb","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":770.3963737487793,"y":1070.0596961975098,"z":"18647007.5f06e","wires":[["218fe261.ee2e0e"]]},{"id":"9ffad06c.1ae2d","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":768.444091796875,"y":947.2505326271057,"z":"18647007.5f06e","wires":[["cd77f2b1.29536"]]}] \ 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 70ee60ae..ff6eba98 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":"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
+[{"id":"fc72a566.b030f8","type":"dgstart","name":"DGSTART","outputs":1,"x":114.28571319580078,"y":82.17556571960449,"z":"be5d0074.91504","wires":[["d7ff7ece.9b8e2"]]},{"id":"d7ff7ece.9b8e2","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":229.57141876220703,"y":124.0803451538086,"z":"be5d0074.91504","wires":[["86d59967.1a7618"]]},{"id":"86d59967.1a7618","type":"method","name":"method vnf-topology-operation-assign","xml":"<method rpc='vnf-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":202.38101959228516,"y":166.84222888946533,"z":"be5d0074.91504","wires":[["f09bed97.7d31e"]]},{"id":"f954a196.dc25a","type":"comment","name":"vnf-topology-operation-assign","info":"","comments":"","x":490.2972412109375,"y":31.428569793701172,"z":"be5d0074.91504","wires":[]},{"id":"e5ad0d66.70637","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":500.66666412353516,"y":315.31839752197266,"z":"be5d0074.91504","wires":[["5916492b.857218","c1cdea93.bfa138"]]},{"id":"5916492b.857218","type":"outcome","name":"CreateVnfInstance","xml":"<outcome value='CreateVnfInstance'>\n","comments":"","outputs":1,"x":754.3809585571289,"y":292.4612789154053,"z":"be5d0074.91504","wires":[["391acb58.1c59b4"]]},{"id":"c1cdea93.bfa138","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":716.3809242248535,"y":338.1756067276001,"z":"be5d0074.91504","wires":[["f4427afa.1c8c48"]]},{"id":"391acb58.1c59b4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":939.2380867004395,"y":292.4613084793091,"z":"be5d0074.91504","wires":[[]]},{"id":"f4427afa.1c8c48","type":"returnFailure","name":"return failure","xml":"<return 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":956.380931854248,"y":338.1755647659302,"z":"be5d0074.91504","wires":[]},{"id":"7362746e.83534c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":172.02385711669922,"y":3364.199432373047,"z":"be5d0074.91504","wires":[["320c139b.584b8c","bf64681.3327098","3decabb0.b19304","dfde25aa.22eb48","b3fdadba.ac878","9295f3a8.889f","6652c3ec.51eebc","8297bb69.b2a948","e85c7ed0.15ed6","986025fa.476b28","adadb322.2ebc2","4a499d99.17dc24","f6338637.0f4ab8","4abfb941.f3ffe8","c49cd790.366c28","af081865.1577e8","5b608bb1.3093a4","b8bea347.ec5d","e79aac59.803e","a7739265.64c59","352a2229.74292e","74128bae.fef6c4","a5a33888.67fae8","9393d0c7.d77e9","e6df8bdc.9062b8","9dcdbace.684eb8","fc6ad87e.cad2c8","bd2ebb93.969ad8","9523ee9.421ab1","59afdec8.0d6fc","2c4a61bc.2ff89e","58eda9a2.3858f8","e984610a.8e6fd","7a50c9f.bf28538"]]},{"id":"95e7dc2c.60081","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.9999694824219,"y":406.4612674713135,"z":"be5d0074.91504","wires":[["84af2cd0.e814a","c4d8b439.0a4f08"]]},{"id":"b7c7ad28.59134","type":"returnFailure","name":"return failure","xml":"<return 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":954.4284477233887,"y":429.8897533416748,"z":"be5d0074.91504","wires":[]},{"id":"84af2cd0.e814a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":713.7856674194336,"y":386.8421049118042,"z":"be5d0074.91504","wires":[["47443e13.3d07b"]]},{"id":"c4d8b439.0a4f08","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":722.3570976257324,"y":431.127818107605,"z":"be5d0074.91504","wires":[["b7c7ad28.59134"]]},{"id":"47443e13.3d07b","type":"returnFailure","name":"return failure","xml":"<return 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":953.7856483459473,"y":384.98501205444336,"z":"be5d0074.91504","wires":[]},{"id":"320c139b.584b8c","type":"switchNode","name":"switch service-data.vnfs.vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":546.666633605957,"y":1157.4137020111084,"z":"be5d0074.91504","wires":[["10c4a3ac.27e12c","7ee20af4.b60b24"]]},{"id":"10c4a3ac.27e12c","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":772.3809623718262,"y":1124.556489944458,"z":"be5d0074.91504","wires":[["15231b53.df2ce5"]]},{"id":"15231b53.df2ce5","type":"set","name":"set vnf-index=0","xml":"<set>\n<parameter name='vnf-index' value='0' />\n","comments":"","x":936.6666831970215,"y":1123.556568145752,"z":"be5d0074.91504","wires":[]},{"id":"7ee20af4.b60b24","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":773.8095245361328,"y":1188.8423080444336,"z":"be5d0074.91504","wires":[["ce5c34bd.216b68"]]},{"id":"4125e058.075d9","type":"set","name":"set vnf-index = vnf_length","xml":"<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n","comments":"","x":1112.6666793823242,"y":1167.1279964447021,"z":"be5d0074.91504","wires":[]},{"id":"75e24b9d.3e0b14","type":"for","name":"for each existing VNF","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1098.0951919555664,"y":1213.127935409546,"z":"be5d0074.91504","wires":[["1888808a.4f9fff"]]},{"id":"ce5c34bd.216b68","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":909.5237846374512,"y":1188.8422737121582,"z":"be5d0074.91504","wires":[["4125e058.075d9","75e24b9d.3e0b14"]]},{"id":"1888808a.4f9fff","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":1452.380958557129,"y":1212.6994152069092,"z":"be5d0074.91504","wires":[["f2252759.7fe8e8"]]},{"id":"f2252759.7fe8e8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1746.6667137145996,"y":1212.270899772644,"z":"be5d0074.91504","wires":[["e8e7a328.f78eb"]]},{"id":"e8e7a328.f78eb","type":"returnFailure","name":"return failure","xml":"<return 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":1895.2380752563477,"y":1212.2708473205566,"z":"be5d0074.91504","wires":[]},{"id":"b5747a8b.62e2a8","type":"comment","name":"make sure this VNF doesn't exist already","info":"","comments":"","x":1439.5236892700195,"y":1170.270845413208,"z":"be5d0074.91504","wires":[]},{"id":"bf64681.3327098","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":512.380916595459,"y":1689.0804691314697,"z":"be5d0074.91504","wires":[]},{"id":"3decabb0.b19304","type":"switchNode","name":"switch input vnf-name","xml":"<switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\n","comments":"","outputs":1,"x":524.8809356689453,"y":2051.199526786804,"z":"be5d0074.91504","wires":[["5709eb79.187104","cfdd3602.799058"]]},{"id":"dfde25aa.22eb48","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":557.0238800048828,"y":2947.1992626190186,"z":"be5d0074.91504","wires":[["c639d1a9.1cea1","5e574489.17530c"]]},{"id":"5e574489.17530c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":782.2700729370117,"y":2965.350118637085,"z":"be5d0074.91504","wires":[["76478117.63a79"]]},{"id":"fd97eb04.7d1378","type":"returnFailure","name":"return failure","xml":"<return 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":1083.9367446899414,"y":2965.3501358032227,"z":"be5d0074.91504","wires":[]},{"id":"c639d1a9.1cea1","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":791.1986694335938,"y":2923.6358518600464,"z":"be5d0074.91504","wires":[["8730c02a.4d9e7"]]},{"id":"7181fd4f.3b9314","type":"returnFailure","name":"return failure","xml":"<return 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":1084.2146453857422,"y":2922.9414100646973,"z":"be5d0074.91504","wires":[]},{"id":"b3fdadba.ac878","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":622.261962890625,"y":3258.2467823028564,"z":"be5d0074.91504","wires":[["e55086cc.fe7c38","bada4af8.48ee18"]]},{"id":"e55086cc.fe7c38","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":918.0476341247559,"y":3236.960947036743,"z":"be5d0074.91504","wires":[["6e98f691.cd8c98"]]},{"id":"bada4af8.48ee18","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":926.6190643310547,"y":3281.246660232544,"z":"be5d0074.91504","wires":[["31b1e600.94057a"]]},{"id":"7d5b4659.62fc88","type":"returnFailure","name":"return failure","xml":"<return 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":1234.7142581939697,"y":3236.770679473877,"z":"be5d0074.91504","wires":[]},{"id":"7eca1a93.00ad54","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1029.8573684692383,"y":4001.555992126465,"z":"be5d0074.91504","wires":[["aa84ca7f.755948","44cbbbb1.3a7de4","78423903.e2ed08","acfaeeda.3fa36","9940e480.cc5ae8","7c99cdf1.d6d3e4","faee63b4.f8527","6a145c65.18a254","dece7ac8.98c8e8"]]},{"id":"78423903.e2ed08","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":1286.714443206787,"y":3410.508596420288,"z":"be5d0074.91504","wires":[["d521574d.066048","bddb9f8e.bb902"]]},{"id":"bddb9f8e.bb902","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1490.7621574401855,"y":3432.651435852051,"z":"be5d0074.91504","wires":[["fac96d9.7296c9"]]},{"id":"bf85b613.22da88","type":"returnFailure","name":"return failure","xml":"<return 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":1805.7621879577637,"y":3432.98477935791,"z":"be5d0074.91504","wires":[]},{"id":"d521574d.066048","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1499.6907539367676,"y":3390.937169075012,"z":"be5d0074.91504","wires":[["15b5633e.00b0bd"]]},{"id":"24c9dca7.afc914","type":"returnFailure","name":"return failure","xml":"<return 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":1804.3733835220337,"y":3391.9093055725098,"z":"be5d0074.91504","wires":[]},{"id":"aa84ca7f.755948","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":1275.9050331115723,"y":3897.5088396072388,"z":"be5d0074.91504","wires":[]},{"id":"e85c7ed0.15ed6","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":496.28607177734375,"y":5144.627817153931,"z":"be5d0074.91504","wires":[["55cdaf47.06229"]]},{"id":"61de414e.afb53","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.9527549743652,"y":5113.961231231689,"z":"be5d0074.91504","wires":[]},{"id":"986025fa.476b28","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":455.9049987792969,"y":4994.580177307129,"z":"be5d0074.91504","wires":[]},{"id":"788d0393.74592c","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":922.4765319824219,"y":5288.390029907227,"z":"be5d0074.91504","wires":[["bf1f1d79.7018b","1454f72a.725d29"]]},{"id":"f6338637.0f4ab8","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":415.7145462036133,"y":5754.00841999054,"z":"be5d0074.91504","wires":[]},{"id":"4a499d99.17dc24","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":505.52799224853516,"y":5656.3459005355835,"z":"be5d0074.91504","wires":[]},{"id":"6652c3ec.51eebc","type":"for","name":"for each network-role","xml":"<for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>","comments":"","outputs":1,"x":489.85730361938477,"y":3974.889660835266,"z":"be5d0074.91504","wires":[["80cab39e.772be"]]},{"id":"9295f3a8.889f","type":"set","name":"set network-index = 0","xml":"<set>\n<parameter name='network-index' value='0' />\n","comments":"","x":524.6904602050781,"y":3312.2945766448975,"z":"be5d0074.91504","wires":[]},{"id":"44cbbbb1.3a7de4","type":"set","name":"increment network-index","xml":"<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n","comments":"","x":1257.9050216674805,"y":4945.2707805633545,"z":"be5d0074.91504","wires":[]},{"id":"8297bb69.b2a948","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":454.7620849609375,"y":4944.5802211761475,"z":"be5d0074.91504","wires":[]},{"id":"adadb322.2ebc2","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":421.0478210449219,"y":5604.008731842041,"z":"be5d0074.91504","wires":[]},{"id":"4abfb941.f3ffe8","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":445.4764404296875,"y":5287.389945983887,"z":"be5d0074.91504","wires":[["46f396dd.851888"]]},{"id":"46f396dd.851888","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":649.1430816650391,"y":5287.38990688324,"z":"be5d0074.91504","wires":[["788d0393.74592c"]]},{"id":"c49cd790.366c28","type":"set","name":"set new vnf_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n","comments":"","x":495.30955505371094,"y":1209.4375925064087,"z":"be5d0074.91504","wires":[]},{"id":"af081865.1577e8","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":569.8810043334961,"y":3034.437434196472,"z":"be5d0074.91504","wires":[["11d114a7.11d1db"]]},{"id":"11d114a7.11d1db","type":"switchNode","name":"switch related-to","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n","comments":"","outputs":1,"x":817.5595474243164,"y":3034.1873636245728,"z":"be5d0074.91504","wires":[["91385fad.fb26d"]]},{"id":"91385fad.fb26d","type":"outcome","name":"complex","xml":"<outcome value='complex'>\n","comments":"","outputs":1,"x":987.023868560791,"y":3033.5801858901978,"z":"be5d0074.91504","wires":[["8ea9283d.520568"]]},{"id":"58064897.8348d8","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":1307.738166809082,"y":3033.2468433380127,"z":"be5d0074.91504","wires":[]},{"id":"5b608bb1.3093a4","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":502.9286308288574,"y":3147.5325660705566,"z":"be5d0074.91504","wires":[["666489c1.6451d8"]]},{"id":"666489c1.6451d8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":651.0714645385742,"y":3147.532548904419,"z":"be5d0074.91504","wires":[["b5eeb045.601e6"]]},{"id":"c1a2c00.3db054","type":"returnFailure","name":"return failure","xml":"<return 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":941.5476570129395,"y":3148.770594596863,"z":"be5d0074.91504","wires":[]},{"id":"5f373e69.1c378","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":929.381175994873,"y":2506.3898229599,"z":"be5d0074.91504","wires":[]},{"id":"f92de18c.da037","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":1396.1670112609863,"y":3722.0802183151245,"z":"be5d0074.91504","wires":[["ad1cc61a.69a3c8"]]},{"id":"88980c13.6b138","type":"switchNode","name":"switch orchestration-status","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n","comments":"","outputs":1,"x":1814.738182067871,"y":3656.6516828536987,"z":"be5d0074.91504","wires":[["8046ef6.5d6361","2b1aef5d.2b5eb","7307dfa0.46d7a","b7e26b2.86dc498","ef62ae9c.ffcbb"]]},{"id":"8046ef6.5d6361","type":"outcome","name":"Pending Delete","xml":"<outcome value='Pending Delete'>\n","comments":"","outputs":1,"x":2055.4050521850586,"y":3698.3181867599487,"z":"be5d0074.91504","wires":[["4f9a1482.90979c"]]},{"id":"2b1aef5d.2b5eb","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2028.262191772461,"y":3749.3181676864624,"z":"be5d0074.91504","wires":[["a0a467e4.42d7e8"]]},{"id":"427d1cc0.bee434","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.976493835449,"y":3694.5560846328735,"z":"be5d0074.91504","wires":[["1cb8d77e.84dfa9","6a38ac3.c275454"]]},{"id":"a0a467e4.42d7e8","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":2198.262104034424,"y":3748.8895444869995,"z":"be5d0074.91504","wires":[["a31baa94.b136c8"]]},{"id":"1cb8d77e.84dfa9","type":"outcome","name":"cloud-region","xml":"<outcome value='cloud-region'>\n","comments":"","outputs":1,"x":2738.262279510498,"y":3717.4609088897705,"z":"be5d0074.91504","wires":[["3bc3eb78.45d084"]]},{"id":"3bc3eb78.45d084","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":2935.4049797058105,"y":3717.88937664032,"z":"be5d0074.91504","wires":[["504faaa9.14ab54"]]},{"id":"504faaa9.14ab54","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":3166.83358001709,"y":3717.4607515335083,"z":"be5d0074.91504","wires":[["5f887ea8.86a72"]]},{"id":"5f887ea8.86a72","type":"outcome","name":"cloud-region.cloud-region-id","xml":"<outcome value='cloud-region.cloud-region-id'>\n","comments":"","outputs":1,"x":3408.2621459960938,"y":3717.4608478546143,"z":"be5d0074.91504","wires":[["d414e376.8b4e6"]]},{"id":"d414e376.8b4e6","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":3712.548065185547,"y":3717.3179035186768,"z":"be5d0074.91504","wires":[["d7a36632.ac12f8"]]},{"id":"d7a36632.ac12f8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3417.5482025146484,"y":3834.9608573913574,"z":"be5d0074.91504","wires":[["a291152a.934e78"]]},{"id":"acfaeeda.3fa36","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1232.3811836242676,"y":3653.3658628463745,"z":"be5d0074.91504","wires":[["f92de18c.da037","3d04abe8.1b48a4"]]},{"id":"9940e480.cc5ae8","type":"set","name":"set l3-network-id = -1","xml":"<set>\n<parameter name='l3-network-id' value='-1' />\n","comments":"","x":1276.714542388916,"y":3525.270516395569,"z":"be5d0074.91504","wires":[]},{"id":"a291152a.934e78","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3563.3811798095703,"y":3834.436965942383,"z":"be5d0074.91504","wires":[["324a1628.f30e8a","dfefb0c6.308d5","e7b2f268.9efeb"]]},{"id":"324a1628.f30e8a","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":3798.61918258667,"y":3796.5799350738525,"z":"be5d0074.91504","wires":[]},{"id":"7c99cdf1.d6d3e4","type":"switchNode","name":"switch l3-network-id","xml":"<switch test='`$l3-network-id`'>\n","comments":"","outputs":1,"x":1273.7144660949707,"y":3848.9375581741333,"z":"be5d0074.91504","wires":[["60ad7ff9.df75f"]]},{"id":"60ad7ff9.df75f","type":"outcome","name":"-1","xml":"<outcome value='-1'>\n","comments":"","outputs":1,"x":1443.7144165039062,"y":3848.9373140335083,"z":"be5d0074.91504","wires":[["f42827cf.7bebd8"]]},{"id":"bd21a4ce.761328","type":"returnFailure","name":"return failure","xml":"<return 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":1727.047779083252,"y":3848.937562942505,"z":"be5d0074.91504","wires":[]},{"id":"b8bea347.ec5d","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":573.2382507324219,"y":2529.2142667770386,"z":"be5d0074.91504","wires":[["cb62cb5c.4fa7c8","883fb8ea.0c5668"]]},{"id":"cb62cb5c.4fa7c8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":778.9049224853516,"y":2506.3572301864624,"z":"be5d0074.91504","wires":[["5f373e69.1c378"]]},{"id":"883fb8ea.0c5668","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":780.3335189819336,"y":2550.6428213119507,"z":"be5d0074.91504","wires":[["974e102f.cb3d3"]]},{"id":"974e102f.cb3d3","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":934.619255065918,"y":2550.0713934898376,"z":"be5d0074.91504","wires":[]},{"id":"3c543c1a.6113b4","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":930.3334465026855,"y":2594.9284992218018,"z":"be5d0074.91504","wires":[]},{"id":"e79aac59.803e","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":545.8572692871094,"y":2617.7530040740967,"z":"be5d0074.91504","wires":[["58af875e.965798","3c85d965.5cbc86"]]},{"id":"58af875e.965798","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":779.8572425842285,"y":2594.895936012268,"z":"be5d0074.91504","wires":[["3c543c1a.6113b4"]]},{"id":"3c85d965.5cbc86","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":781.2858390808105,"y":2639.1815271377563,"z":"be5d0074.91504","wires":[["19910291.706c9d"]]},{"id":"19910291.706c9d","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":935.5715751647949,"y":2638.6100993156433,"z":"be5d0074.91504","wires":[]},{"id":"93a12bb2.72bdf8","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":927.4763793945312,"y":2683.7857065200806,"z":"be5d0074.91504","wires":[]},{"id":"a7739265.64c59","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":554.0001411437988,"y":2706.6101512908936,"z":"be5d0074.91504","wires":[["e067afd9.9bc37","29999425.8a840c"]]},{"id":"e067afd9.9bc37","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":777.0001258850098,"y":2683.753113746643,"z":"be5d0074.91504","wires":[["93a12bb2.72bdf8"]]},{"id":"29999425.8a840c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":778.4287223815918,"y":2728.0387048721313,"z":"be5d0074.91504","wires":[["80a13eef.bb832"]]},{"id":"80a13eef.bb832","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":932.7144584655762,"y":2727.4672770500183,"z":"be5d0074.91504","wires":[]},{"id":"c45acb30.4dc358","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":927.4763793945312,"y":2770.9285287857056,"z":"be5d0074.91504","wires":[]},{"id":"352a2229.74292e","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":549.0001411437988,"y":2793.7529735565186,"z":"be5d0074.91504","wires":[["851d518.15311b","26141566.38776a"]]},{"id":"851d518.15311b","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":777.0001258850098,"y":2770.895936012268,"z":"be5d0074.91504","wires":[["c45acb30.4dc358"]]},{"id":"26141566.38776a","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":778.4287223815918,"y":2815.1815271377563,"z":"be5d0074.91504","wires":[["3a99b56f.3b843a"]]},{"id":"3a99b56f.3b843a","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":932.7144584655762,"y":2814.6100993156433,"z":"be5d0074.91504","wires":[]},{"id":"4f9a1482.90979c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2208.6191444396973,"y":3699.095064163208,"z":"be5d0074.91504","wires":[[]]},{"id":"ef62ae9c.ffcbb","type":"outcome","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":2053.285785675049,"y":3654.0949783325195,"z":"be5d0074.91504","wires":[["a847b1f1.05529"]]},{"id":"a847b1f1.05529","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2208.4998779296875,"y":3654.871855735779,"z":"be5d0074.91504","wires":[[]]},{"id":"b7e26b2.86dc498","type":"outcome","name":"Pending Create","xml":"<outcome value='Pending Create'>\n","comments":"","outputs":1,"x":2055.285785675049,"y":3610.7614822387695,"z":"be5d0074.91504","wires":[["911dd764.0af6d8"]]},{"id":"911dd764.0af6d8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2208.4998779296875,"y":3611.538359642029,"z":"be5d0074.91504","wires":[[]]},{"id":"7307dfa0.46d7a","type":"outcome","name":"PendingCreate","xml":"<outcome value='PendingCreate'>\n","comments":"","outputs":1,"x":2055.285785675049,"y":3567.4282302856445,"z":"be5d0074.91504","wires":[["b2b7ea62.09e978"]]},{"id":"b2b7ea62.09e978","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2208.4998779296875,"y":3568.205107688904,"z":"be5d0074.91504","wires":[[]]},{"id":"705a058a.b98a8c","type":"for","name":"for each A&AI subnet","xml":"<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\n","comments":"","outputs":1,"x":1741.6668128967285,"y":3988.1423993110657,"z":"be5d0074.91504","wires":[["26bcf61d.39ed8a"]]},{"id":"84cd03b2.470d3","type":"set","name":"set subnet_length","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\n","comments":"","x":1730.3333778381348,"y":4033.142481327057,"z":"be5d0074.91504","wires":[]},{"id":"74128bae.fef6c4","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.9525756835938,"y":5232.6432847976685,"z":"be5d0074.91504","wires":[]},{"id":"a5a33888.67fae8","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":510.1190643310547,"y":2463.2620306015015,"z":"be5d0074.91504","wires":[]},{"id":"9393d0c7.d77e9","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":436.2858428955078,"y":5442.309047698975,"z":"be5d0074.91504","wires":[["d9c5980e.eb83a8","480590e1.d0ad9"]]},{"id":"e6df8bdc.9062b8","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":436.28588104248047,"y":5372.309530258179,"z":"be5d0074.91504","wires":[]},{"id":"9dcdbace.684eb8","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":498.45240783691406,"y":2414.9285736083984,"z":"be5d0074.91504","wires":[]},{"id":"fc6ad87e.cad2c8","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":410.6192741394043,"y":5702.785669326782,"z":"be5d0074.91504","wires":[[]]},{"id":"ec08bcec.3b30e","type":"returnFailure","name":"return failure","xml":"<return 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.9526863098145,"y":5308.975944519043,"z":"be5d0074.91504","wires":[]},{"id":"bf1f1d79.7018b","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1172.309886932373,"y":5265.928605079651,"z":"be5d0074.91504","wires":[["27d38884.173358"]]},{"id":"1454f72a.725d29","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1180.8813171386719,"y":5310.214318275452,"z":"be5d0074.91504","wires":[["4c454b39.b3b144"]]},{"id":"3e53f9d4.705fb6","type":"returnFailure","name":"return failure","xml":"<return 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":1475.6432800292969,"y":5265.738149642944,"z":"be5d0074.91504","wires":[]},{"id":"22f19811.37d758","type":"returnFailure","name":"return failure","xml":"<return 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.9526214599609,"y":5462.309480667114,"z":"be5d0074.91504","wires":[]},{"id":"d9c5980e.eb83a8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":610.6431732177734,"y":5420.9286432266235,"z":"be5d0074.91504","wires":[["ee34f26f.d315d"]]},{"id":"480590e1.d0ad9","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":619.2146034240723,"y":5465.214356422424,"z":"be5d0074.91504","wires":[["8ef6f5ea.1df328"]]},{"id":"4db84c3d.411824","type":"returnFailure","name":"return failure","xml":"<return 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":910.6432151794434,"y":5419.071685791016,"z":"be5d0074.91504","wires":[]},{"id":"bd2ebb93.969ad8","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":561.7857284545898,"y":2866.5951776504517,"z":"be5d0074.91504","wires":[]},{"id":"6f35740b.7867bc","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":1327.119026184082,"y":2988.008761405945,"z":"be5d0074.91504","wires":[[]]},{"id":"8ea9283d.520568","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1146.7857284545898,"y":3034.675549507141,"z":"be5d0074.91504","wires":[["6f35740b.7867bc","58064897.8348d8","7b986ac4.ee9cc4"]]},{"id":"7b986ac4.ee9cc4","type":"break","name":"break","xml":"<break>\n","comments":"","x":1296.7856903076172,"y":3078.008846282959,"z":"be5d0074.91504","wires":[]},{"id":"55cdaf47.06229","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":747.9525146484375,"y":5143.723401069641,"z":"be5d0074.91504","wires":[["61de414e.afb53","51a8f712.305ee8"]]},{"id":"51a8f712.305ee8","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":1041.285903930664,"y":5167.056855201721,"z":"be5d0074.91504","wires":[["711bb404.976d3c","66bf2c91.3ad974"]]},{"id":"c18c0d8e.e9c0f","type":"returnFailure","name":"return failure","xml":"<return 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":1598.428565979004,"y":5190.976183891296,"z":"be5d0074.91504","wires":[]},{"id":"711bb404.976d3c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1306.119155883789,"y":5147.928677558899,"z":"be5d0074.91504","wires":[["eb26162.58114e8"]]},{"id":"66bf2c91.3ad974","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1314.690586090088,"y":5192.2143907547,"z":"be5d0074.91504","wires":[["7ab0197d.e139d8"]]},{"id":"978ac8bf.3e8f28","type":"returnFailure","name":"return failure","xml":"<return 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":1601.1191596984863,"y":5147.738389015198,"z":"be5d0074.91504","wires":[]},{"id":"31b1e600.94057a","type":"set","name":"set mapping rows to 0","xml":"<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n","comments":"","x":1120.595199584961,"y":3280.866147994995,"z":"be5d0074.91504","wires":[]},{"id":"9523ee9.421ab1","type":"switchNode","name":"switch AAI availability-zone_length","xml":"<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n","comments":"","outputs":1,"x":488.6668014526367,"y":5047.5329875946045,"z":"be5d0074.91504","wires":[["4ac5d11f.7a4fa"]]},{"id":"4ac5d11f.7a4fa","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":707.2382202148438,"y":5047.104396820068,"z":"be5d0074.91504","wires":[["f3cad836.ee2ae8"]]},{"id":"d6a1b0e1.9042e","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":1308.666862487793,"y":5065.675634384155,"z":"be5d0074.91504","wires":[]},{"id":"f3cad836.ee2ae8","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":895.8096923828125,"y":5047.532708644867,"z":"be5d0074.91504","wires":[["fb65358a.19e9b8","d1646588.cb4098"]]},{"id":"fb65358a.19e9b8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1098.666799545288,"y":5021.818458557129,"z":"be5d0074.91504","wires":[["d5bf8b09.cbb7e8"]]},{"id":"d1646588.cb4098","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1100.0954208374023,"y":5066.104206085205,"z":"be5d0074.91504","wires":[["d6a1b0e1.9042e"]]},{"id":"d7cc47f9.e02768","type":"returnFailure","name":"return failure","xml":"<return 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":1390.0953063964844,"y":5019.866150856018,"z":"be5d0074.91504","wires":[]},{"id":"f2cc54c5.7493c8","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":508.57144927978516,"y":188.60415267944336,"z":"be5d0074.91504","wires":[[]]},{"id":"5709eb79.187104","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":726.9047546386719,"y":1864.6755771636963,"z":"be5d0074.91504","wires":[["d20f8c4c.aaaef"]]},{"id":"6bde2612.3dd418","type":"switchNode","name":"switch ecomp-naming","xml":"<switch test='`$db.vf-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1104.5241432189941,"y":1765.3900136947632,"z":"be5d0074.91504","wires":[["8d3476a9.1746b8","4f89d2ab.d33efc","e9979aef.402b38"]]},{"id":"d20f8c4c.aaaef","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":872.619255065918,"y":1864.6756944656372,"z":"be5d0074.91504","wires":[["6bde2612.3dd418","fc9752c8.f26a8"]]},{"id":"4f89d2ab.d33efc","type":"outcome","name":"N","xml":"<outcome value='N'>","comments":"","outputs":1,"x":1290.9525299072266,"y":1765.8661403656006,"z":"be5d0074.91504","wires":[["2d0f9daa.bc4892"]]},{"id":"2d0f9daa.bc4892","type":"returnFailure","name":"return failure","xml":"<return 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":1445.2383155822754,"y":1784.4375848770142,"z":"be5d0074.91504","wires":[]},{"id":"8d3476a9.1746b8","type":"outcome","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1290.952522277832,"y":1724.4375944137573,"z":"be5d0074.91504","wires":[["bdd18d45.8079f"]]},{"id":"e9979aef.402b38","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1290.9524688720703,"y":1808.7232723236084,"z":"be5d0074.91504","wires":[["2d0f9daa.bc4892"]]},{"id":"bdd18d45.8079f","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1428.0954399108887,"y":1724.5804615020752,"z":"be5d0074.91504","wires":[[]]},{"id":"cfdd3602.799058","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":712.0954818725586,"y":2219.294753074646,"z":"be5d0074.91504","wires":[["7f164ae2.280aa4"]]},{"id":"7f164ae2.280aa4","type":"set","name":"set tmp.vnf-name","xml":"<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-information.vnf-name`\" />\n","comments":"","x":877.8574447631836,"y":2218.1520233154297,"z":"be5d0074.91504","wires":[]},{"id":"ccce63ca.12c4d","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":1762.9287223815918,"y":1914.4375138282776,"z":"be5d0074.91504","wires":[["572f952.2f8446c","b26bb6ea.82f758"]]},{"id":"572f952.2f8446c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2040.0715255737305,"y":1888.0090470314026,"z":"be5d0074.91504","wires":[["aefe1dbf.ad7fc"]]},{"id":"b26bb6ea.82f758","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2044.8332710266113,"y":1933.3899579048157,"z":"be5d0074.91504","wires":[["4e0d04fb.4ffd4c"]]},{"id":"809d618b.3699e","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":1717.9289741516113,"y":1865.5328335762024,"z":"be5d0074.91504","wires":[]},{"id":"4e0d04fb.4ffd4c","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":2267.7376670837402,"y":1932.86603307724,"z":"be5d0074.91504","wires":[]},{"id":"aefe1dbf.ad7fc","type":"returnFailure","name":"return failure","xml":"<return 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":2193.6429862976074,"y":1887.4375567436218,"z":"be5d0074.91504","wires":[]},{"id":"fc9752c8.f26a8","type":"switchNode","name":"switch naming-policy","xml":"<switch test='`$db.vf-model.naming-policy`'>\n","comments":"","outputs":1,"x":1102.309726715088,"y":1973.675630569458,"z":"be5d0074.91504","wires":[["e81046cf.e30718","c33ad7a8.9551f8"]]},{"id":"e81046cf.e30718","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1292.309658050537,"y":1895.1041851043701,"z":"be5d0074.91504","wires":[["e908e3dd.17c76"]]},{"id":"c33ad7a8.9551f8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1292.5478973388672,"y":2022.4851293563843,"z":"be5d0074.91504","wires":[["17eeb246.7b4dee"]]},{"id":"e908e3dd.17c76","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1445.1669273376465,"y":1893.675651550293,"z":"be5d0074.91504","wires":[["809d618b.3699e","ccce63ca.12c4d"]]},{"id":"5f34736e.da87ac","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":1784.2148513793945,"y":2038.199511051178,"z":"be5d0074.91504","wires":[["d4615f91.93833","aa0d10c0.0ed26"]]},{"id":"17eeb246.7b4dee","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1447.0717468261719,"y":2022.4851293563843,"z":"be5d0074.91504","wires":[["2b7b29b.07127d6","5f34736e.da87ac"]]},{"id":"2b7b29b.07127d6","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":1694.2147674560547,"y":1992.4851651191711,"z":"be5d0074.91504","wires":[]},{"id":"4a5f4740.237338","type":"returnFailure","name":"return failure","xml":"<return 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":2227.0718002319336,"y":2012.0564489364624,"z":"be5d0074.91504","wires":[]},{"id":"26710442.f40cdc","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":2305.5003700256348,"y":2056.7707509994507,"z":"be5d0074.91504","wires":[]},{"id":"eb91c268.10c28","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1988.571159362793,"y":2838.841775894165,"z":"be5d0074.91504","wires":[["ff28928b.062b3","a2fb2a44.e25608"]]},{"id":"a2fb2a44.e25608","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":2312.856864929199,"y":2865.4133071899414,"z":"be5d0074.91504","wires":[[]]},{"id":"ff28928b.062b3","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":2214.285484313965,"y":2818.270378112793,"z":"be5d0074.91504","wires":[]},{"id":"a10bd767.ea4798","type":"comment","name":"Unassign the VNF name","info":"","comments":"","x":2080.237808227539,"y":2758.841877937317,"z":"be5d0074.91504","wires":[]},{"id":"8730c02a.4d9e7","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":928.5714950561523,"y":2923.8420758247375,"z":"be5d0074.91504","wires":[["7181fd4f.3b9314","eb91c268.10c28"]]},{"id":"76478117.63a79","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":926.9047775268555,"y":2965.508828163147,"z":"be5d0074.91504","wires":[["fd97eb04.7d1378","eb91c268.10c28"]]},{"id":"b5eeb045.601e6","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":783.5714492797852,"y":3147.1754579544067,"z":"be5d0074.91504","wires":[["c1a2c00.3db054","eb91c268.10c28"]]},{"id":"6e98f691.cd8c98","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1075.238136291504,"y":3237.1754579544067,"z":"be5d0074.91504","wires":[["7d5b4659.62fc88","eb91c268.10c28"]]},{"id":"15b5633e.00b0bd","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1635.2381553649902,"y":3391.1753253936768,"z":"be5d0074.91504","wires":[["24c9dca7.afc914","eb91c268.10c28"]]},{"id":"fac96d9.7296c9","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1633.5714378356934,"y":3432.842077732086,"z":"be5d0074.91504","wires":[["bf85b613.22da88","eb91c268.10c28"]]},{"id":"f42827cf.7bebd8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1576.9047813415527,"y":3848.8420734405518,"z":"be5d0074.91504","wires":[["bd21a4ce.761328","eb91c268.10c28"]]},{"id":"d5bf8b09.cbb7e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1233.9048233032227,"y":5020.508767127991,"z":"be5d0074.91504","wires":[["d7cc47f9.e02768","eb91c268.10c28"]]},{"id":"eb26162.58114e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1453.9048233032227,"y":5148.508767127991,"z":"be5d0074.91504","wires":[["978ac8bf.3e8f28","eb91c268.10c28"]]},{"id":"7ab0197d.e139d8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1452.2381057739258,"y":5192.1755194664,"z":"be5d0074.91504","wires":[["c18c0d8e.e9c0f","eb91c268.10c28"]]},{"id":"27d38884.173358","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1317.2381973266602,"y":5265.508767127991,"z":"be5d0074.91504","wires":[["3e53f9d4.705fb6","eb91c268.10c28"]]},{"id":"4c454b39.b3b144","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1315.5714797973633,"y":5309.1755194664,"z":"be5d0074.91504","wires":[["ec08bcec.3b30e","eb91c268.10c28"]]},{"id":"ee34f26f.d315d","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":763.904857635498,"y":5420.508882522583,"z":"be5d0074.91504","wires":[["4db84c3d.411824","eb91c268.10c28"]]},{"id":"8ef6f5ea.1df328","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":762.2381401062012,"y":5464.175634860992,"z":"be5d0074.91504","wires":[["22f19811.37d758","eb91c268.10c28"]]},{"id":"d4615f91.93833","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2082.3808975219727,"y":2013.1280183792114,"z":"be5d0074.91504","wires":[["4a5f4740.237338"]]},{"id":"aa0d10c0.0ed26","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2087.1426429748535,"y":2058.5089292526245,"z":"be5d0074.91504","wires":[["26710442.f40cdc"]]},{"id":"7b71c44b.6d928c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":737.6189956665039,"y":1368.0952367782593,"z":"be5d0074.91504","wires":[["692dc4cc.06594c","ad3abca7.574a4"]]},{"id":"59afdec8.0d6fc","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":520.9523429870605,"y":1368.761881828308,"z":"be5d0074.91504","wires":[["7b71c44b.6d928c"]]},{"id":"692dc4cc.06594c","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":968.9523544311523,"y":1291.4286184310913,"z":"be5d0074.91504","wires":[["44a92d04.daaea4","2937e52b.43293a"]]},{"id":"2937e52b.43293a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1183.1985626220703,"y":1309.5794668197632,"z":"be5d0074.91504","wires":[["8fda8fc0.0688e"]]},{"id":"44a92d04.daaea4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1192.1271591186523,"y":1267.8652000427246,"z":"be5d0074.91504","wires":[["35f13cd1.8e7824"]]},{"id":"35f13cd1.8e7824","type":"returnFailure","name":"return failure","xml":"<return 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":1364.9523696899414,"y":1265.4286108016968,"z":"be5d0074.91504","wires":[]},{"id":"8fda8fc0.0688e","type":"returnFailure","name":"return failure","xml":"<return 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":1364.9523696899414,"y":1309.4286108016968,"z":"be5d0074.91504","wires":[]},{"id":"ad3abca7.574a4","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":942.619010925293,"y":1439.7619342803955,"z":"be5d0074.91504","wires":[["12d4f1e6.ff3a3e"]]},{"id":"12d4f1e6.ff3a3e","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.9524536132812,"y":1439.7618732452393,"z":"be5d0074.91504","wires":[["71a5792c.8ec168"]]},{"id":"71a5792c.8ec168","type":"outcome","name":"collection","xml":"<outcome value='collection'>\n","comments":"","outputs":1,"x":1327.6190910339355,"y":1439.7619552612305,"z":"be5d0074.91504","wires":[["e8dfecae.87983"]]},{"id":"e8dfecae.87983","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":1547.618995666504,"y":1438.0952167510986,"z":"be5d0074.91504","wires":[["7605232d.b437ec","c8628f19.c65e4","e8719477.a58328"]]},{"id":"c8628f19.c65e4","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1761.8651885986328,"y":1389.579405784607,"z":"be5d0074.91504","wires":[["9f1118db.4a84c8"]]},{"id":"7605232d.b437ec","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1770.7937850952148,"y":1347.8651390075684,"z":"be5d0074.91504","wires":[["7bca285f.557c98"]]},{"id":"7bca285f.557c98","type":"returnFailure","name":"return failure","xml":"<return 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":1927.618995666504,"y":1346.4286108016968,"z":"be5d0074.91504","wires":[]},{"id":"9f1118db.4a84c8","type":"returnFailure","name":"return failure","xml":"<return 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":1927.618995666504,"y":1390.4286108016968,"z":"be5d0074.91504","wires":[]},{"id":"e8719477.a58328","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1760.9523963928223,"y":1526.4285821914673,"z":"be5d0074.91504","wires":[["6f40d450.f9ee5c"]]},{"id":"6f40d450.f9ee5c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1914.2855377197266,"y":1525.7618780136108,"z":"be5d0074.91504","wires":[["edf05ef0.1dd5e","b0242e5b.93cc7","87b9eedb.3dc8d","42a9ebf.50fbd14","8b30506e.9482a"]]},{"id":"edf05ef0.1dd5e","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":2152.618881225586,"y":1476.4286260604858,"z":"be5d0074.91504","wires":[["9e5b6c89.d1809"]]},{"id":"b0242e5b.93cc7","type":"set","name":"set found-network-instance-group to false","xml":"<set>\n<parameter name='found-network-instance-group' value='false' />\n","comments":"","x":2182.6188430786133,"y":1429.7619981765747,"z":"be5d0074.91504","wires":[]},{"id":"9e5b6c89.d1809","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":2469.2853927612305,"y":1476.4286251068115,"z":"be5d0074.91504","wires":[["abc51c7b.c7ef5"]]},{"id":"abc51c7b.c7ef5","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2690.9521713256836,"y":1476.4285898208618,"z":"be5d0074.91504","wires":[["1dbe3fe2.e99a9"]]},{"id":"1dbe3fe2.e99a9","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2820.9522018432617,"y":1476.4286661148071,"z":"be5d0074.91504","wires":[["3e368576.b8d45a","5c2a9090.033f1"]]},{"id":"3e368576.b8d45a","type":"set","name":"set found-network-instance-group to true","xml":"<set>\n<parameter name='found-network-instance-group' value='true' />\n","comments":"","x":3054.2853775024414,"y":1448.0952911376953,"z":"be5d0074.91504","wires":[]},{"id":"5c2a9090.033f1","type":"break","name":"break","xml":"<break>\n","comments":"","x":2947.6189918518066,"y":1496.4286613464355,"z":"be5d0074.91504","wires":[]},{"id":"87b9eedb.3dc8d","type":"switchNode","name":"switch found-network-instance-group","xml":"<switch test='`$found-network-instance-group`'>\n","comments":"","outputs":1,"x":2164.285499572754,"y":1526.4286069869995,"z":"be5d0074.91504","wires":[["aafceefd.beca3"]]},{"id":"aafceefd.beca3","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2385.952346801758,"y":1526.428629398346,"z":"be5d0074.91504","wires":[["84852ec8.853e3"]]},{"id":"84852ec8.853e3","type":"returnFailure","name":"return failure","xml":"<return 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":2532.6189193725586,"y":1524.7619638442993,"z":"be5d0074.91504","wires":[]},{"id":"2c4a61bc.2ff89e","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":569.2856826782227,"y":1319.7620134353638,"z":"be5d0074.91504","wires":[]},{"id":"42a9ebf.50fbd14","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":2144.2858238220215,"y":1574.7619428634644,"z":"be5d0074.91504","wires":[]},{"id":"8b30506e.9482a","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.9525299072266,"y":1621.4286108016968,"z":"be5d0074.91504","wires":[]},{"id":"58eda9a2.3858f8","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":548.4523773193359,"y":1577.261962890625,"z":"be5d0074.91504","wires":[]},{"id":"c7bb3006.7fea2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":672.952465057373,"y":5536.904908180237,"z":"be5d0074.91504","wires":[["88fe44bc.b20cb8"]]},{"id":"e984610a.8e6fd","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":456.2858123779297,"y":5537.571553230286,"z":"be5d0074.91504","wires":[["c7bb3006.7fea2"]]},{"id":"88fe44bc.b20cb8","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":956.2857933044434,"y":5536.4285888671875,"z":"be5d0074.91504","wires":[["b08af364.cb3cc","c5b433d3.c28c9"]]},{"id":"e848e15d.68a83","type":"returnFailure","name":"return failure","xml":"<return 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.952465057373,"y":5554.761841773987,"z":"be5d0074.91504","wires":[]},{"id":"b08af364.cb3cc","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1215.6430168151855,"y":5513.381004333496,"z":"be5d0074.91504","wires":[["1e05cc88.527fb3"]]},{"id":"c5b433d3.c28c9","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1224.2144470214844,"y":5557.666717529297,"z":"be5d0074.91504","wires":[["af381b33.81f6e8"]]},{"id":"1830abef.3e2ad4","type":"returnFailure","name":"return failure","xml":"<return 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":1515.64306640625,"y":5511.5241050720215,"z":"be5d0074.91504","wires":[]},{"id":"1e05cc88.527fb3","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1368.9047012329102,"y":5512.961243629456,"z":"be5d0074.91504","wires":[["1830abef.3e2ad4","eb91c268.10c28"]]},{"id":"af381b33.81f6e8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1367.2379837036133,"y":5556.627995967865,"z":"be5d0074.91504","wires":[["e848e15d.68a83","eb91c268.10c28"]]},{"id":"faee63b4.f8527","type":"switchNode","name":"switch subnet_length","xml":"<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\n","comments":"","outputs":1,"x":1277.8572120666504,"y":3969.523956298828,"z":"be5d0074.91504","wires":[["c04597b.b1aa868","58e8fb8e.ae1534","12f9127e.1a58ce"]]},{"id":"c04597b.b1aa868","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1450.7143745422363,"y":3932.381015777588,"z":"be5d0074.91504","wires":[["4b6d60ec.1203c"]]},{"id":"58e8fb8e.ae1534","type":"outcome","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":1452.1429443359375,"y":3970.952178955078,"z":"be5d0074.91504","wires":[["4b6d60ec.1203c"]]},{"id":"12f9127e.1a58ce","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1450.7144088745117,"y":4009.5235710144043,"z":"be5d0074.91504","wires":[["e69e985e.2e9298"]]},{"id":"e69e985e.2e9298","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1572.1429634094238,"y":4009.523838043213,"z":"be5d0074.91504","wires":[["705a058a.b98a8c","84cd03b2.470d3"]]},{"id":"4b6d60ec.1203c","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":1643.5715675354004,"y":3940.952178955078,"z":"be5d0074.91504","wires":[]},{"id":"c662231.39140e","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":1138.2576904296875,"y":567.7025542259216,"z":"be5d0074.91504","wires":[["97aac06d.eeb83"]]},{"id":"e2e6067.ebb3cf8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`\" />\n","comments":"","x":1522.3290672302246,"y":567.7025046348572,"z":"be5d0074.91504","wires":[]},{"id":"eff2987e.a77eb8","type":"comment","name":"SELF-SERVE FORK","info":"","comments":"","x":869.1270141601562,"y":590.1548004150391,"z":"be5d0074.91504","wires":[]},{"id":"97aac06d.eeb83","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1343.5552711486816,"y":567.1905856132507,"z":"be5d0074.91504","wires":[["e2e6067.ebb3cf8"]]},{"id":"f09bed97.7d31e","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":254.36508178710938,"y":407.04765033721924,"z":"be5d0074.91504","wires":[["f2cc54c5.7493c8","e5ad0d66.70637","95e7dc2c.60081","b07f3957.23cee8","575233c8.305a6c","e450a9d4.f6b6a8"]]},{"id":"26bcf61d.39ed8a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1913.3334197998047,"y":3988.1280336380005,"z":"be5d0074.91504","wires":[["60076dea.ddca64","95a8bc37.de49c","23fb5171.228f8e","b90fa041.aaba2"]]},{"id":"6a145c65.18a254","type":"set","name":"clear aai.l3-network","xml":"<set>\n<parameter name='aai.l3-network.' value='' />\n","comments":"","x":1271.9048652648926,"y":3360.985152244568,"z":"be5d0074.91504","wires":[]},{"id":"dfefb0c6.308d5","type":"break","name":"break","xml":"<break>\n","comments":"","x":3713.6188011169434,"y":3888.127716064453,"z":"be5d0074.91504","wires":[]},{"id":"3d04abe8.1b48a4","type":"set","name":"set found-network to false","xml":"<set>\n<parameter name='found-network' value='false' />\n","comments":"","x":1413.3333930969238,"y":3593.8421201705933,"z":"be5d0074.91504","wires":[]},{"id":"a31baa94.b136c8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2385.0476989746094,"y":3748.1279163360596,"z":"be5d0074.91504","wires":[["427d1cc0.bee434","5549edaf.7acea4"]]},{"id":"5549edaf.7acea4","type":"switchNode","name":"switch found-network","xml":"<switch test='`$found-network`'>\n","comments":"","outputs":1,"x":2576.476245880127,"y":3778.1279706954956,"z":"be5d0074.91504","wires":[["36f14756.ae8f48"]]},{"id":"e7b2f268.9efeb","type":"set","name":"set found-network to true","xml":"<set>\n<parameter name='found-network' value='true' />\n","comments":"","x":3769.3336791992188,"y":3842.413396835327,"z":"be5d0074.91504","wires":[]},{"id":"36f14756.ae8f48","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2745.047737121582,"y":3778.127900123596,"z":"be5d0074.91504","wires":[["d5854119.b6b79"]]},{"id":"d5854119.b6b79","type":"break","name":"break","xml":"<break>\n","comments":"","x":2875.047805786133,"y":3776.699294090271,"z":"be5d0074.91504","wires":[]},{"id":"ad1cc61a.69a3c8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1585.3334159851074,"y":3721.84219455719,"z":"be5d0074.91504","wires":[["88980c13.6b138","9afc419a.5b34a"]]},{"id":"9afc419a.5b34a","type":"switchNode","name":"switch found-network","xml":"<switch test='`$found-network`'>\n","comments":"","outputs":1,"x":1795.3333702087402,"y":3793.8420782089233,"z":"be5d0074.91504","wires":[["f66a4612.6df9f8"]]},{"id":"f66a4612.6df9f8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1963.9048614501953,"y":3793.842007637024,"z":"be5d0074.91504","wires":[["a1bada83.a833c8"]]},{"id":"a1bada83.a833c8","type":"break","name":"break","xml":"<break>\n","comments":"","x":2093.904930114746,"y":3792.4134016036987,"z":"be5d0074.91504","wires":[]},{"id":"f70af5d8.815968","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":1110.6666259765625,"y":721.8571219444275,"z":"be5d0074.91504","wires":[]},{"id":"cddbc37f.04216","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":1192.4800720214844,"y":619.1946024894714,"z":"be5d0074.91504","wires":[]},{"id":"304e9350.13a68c","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":1100.5713539123535,"y":669.6343712806702,"z":"be5d0074.91504","wires":[[]]},{"id":"d789f59.74b7f08","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":889.2378845214844,"y":639.1428298950195,"z":"be5d0074.91504","wires":[["c662231.39140e","cddbc37f.04216","304e9350.13a68c","f70af5d8.815968"]]},{"id":"23fb5171.228f8e","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":2067.619186401367,"y":4018.8097801208496,"z":"be5d0074.91504","wires":[]},{"id":"b90fa041.aaba2","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":2082.142967224121,"y":4071.6527338027954,"z":"be5d0074.91504","wires":[["49a34eea.6330e","b5daf2d.33bd71"]]},{"id":"49a34eea.6330e","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2245.000131879534,"y":4050.224091529846,"z":"be5d0074.91504","wires":[["8fc71690.7962d8"]]},{"id":"b5daf2d.33bd71","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2243.571464538574,"y":4095.9385175704956,"z":"be5d0074.91504","wires":[["e2f9a136.49111"]]},{"id":"8fc71690.7962d8","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":2417.8573303222656,"y":4048.7954874038696,"z":"be5d0074.91504","wires":[]},{"id":"e2f9a136.49111","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":2415.000099182129,"y":4095.9385175704956,"z":"be5d0074.91504","wires":[]},{"id":"60076dea.ddca64","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":2082.6191368103027,"y":3900.700406074524,"z":"be5d0074.91504","wires":[["ed1cfe9d.edd28"]]},{"id":"ed1cfe9d.edd28","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":2249.2857398986816,"y":3900.7000579833984,"z":"be5d0074.91504","wires":[["61b607ca.bee948"]]},{"id":"61b607ca.bee948","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.9525260925293,"y":3900.0337104797363,"z":"be5d0074.91504","wires":[]},{"id":"95a8bc37.de49c","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":2077.8574714660645,"y":3965.191512107849,"z":"be5d0074.91504","wires":[["cba78d28.62af2","57793043.471d2"]]},{"id":"cba78d28.62af2","type":"outcome","name":"4","xml":"<outcome value='4'>\n","comments":"","outputs":1,"x":2243.5716133117676,"y":3946.619909286499,"z":"be5d0074.91504","wires":[["dff11ccf.bb16a"]]},{"id":"57793043.471d2","type":"outcome","name":"6","xml":"<outcome value='6'>\n","comments":"","outputs":1,"x":2243.571575164795,"y":3988.048652648926,"z":"be5d0074.91504","wires":[["cc470d.526ff8f"]]},{"id":"dff11ccf.bb16a","type":"set","name":"set tmp.ip-version to ipv4","xml":"<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n","comments":"","x":2430.7143783569336,"y":3945.762836456299,"z":"be5d0074.91504","wires":[]},{"id":"cc470d.526ff8f","type":"set","name":"set tmp.ip-version to ipv6","xml":"<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n","comments":"","x":2429.285930633545,"y":3988.0486545562744,"z":"be5d0074.91504","wires":[]},{"id":"80cab39e.772be","type":"switchNode","name":"switch network-role","xml":"<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n","comments":"","outputs":1,"x":710.2856636047363,"y":3973.428563117981,"z":"be5d0074.91504","wires":[["4a80611b.96ec4","62ed6f4a.81897","5ab52110.3fbcd","b4fbca0e.70bc98"]]},{"id":"4a80611b.96ec4","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":878.3809280395508,"y":3871.761974334717,"z":"be5d0074.91504","wires":[["2b279fb6.0c5b6"]]},{"id":"62ed6f4a.81897","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":876.9523048400879,"y":4000.0951623916626,"z":"be5d0074.91504","wires":[["7eca1a93.00ad54"]]},{"id":"2b279fb6.0c5b6","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1015.7619361877441,"y":3911.5235538482666,"z":"be5d0074.91504","wires":[[]]},{"id":"dece7ac8.98c8e8","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":1372.285758972168,"y":4303.1750774383545,"z":"be5d0074.91504","wires":[["3ab71df.b211ce2","32829263.ca5a0e"]]},{"id":"3ab71df.b211ce2","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1640.9524230957031,"y":4133.8419189453125,"z":"be5d0074.91504","wires":[["e67a9905.733058"]]},{"id":"711da561.57e78c","type":"returnFailure","name":"return failure","xml":"<return 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.9523963928223,"y":4133.6514892578125,"z":"be5d0074.91504","wires":[]},{"id":"e67a9905.733058","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1788.1429405212402,"y":4132.389933586121,"z":"be5d0074.91504","wires":[["711da561.57e78c","eb91c268.10c28"]]},{"id":"32829263.ca5a0e","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1643.9524536132812,"y":4496.508430480957,"z":"be5d0074.91504","wires":[["54f934a8.1407ec"]]},{"id":"54f934a8.1407ec","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1810.285758972168,"y":4494.5080852508545,"z":"be5d0074.91504","wires":[["9905f433.bc4c58","b447de2b.f180d","e0e1bfb9.d3392","8e303b97.191248","9bcef03.5e4921","683fecd1.72d594","2a35f71d.88e7e8","70b3b7bf.4dfb18","e3caf961.b0c638"]]},{"id":"6a38ac3.c275454","type":"outcome","name":"service-instance","xml":"<outcome value='service-instance'>\n","comments":"","outputs":1,"x":2748.5712280273438,"y":3666.74675655365,"z":"be5d0074.91504","wires":[["11fe3f3e.4ee511"]]},{"id":"11fe3f3e.4ee511","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":2974.0470657348633,"y":3667.175386428833,"z":"be5d0074.91504","wires":[["19207da5.d08342"]]},{"id":"19207da5.d08342","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":3209.2856369018555,"y":3665.5088176727295,"z":"be5d0074.91504","wires":[["941b5311.4c406"]]},{"id":"941b5311.4c406","type":"outcome","name":"service-instance.service-instance-id","xml":"<outcome value='service-instance.service-instance-id'>\n","comments":"","outputs":1,"x":3475.713996887207,"y":3665.5088815689087,"z":"be5d0074.91504","wires":[["4202ddb6.ac36f4"]]},{"id":"4202ddb6.ac36f4","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":3769.2857818603516,"y":3663.842296600342,"z":"be5d0074.91504","wires":[]},{"id":"9905f433.bc4c58","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":2129.618927001953,"y":4190.175718307495,"z":"be5d0074.91504","wires":[[]]},{"id":"e0e1bfb9.d3392","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":2186.618721008301,"y":4293.604458808899,"z":"be5d0074.91504","wires":[["e4a73926.d67098"]]},{"id":"b447de2b.f180d","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":2151.285514831543,"y":4233.5090618133545,"z":"be5d0074.91504","wires":[[]]},{"id":"7a50c9f.bf28538","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":456.61913299560547,"y":4140.1750774383545,"z":"be5d0074.91504","wires":[[]]},{"id":"e4a73926.d67098","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2515.7279090881348,"y":4293.354936599731,"z":"be5d0074.91504","wires":[["82516186.8c563"]]},{"id":"2728e692.39911a","type":"returnFailure","name":"return failure","xml":"<return 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":2820.9522857666016,"y":4303.841425895691,"z":"be5d0074.91504","wires":[]},{"id":"82516186.8c563","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2653.1427993774414,"y":4292.580025672913,"z":"be5d0074.91504","wires":[["2728e692.39911a","eb91c268.10c28"]]},{"id":"8e303b97.191248","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":2129.285743713379,"y":4353.842082977295,"z":"be5d0074.91504","wires":[]},{"id":"683fecd1.72d594","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":2070.2856369018555,"y":4429.1755657196045,"z":"be5d0074.91504","wires":[["a590bc88.67cc3","f93d7275.280a5"]]},{"id":"a590bc88.67cc3","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2280.5236854553223,"y":4407.841919898987,"z":"be5d0074.91504","wires":[["2c629f1.121d76"]]},{"id":"f93d7275.280a5","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2287.6665802001953,"y":4453.5561447143555,"z":"be5d0074.91504","wires":[["94b1d4ef.94ad08"]]},{"id":"f1c34530.cdc708","type":"returnFailure","name":"return failure","xml":"<return 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":2585.2856369018555,"y":4405.8420696258545,"z":"be5d0074.91504","wires":[]},{"id":"2c629f1.121d76","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2422.4761810302734,"y":4404.580513954163,"z":"be5d0074.91504","wires":[["f1c34530.cdc708","eb91c268.10c28"]]},{"id":"34fee23.74b641e","type":"returnFailure","name":"return failure","xml":"<return 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":2583.6191329956055,"y":4455.8420696258545,"z":"be5d0074.91504","wires":[]},{"id":"94b1d4ef.94ad08","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2420.8096771240234,"y":4454.580513954163,"z":"be5d0074.91504","wires":[["34fee23.74b641e","eb91c268.10c28"]]},{"id":"d9bc3d6f.ee479","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.9524536132812,"y":4602.175703048706,"z":"be5d0074.91504","wires":[["8560d674.04df58","387d8908.bfa816"]]},{"id":"8560d674.04df58","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2733.190502166748,"y":4580.8422021865845,"z":"be5d0074.91504","wires":[["2edb259f.d6427a"]]},{"id":"387d8908.bfa816","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2740.333396911621,"y":4626.556427001953,"z":"be5d0074.91504","wires":[["83120bbc.de2f08"]]},{"id":"9b719b4e.2bbdf8","type":"returnFailure","name":"return failure","xml":"<return 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.9524536132812,"y":4578.842351913452,"z":"be5d0074.91504","wires":[]},{"id":"2edb259f.d6427a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2875.142997741699,"y":4577.58079624176,"z":"be5d0074.91504","wires":[["9b719b4e.2bbdf8","eb91c268.10c28"]]},{"id":"4dfbb550.f5a8cc","type":"returnFailure","name":"return failure","xml":"<return 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":3036.2859497070312,"y":4628.842351913452,"z":"be5d0074.91504","wires":[]},{"id":"83120bbc.de2f08","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2873.476493835449,"y":4627.58079624176,"z":"be5d0074.91504","wires":[["4dfbb550.f5a8cc","eb91c268.10c28"]]},{"id":"154d643c.80192c","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.9524536132812,"y":4728.175848007202,"z":"be5d0074.91504","wires":[["2356569c.ffc24a"]]},{"id":"2356569c.ffc24a","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.9524536132812,"y":4728.175848007202,"z":"be5d0074.91504","wires":[["8795e09.89be62"]]},{"id":"8795e09.89be62","type":"outcome","name":"vlan-tag","xml":"<outcome value='vlan-tag'>\n","comments":"","outputs":1,"x":2854.9524536132812,"y":4728.175848007202,"z":"be5d0074.91504","wires":[["346048a1.d0b2d8"]]},{"id":"346048a1.d0b2d8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3022.9524536132812,"y":4726.175848007202,"z":"be5d0074.91504","wires":[["17f6fc0d.8dad74","355b66df.e2b0aa","cc38a6f6.b25fe8"]]},{"id":"17f6fc0d.8dad74","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.9524536132812,"y":4686.175848007202,"z":"be5d0074.91504","wires":[]},{"id":"355b66df.e2b0aa","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.9524536132812,"y":4744.175848007202,"z":"be5d0074.91504","wires":[["403307f7.b64c78","e1666ba5.a09638"]]},{"id":"403307f7.b64c78","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3401.0000610351562,"y":4726.318914413452,"z":"be5d0074.91504","wires":[["6ebd4443.1e2c3c"]]},{"id":"6ebd4443.1e2c3c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3543.809341430664,"y":4726.509556293488,"z":"be5d0074.91504","wires":[["f840cf70.62acd","eb91c268.10c28"]]},{"id":"f840cf70.62acd","type":"returnFailure","name":"return failure","xml":"<return 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":3704.952346801758,"y":4722.176074981689,"z":"be5d0074.91504","wires":[]},{"id":"9bcef03.5e4921","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.9523849487305,"y":4658.509412765503,"z":"be5d0074.91504","wires":[["9b20a919.5c92d8"]]},{"id":"9b20a919.5c92d8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2262.9523849487305,"y":4659.8425579071045,"z":"be5d0074.91504","wires":[["d9bc3d6f.ee479","154d643c.80192c","11b17797.ac7498"]]},{"id":"70b3b7bf.4dfb18","type":"switchNode","name":"switch rn-index","xml":"<switch test='`$rn-index`'>\n","comments":"","outputs":1,"x":2018.9523849487305,"y":4548.1755657196045,"z":"be5d0074.91504","wires":[["91b5c234.d549b"]]},{"id":"2a35f71d.88e7e8","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":2087.6189727783203,"y":4499.17541885376,"z":"be5d0074.91504","wires":[]},{"id":"91b5c234.d549b","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":2182.9523849487305,"y":4548.1755657196045,"z":"be5d0074.91504","wires":[["d9d5dae4.bd92c8"]]},{"id":"d9d5dae4.bd92c8","type":"set","name":"set rn-index to 0","xml":"<set>\n<parameter name='rn-index' value='0' />\n","comments":"","x":2342.9523849487305,"y":4548.1755657196045,"z":"be5d0074.91504","wires":[]},{"id":"11b17797.ac7498","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":2490.619041442871,"y":4658.842390060425,"z":"be5d0074.91504","wires":[]},{"id":"e3caf961.b0c638","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.9524536132812,"y":4802.175703048706,"z":"be5d0074.91504","wires":[]},{"id":"e1666ba5.a09638","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3402.9524536132812,"y":4774.175703048706,"z":"be5d0074.91504","wires":[["31d77170.263a3e"]]},{"id":"31d77170.263a3e","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.9524536132812,"y":4774.175703048706,"z":"be5d0074.91504","wires":[]},{"id":"cc38a6f6.b25fe8","type":"break","name":"break","xml":"<break>\n","comments":"","x":3172.9524536132812,"y":4812.175703048706,"z":"be5d0074.91504","wires":[]},{"id":"aec7ccd0.894f5","type":"comment","name":"temporary data issue: also ignore string \"null\" and \"NULL\"","info":"","comments":"","x":849.2857666015625,"y":3831.937686920166,"z":"be5d0074.91504","wires":[]},{"id":"5ab52110.3fbcd","type":"outcome","name":"null","xml":"<outcome value='null'>\n","comments":"","outputs":1,"x":876.4285888671875,"y":3914.794828414917,"z":"be5d0074.91504","wires":[["2b279fb6.0c5b6"]]},{"id":"b4fbca0e.70bc98","type":"outcome","name":"NULL","xml":"<outcome value='NULL'>","comments":"","outputs":1,"x":876.4285984039307,"y":3957.651900291443,"z":"be5d0074.91504","wires":[["2b279fb6.0c5b6"]]},{"id":"b07f3957.23cee8","type":"switchNode","name":"switch input cloud-owner","xml":"<switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\n","comments":"","outputs":1,"x":509.28570556640625,"y":243.84222221374512,"z":"be5d0074.91504","wires":[["d3fc9056.4916f","57a81799.8acba8"]]},{"id":"d3fc9056.4916f","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":692.6190795898438,"y":213.84221076965332,"z":"be5d0074.91504","wires":[["9917844.58b4178"]]},{"id":"57a81799.8acba8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":692.3809852600098,"y":254.79470443725586,"z":"be5d0074.91504","wires":[["efdbfc78.53fd6"]]},{"id":"9917844.58b4178","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":827.6190338134766,"y":212.17555046081543,"z":"be5d0074.91504","wires":[[]]},{"id":"efdbfc78.53fd6","type":"set","name":"set prop.cloud-region.cloud-owner","xml":"<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\n","comments":"","x":909.2856903076172,"y":253.84223175048828,"z":"be5d0074.91504","wires":[]},{"id":"575233c8.305a6c","type":"call","name":"call self-serve-vnf-forking-logic","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n","comments":"","outputs":1,"x":527.1428604125977,"y":537.1428661346436,"z":"be5d0074.91504","wires":[[]]},{"id":"e450a9d4.f6b6a8","type":"switchNode","name":"switch ss.self-serve-flag","xml":"<switch test=\"`$ss.self-serve-flag`\">\n","comments":"","outputs":1,"x":507.2855758666992,"y":702.7143535614014,"z":"be5d0074.91504","wires":[["78b4342c.5bbe9c","7b7dd5f.add382c"]]},{"id":"78b4342c.5bbe9c","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":718.9997329711914,"y":775.9996376037598,"z":"be5d0074.91504","wires":[["7362746e.83534c"]]},{"id":"7b7dd5f.add382c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":718.5712509155273,"y":639.5714712142944,"z":"be5d0074.91504","wires":[["d789f59.74b7f08"]]}] \ 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 fe7f3f49..52f2a38d 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":"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
+[{"id":"ae768186.4826a","type":"dgstart","name":"DGSTART","outputs":1,"x":134.2857208251953,"y":92.41365671157837,"z":"d84650d6.6853b","wires":[["edafbe74.9da96"]]},{"id":"edafbe74.9da96","type":"service-logic","name":"GENERIC-RESOURCE-API ${project.version}","module":"GENERIC-RESOURCE-API","version":"${project.version}","comments":"","xml":"<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>","outputs":1,"x":246.7142791748047,"y":132.65176725387573,"z":"d84650d6.6853b","wires":[["b0f5897.9207e78"]]},{"id":"b0f5897.9207e78","type":"method","name":"method vnf-topology-operation-changeassign","xml":"<method rpc='vnf-topology-operation-changeassign' mode='sync'>\n","comments":"","outputs":1,"x":242.42862701416016,"y":172.41365480422974,"z":"d84650d6.6853b","wires":[["670a4655.0f0308"]]},{"id":"1118501d.0e50c","type":"comment","name":"vnf-topology-operation-changeassign","info":"","comments":"","x":528.6305770874023,"y":40.00000047683716,"z":"d84650d6.6853b","wires":[]},{"id":"8d6e003.e53ef","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":533.5238342285156,"y":274.12794828414917,"z":"d84650d6.6853b","wires":[["536e7baf.586814","3ee50456.0e95fc"]]},{"id":"536e7baf.586814","type":"outcome","name":"CreateVnfInstance","xml":"<outcome value='CreateVnfInstance'>\n","comments":"","outputs":1,"x":757.6666488647461,"y":248.41365671157837,"z":"d84650d6.6853b","wires":[["57ce7cd7.f2a264"]]},{"id":"3ee50456.0e95fc","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":720.6666717529297,"y":292.4612956047058,"z":"d84650d6.6853b","wires":[["264a3806.603918"]]},{"id":"57ce7cd7.f2a264","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":949.2381057739258,"y":248.41369199752808,"z":"d84650d6.6853b","wires":[[]]},{"id":"264a3806.603918","type":"returnFailure","name":"return failure","xml":"<return 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":928.0476188659668,"y":292.4613070487976,"z":"d84650d6.6853b","wires":[]},{"id":"dd2ece0d.8f5cf","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":1219.9524230957031,"y":602.9851970672607,"z":"d84650d6.6853b","wires":[["e6c87065.a3db","591c04ee.ad32ac"]]},{"id":"e6c87065.a3db","type":"other","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":1421.952480316162,"y":580.6993646621704,"z":"d84650d6.6853b","wires":[["198f754a.21cc0b"]]},{"id":"5bb0ece8.e079f4","type":"returnFailure","name":"return failure","xml":"<return 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":1588.095344543457,"y":624.0327425003052,"z":"d84650d6.6853b","wires":[]},{"id":"882bb260.db908","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":937.9524688720703,"y":598.7470188140869,"z":"d84650d6.6853b","wires":[["26e397f2.4cc038","33d8b0b9.4de03","e3cb0.1ccff351","35f1cabd.ad4236","73b1cc70.f76174","3c3e74.be8df18c"]]},{"id":"26e397f2.4cc038","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":1228.250099182129,"y":959.6637916564941,"z":"d84650d6.6853b","wires":[]},{"id":"33d8b0b9.4de03","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n","comments":"","x":1202.535800933838,"y":1002.5209302902222,"z":"d84650d6.6853b","wires":[]},{"id":"4c011a86.6ca9e4","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":519.5237731933594,"y":349.2707953453064,"z":"d84650d6.6853b","wires":[["1d484ab5.212555"]]},{"id":"1d484ab5.212555","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":706.1904525756836,"y":348.6040930747986,"z":"d84650d6.6853b","wires":[["3d72b49a.dfbe0c"]]},{"id":"3d72b49a.dfbe0c","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":887.8570785522461,"y":348.6040930747986,"z":"d84650d6.6853b","wires":[]},{"id":"3ffdfebf.a94f62","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":502.61901092529297,"y":395.74697160720825,"z":"d84650d6.6853b","wires":[["71a91129.2afc7"]]},{"id":"71a91129.2afc7","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":757.6190986633301,"y":395.4136395454407,"z":"d84650d6.6853b","wires":[["ec4716db.366f98"]]},{"id":"ec4716db.366f98","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":988.9523849487305,"y":395.4136176109314,"z":"d84650d6.6853b","wires":[["b340587a.14bc08"]]},{"id":"b340587a.14bc08","type":"set","name":"set vnf-index","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1164.2855796813965,"y":395.4136395454407,"z":"d84650d6.6853b","wires":[]},{"id":"848ed288.0a323","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":514.2856750488281,"y":441.4136414527893,"z":"d84650d6.6853b","wires":[["bf8d4c59.bad85"]]},{"id":"bf8d4c59.bad85","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":695.9522933959961,"y":440.74697160720825,"z":"d84650d6.6853b","wires":[["6b0217ab.13f278"]]},{"id":"6b0217ab.13f278","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":862.6189804077148,"y":440.41359758377075,"z":"d84650d6.6853b","wires":[]},{"id":"e3cb0.1ccff351","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":1251.607048034668,"y":862.2500286102295,"z":"d84650d6.6853b","wires":[]},{"id":"35f1cabd.ad4236","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":1264.202522277832,"y":912.0446929931641,"z":"d84650d6.6853b","wires":[]},{"id":"198f754a.21cc0b","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1571.2858428955078,"y":580.0476360321045,"z":"d84650d6.6853b","wires":[[]]},{"id":"591c04ee.ad32ac","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1396.2858772277832,"y":625.0476264953613,"z":"d84650d6.6853b","wires":[["5bb0ece8.e079f4"]]},{"id":"73b1cc70.f76174","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":1240.8691940307617,"y":789.6309394836426,"z":"d84650d6.6853b","wires":[["7c79848.c27b07c","afabb41.7670148"]]},{"id":"5cfb938f.c2a60c","type":"returnFailure","name":"return failure","xml":"<return 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":1593.9643821716309,"y":814.7261123657227,"z":"d84650d6.6853b","wires":[]},{"id":"7c79848.c27b07c","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1428.3215827941895,"y":770.0117769241333,"z":"d84650d6.6853b","wires":[["4e267b5c.216c84"]]},{"id":"afabb41.7670148","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1436.8930130004883,"y":814.2974901199341,"z":"d84650d6.6853b","wires":[["5cfb938f.c2a60c"]]},{"id":"4e267b5c.216c84","type":"returnFailure","name":"return failure","xml":"<return 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":1593.3215827941895,"y":769.8213710784912,"z":"d84650d6.6853b","wires":[]},{"id":"62a1b7be.065008","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1785.5716171264648,"y":591.00000166893,"z":"d84650d6.6853b","wires":[]},{"id":"f32a4fea.2c96b","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":1000.9285583496094,"y":1146.4644346237183,"z":"d84650d6.6853b","wires":[["50726d7e.731414","f9c4545a.90b8d8"]]},{"id":"50726d7e.731414","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1226.6785430908203,"y":1146.7144231796265,"z":"d84650d6.6853b","wires":[["3fccea3e.d01436"]]},{"id":"3fccea3e.d01436","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n<parameter name='error-code' value='500' />\n<parameter name='error-message' value=\"`'Encountered error performing changeassign for self-serve resources with error: '+ $error-message`\" />\n","comments":"","x":1386.2499694824219,"y":1146.3573179244995,"z":"d84650d6.6853b","wires":[]},{"id":"670a4655.0f0308","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":261.42858123779297,"y":395.71428537368774,"z":"d84650d6.6853b","wires":[["8d6e003.e53ef","4c011a86.6ca9e4","3ffdfebf.a94f62","848ed288.0a323","721219a1.3f1ec8","fa2765df.fe5b88"]]},{"id":"5e167505.53b26c","type":"comment","name":"self-serve FORKING LOGIC","info":"","comments":"","x":485.7142791748047,"y":499.9999828338623,"z":"d84650d6.6853b","wires":[]},{"id":"f9c4545a.90b8d8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1233.1430358886719,"y":1192.0001401901245,"z":"d84650d6.6853b","wires":[["cb4295a5.f1dcc8"]]},{"id":"cb4295a5.f1dcc8","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":1401.7144508361816,"y":1191.5715818405151,"z":"d84650d6.6853b","wires":[]},{"id":"3c3e74.be8df18c","type":"switchNode","name":"switch model-customization-id","xml":"<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":1255.5714492797852,"y":722.4643001556396,"z":"d84650d6.6853b","wires":[["53be53bf.12a77c"]]},{"id":"53be53bf.12a77c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1460.5714492797852,"y":722.464282989502,"z":"d84650d6.6853b","wires":[["d793a0f5.080fa"]]},{"id":"d793a0f5.080fa","type":"returnFailure","name":"return failure","xml":"<return 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.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1612.000015258789,"y":722.4642810821533,"z":"d84650d6.6853b","wires":[]},{"id":"45dc498f.a8c298","type":"comment","name":"model-customization-uuid validation moved from validate-vnf-input DG","info":"","comments":"","x":1389.3214492797852,"y":681.4643135070801,"z":"d84650d6.6853b","wires":[]},{"id":"721219a1.3f1ec8","type":"call","name":"call self-serve-vnf-forking-logic","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n","comments":"","outputs":1,"x":557.1428489685059,"y":540.0000171661377,"z":"d84650d6.6853b","wires":[[]]},{"id":"fa2765df.fe5b88","type":"switchNode","name":"switch ss.self-serve-flag","xml":"<switch test=\"`$ss.self-serve-flag`\">\n","comments":"","outputs":1,"x":536.9999237060547,"y":598.4286022186279,"z":"d84650d6.6853b","wires":[["e088e76b.3accb8","5f5b2904.9c0c68"]]},{"id":"e088e76b.3accb8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":763.9999237060547,"y":598.8571872711182,"z":"d84650d6.6853b","wires":[["882bb260.db908"]]},{"id":"5f5b2904.9c0c68","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":768.1427154541016,"y":1146.2859210968018,"z":"d84650d6.6853b","wires":[["f32a4fea.2c96b"]]}] \ 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 b4efe18f..b077d2de 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":"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
+[{"id":"2fd9471b.69af38","type":"dgstart","name":"DGSTART","outputs":1,"x":158.57142639160156,"y":106.6993715763092,"z":"4c9ab6a.7151748","wires":[["e752038e.d1f5a"]]},{"id":"e752038e.d1f5a","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":272.8571319580078,"y":146.93748307228088,"z":"4c9ab6a.7151748","wires":[["d99c33c9.917fc"]]},{"id":"d99c33c9.917fc","type":"method","name":"method vnf-topology-operation-unassign","xml":"<method rpc='vnf-topology-operation-unassign' mode='sync'>\n","comments":"","outputs":1,"x":255.00005340576172,"y":186.6993715763092,"z":"4c9ab6a.7151748","wires":[["d7bc4779.1eda58"]]},{"id":"6b4e98eb.f45fd8","type":"comment","name":"vnf-topology-operation-unassign","info":"","comments":"","x":552.9162826538086,"y":54.28571534156799,"z":"4c9ab6a.7151748","wires":[]},{"id":"57b1a585.c0996c","type":"switchNode","name":"switch request-action","xml":"<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":562.0952377319336,"y":285.5565092563629,"z":"4c9ab6a.7151748","wires":[["95806c13.7cfc4","c0203520.38f9e8"]]},{"id":"95806c13.7cfc4","type":"outcome","name":"DeleteVnfInstance","xml":"<outcome value='DeleteVnfInstance'>\n","comments":"","outputs":1,"x":815.8095321655273,"y":262.69939064979553,"z":"4c9ab6a.7151748","wires":[["510e3baf.6c03d4"]]},{"id":"c0203520.38f9e8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":777.809497833252,"y":308.41371846199036,"z":"4c9ab6a.7151748","wires":[["76420941.8dbeb8"]]},{"id":"510e3baf.6c03d4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1000.6666603088379,"y":262.69942021369934,"z":"4c9ab6a.7151748","wires":[[]]},{"id":"76420941.8dbeb8","type":"returnFailure","name":"return failure","xml":"<return 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":1017.8095054626465,"y":308.41367650032043,"z":"4c9ab6a.7151748","wires":[]},{"id":"d7bc4779.1eda58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":236.9047622680664,"y":580.0327055454254,"z":"4c9ab6a.7151748","wires":[["57b1a585.c0996c","ef167729.c653b8","242976d0.d2fb7a","f9db2fc6.f607d","e75b1912.e02048","b229bc58.834c5","5f46dba8.c562c4"]]},{"id":"ef167729.c653b8","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":548.5714111328125,"y":355.0327351093292,"z":"4c9ab6a.7151748","wires":[["df45106f.9abac"]]},{"id":"df45106f.9abac","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":735.2380905151367,"y":354.3660328388214,"z":"4c9ab6a.7151748","wires":[["3704f169.a2fc9e"]]},{"id":"3704f169.a2fc9e","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":916.9047164916992,"y":354.3660328388214,"z":"4c9ab6a.7151748","wires":[]},{"id":"f9db2fc6.f607d","type":"for","name":"for each vnf","xml":"<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":530.2380905151367,"y":403.36605286598206,"z":"4c9ab6a.7151748","wires":[["29131551.89e82a"]]},{"id":"29131551.89e82a","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":785.2381782531738,"y":402.0327208042145,"z":"4c9ab6a.7151748","wires":[["797c5e5.ac056a"]]},{"id":"797c5e5.ac056a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1023.5714645385742,"y":401.0326988697052,"z":"4c9ab6a.7151748","wires":[["68e43d11.eea054"]]},{"id":"68e43d11.eea054","type":"set","name":"set vnf-index","xml":"<set>\n<parameter name='vnf-index' value='`$idx`' />\n","comments":"","x":1191.9046592712402,"y":401.0327208042145,"z":"4c9ab6a.7151748","wires":[]},{"id":"e75b1912.e02048","type":"switchNode","name":"switch vnf-index","xml":"<switch test='`$vnf-index`'>\n","comments":"","outputs":1,"x":541.9047546386719,"y":450.0327227115631,"z":"4c9ab6a.7151748","wires":[["8227e3f6.9aa9a"]]},{"id":"8227e3f6.9aa9a","type":"other","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":723.5713729858398,"y":449.36605286598206,"z":"4c9ab6a.7151748","wires":[["b4e649ce.eb6988"]]},{"id":"b4e649ce.eb6988","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":890.2380599975586,"y":449.03267884254456,"z":"4c9ab6a.7151748","wires":[]},{"id":"aacab2cf.b24bf","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":1191.698501586914,"y":1084.5562915802002,"z":"4c9ab6a.7151748","wires":[]},{"id":"8a0320db.451c4","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":1712.1760787963867,"y":830.112060546875,"z":"4c9ab6a.7151748","wires":[["cefd1cf4.4bf99"]]},{"id":"d25cea27.cb6248","type":"comment","name":"Remove VNF from service data","info":"","comments":"","x":1154.334846496582,"y":788.6837129592896,"z":"4c9ab6a.7151748","wires":[]},{"id":"cefd1cf4.4bf99","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":1945.7672119140625,"y":829.1360120773315,"z":"4c9ab6a.7151748","wires":[]},{"id":"7a3c4303.9ec5ec","type":"switchNode","name":"switch vnf_length","xml":"<switch test='`$service-data.vnfs.vnf_length`'>\n","comments":"","outputs":1,"x":1198.4339408874512,"y":831.691689491272,"z":"4c9ab6a.7151748","wires":[["9f19ae27.d107e","b366d422.c1b158"]]},{"id":"9f19ae27.d107e","type":"outcome","name":"1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":1375.433982849121,"y":792.3582763671875,"z":"4c9ab6a.7151748","wires":[["68a27479.2c17fc"]]},{"id":"68a27479.2c17fc","type":"set","name":"Remove vnfs","xml":"<set>\n\t<parameter name=\"service-data.vnfs.\" value=\"\"/>\n\n","comments":"","x":1539.1004791259766,"y":792.3583755493164,"z":"4c9ab6a.7151748","wires":[]},{"id":"b366d422.c1b158","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1376.9578742980957,"y":872.834415435791,"z":"4c9ab6a.7151748","wires":[["87575c7b.87768"]]},{"id":"fa8677dd.7dc038","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":1731.730167388916,"y":920.6916341781616,"z":"4c9ab6a.7151748","wires":[]},{"id":"452d1003.58e5f","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":1767.433822631836,"y":875.8026552200317,"z":"4c9ab6a.7151748","wires":[]},{"id":"87575c7b.87768","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1542.7672157287598,"y":876.3581962585449,"z":"4c9ab6a.7151748","wires":[["8a0320db.451c4","452d1003.58e5f","fa8677dd.7dc038"]]},{"id":"75c7b96f.9b29d8","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":641.2380676269531,"y":495.69939255714417,"z":"4c9ab6a.7151748","wires":[["b51a2a52.cee1c8"]]},{"id":"b51a2a52.cee1c8","type":"outcomeFalse","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":945.90478515625,"y":495.3660318851471,"z":"4c9ab6a.7151748","wires":[["4197f006.511ff"]]},{"id":"4197f006.511ff","type":"returnFailure","name":"return failure","xml":"<return 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":1104.2380599975586,"y":494.69935631752014,"z":"4c9ab6a.7151748","wires":[]},{"id":"242976d0.d2fb7a","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":591.5714111328125,"y":581.6993582248688,"z":"4c9ab6a.7151748","wires":[["1d4bad90.637232","d3006cf2.7221a","66c6314f.cac37"]]},{"id":"1d4bad90.637232","type":"outcome","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":820.2380523681641,"y":538.3659994602203,"z":"4c9ab6a.7151748","wires":[["9c08ffe4.4e1f6"]]},{"id":"d3006cf2.7221a","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":818.8094635009766,"y":579.7946569919586,"z":"4c9ab6a.7151748","wires":[["9c08ffe4.4e1f6"]]},{"id":"9c08ffe4.4e1f6","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":967.3809776306152,"y":559.7946579456329,"z":"4c9ab6a.7151748","wires":[[]]},{"id":"66c6314f.cac37","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":818.809513092041,"y":621.2232449054718,"z":"4c9ab6a.7151748","wires":[["e0770e38.daef2"]]},{"id":"e0770e38.daef2","type":"returnFailure","name":"return failure","xml":"<return 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":985.9524078369141,"y":620.7946331501007,"z":"4c9ab6a.7151748","wires":[]},{"id":"ec129d0c.3da5d","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":1339.8411331176758,"y":1028.3333406448364,"z":"4c9ab6a.7151748","wires":[[]]},{"id":"945a4b25.df5d68","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":1241.2697525024414,"y":981.190411567688,"z":"4c9ab6a.7151748","wires":[]},{"id":"8c9c9812.e2add8","type":"comment","name":"check removed with US622450","info":"","comments":"","x":1311.4284362792969,"y":494.28574204444885,"z":"4c9ab6a.7151748","wires":[]},{"id":"fb7893eb.5d51b","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":948.8571472167969,"y":914.2857551574707,"z":"4c9ab6a.7151748","wires":[["7a3c4303.9ec5ec","945a4b25.df5d68","ec129d0c.3da5d","aacab2cf.b24bf"]]},{"id":"b229bc58.834c5","type":"call","name":"call self-serve-vnf-forking-logic","xml":"<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n","comments":"","outputs":1,"x":574.4286956787109,"y":724.285665512085,"z":"4c9ab6a.7151748","wires":[[]]},{"id":"5f46dba8.c562c4","type":"switchNode","name":"switch ss.self-serve-flag","xml":"<switch test=\"`$ss.self-serve-flag`\">\n","comments":"","outputs":1,"x":555.7143096923828,"y":914.14284324646,"z":"4c9ab6a.7151748","wires":[["ac0b2fd9.2b5cb","afe49b4f.f40a98"]]},{"id":"ac0b2fd9.2b5cb","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":771.7143096923828,"y":914.5714282989502,"z":"4c9ab6a.7151748","wires":[["fb7893eb.5d51b"]]},{"id":"8488e183.5299c","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":987.4285736083984,"y":1229.9999895095825,"z":"4c9ab6a.7151748","wires":[["94ec55d8.a11158","fac6e4ae.85d5b8"]]},{"id":"94ec55d8.a11158","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1195.1785583496094,"y":1230.2499780654907,"z":"4c9ab6a.7151748","wires":[["f8e2b999.669308"]]},{"id":"f8e2b999.669308","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":1360.749984741211,"y":1229.8928728103638,"z":"4c9ab6a.7151748","wires":[]},{"id":"fac6e4ae.85d5b8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1199.785732269287,"y":1280.8055124282837,"z":"4c9ab6a.7151748","wires":[["941cfed4.1684d"]]},{"id":"941cfed4.1684d","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":1368.3571472167969,"y":1280.3769540786743,"z":"4c9ab6a.7151748","wires":[]},{"id":"afe49b4f.f40a98","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":772.9999885559082,"y":1230.4285688400269,"z":"4c9ab6a.7151748","wires":[["8488e183.5299c"]]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/resources/graph.versions b/platform-logic/generic-resource-api/src/main/resources/graph.versions
index 94f4fe3f..d59313c1 100755
--- a/platform-logic/generic-resource-api/src/main/resources/graph.versions
+++ b/platform-logic/generic-resource-api/src/main/resources/graph.versions
@@ -118,10 +118,13 @@ GENERIC-RESOURCE-API self-serve-vf-module-assign ${project.version} sync
GENERIC-RESOURCE-API self-serve-vf-module-unassign ${project.version} sync
GENERIC-RESOURCE-API self-serve-vfmodule-changeassign ${project.version} sync
GENERIC-RESOURCE-API self-serve-vfmodule-ra-assignment ${project.version} sync
+GENERIC-RESOURCE-API self-serve-vf-module-forking-logic ${project.version} sync
GENERIC-RESOURCE-API self-serve-vnf-assign ${project.version} sync
GENERIC-RESOURCE-API self-serve-vnf-changeassign ${project.version} sync
GENERIC-RESOURCE-API self-serve-vnf-ra-assignment ${project.version} sync
GENERIC-RESOURCE-API self-serve-vnf-unassign ${project.version} sync
+GENERIC-RESOURCE-API self-serve-vnf-forking-logic ${project.version} sync
+
GENERIC-RESOURCE-API service-topology-operation-assign ${project.version} sync
GENERIC-RESOURCE-API service-topology-operation-changeassign ${project.version} sync
GENERIC-RESOURCE-API service-topology-operation-deactivate ${project.version} sync
@@ -210,15 +213,3 @@ GENERIC-RESOURCE-API wan-connection-topology-operation-create ${project.version}
GENERIC-RESOURCE-API wan-connection-topology-operation-activate ${project.version} sync
GENERIC-RESOURCE-API wan-connection-topology-operation-deactivate ${project.version} sync
GENERIC-RESOURCE-API wan-connection-topology-operation-delete ${project.version} sync
-
-
-
-
-
-
-
-
-
-
-
-
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
index acbda514..2cf8ee17 100644
--- 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
@@ -4241,11 +4241,17 @@
<parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>
</record>
<for silentFailure='true' index='n' start='0' end='`$nidx`' >
+ <set>
+ <parameter name='tmp.related-link' value="`'/aai/v$/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />
+ <!--
+<parameter name='tmp.related-link' value="`'/aai/' + $prop.aai.version + '/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />
+-->
+ </set>
<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" >
+ AND relationship.related-link = $tmp.related-link" >
<outcome value='failure'>
<block atomic='true'>
<set>
@@ -4269,7 +4275,7 @@
</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!'`" />
+ <parameter name='error-message' value="`$error-message + ' l3-network relationship with related-path = ' + $tmp.related-path + ' not found in AAI. Consider silent success!'`" />
</set>
</outcome>
<outcome value='success'>
@@ -4575,11 +4581,17 @@
<parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>
</record>
<for silentFailure='true' index='n' start='0' end='`$nidx`' >
+ <set>
+ <parameter name='tmp.related-link' value="`'/aai/v$/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />
+ <!--
+<parameter name='tmp.related-link' value="`'/aai/' + $prop.aai.version + '/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />
+-->
+ </set>
<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" >
+ AND relationship.related-link = $tmp.related-link" >
<outcome value='failure'>
<block atomic='true'>
<set>
@@ -4603,7 +4615,7 @@
</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!'`" />
+ <parameter name='error-message' value="`$error-message + ' l3-network relationship with related-path = ' + $tmp.related-path + ' not found in AAI. Consider silent success!'`" />
</set>
</outcome>
<outcome value='success'>
@@ -4971,11 +4983,17 @@
<parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>
</record>
<for silentFailure='true' index='n' start='0' end='`$nidx`' >
+ <set>
+ <parameter name='tmp.related-link' value="`'/aai/v$/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />
+ <!--
+<parameter name='tmp.related-link' value="`'/aai/' + $prop.aai.version + '/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />
+-->
+ </set>
<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" >
+ AND relationship.related-link = $tmp.related-link" >
<outcome value='failure'>
<block atomic='true'>
<set>
@@ -4999,7 +5017,7 @@
</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!'`" />
+ <parameter name='error-message' value="`$error-message + ' l3-network relationship with related-path = ' + $tmp.related-path + ' not found in AAI. Consider silent success!'`" />
</set>
</outcome>
<outcome value='success'>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.xml
index cf3447f7..d59d3140 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-capability-param-resolution.xml
@@ -5,186 +5,182 @@
<block atomic='true'>
<switch test="`$ss.capability-type`">
<outcome value='vnf'>
- <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'>
- <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`' >
- <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[$i].resource-resolution-data.resource-key[$j].value`" />
- <parameter name="target" value="$"/>
- <outcome value='true'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: param[].value with leading $: ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`"/>
- </record>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='resource-resolution-split' />
- <parameter name='original_string' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`' />
- <parameter name='regex' value='\$\{' />
- </execute>
- <set>
- <parameter name="tmp.s1" value='`$resource-resolution-split[0]`'/>
- <parameter name="tmp.resolved.var.value" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`'/>
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='s2' />
- <parameter name='original_string' value='`$resource-resolution-split[1]`' />
- <parameter name='regex' value='\}' />
- </execute>
- <switch test='`$s2_length`'>
- <outcome value='1'>
- <set>
- <parameter name="tmp.s2.s1" value='`$s2[0]`'/>
- </set>
- </outcome>
- <outcome value='2'>
- <block>
- <set>
- <parameter name="tmp.s2.s1" value='`$s2[0]`'/>
- </set>
- <set>
- <parameter name="tmp.s2.s2" value='`$s2[1]`'/>
- </set>
- </block>
- </outcome>
- </switch>
- <for index='cn' 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[$cn].name == $tmp.s2.s1`'>
+ <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length == ''`">
+ <outcome value='false'>
+ <for silentFailure='true' 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'>
+ <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key_length == ''`">
+ <outcome value='false'>
+ <for silentFailure='true' 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`' >
+ <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[$i].resource-resolution-data.resource-key[$j].value`" />
+ <parameter name="target" value="$"/>
<outcome value='true'>
- <set>
- <parameter name='tmp.resolved.var.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cn].value`'/>
- </set>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="`'SS: param[].value with leading $: ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`"/>
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='resource-resolution-split' />
+ <parameter name='original_string' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`' />
+ <parameter name='regex' value='\$\{' />
+ </execute>
+ <set>
+ <parameter name="tmp.s1" value='`$resource-resolution-split[0]`'/>
+ <parameter name="tmp.s2.s2" value=''/>
+ <parameter name="tmp.resolved.var.value" value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='s2' />
+ <parameter name='original_string' value='`$resource-resolution-split[1]`' />
+ <parameter name='regex' value='\}' />
+ </execute>
+ <switch test='`$s2_length`'>
+ <outcome value='1'>
+ <set>
+ <parameter name="tmp.s2.s1" value='`$s2[0]`'/>
+ </set>
+ </outcome>
+ <outcome value='2'>
+ <block>
+ <set>
+ <parameter name="tmp.s2.s1" value='`$s2[0]`'/>
+ </set>
+ <set>
+ <parameter name="tmp.s2.s2" value='`$s2[1]`'/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='cn' 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[$cn].name == $tmp.s2.s1`'>
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.resolved.var.value' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$cn].value`'/>
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
+ <parameter name='source' value='`$tmp.s1`' />
+ <parameter name='target' value='`$tmp.resolved.var.value`' />
+ <parameter name='outputPath' value='tmp.result' />
+ </execute>
+ <switch test="`$tmp.s2.s2 == ''`">
+ <outcome value='true'></outcome>
+ <outcome value='false'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
+ <parameter name='source' value='`$tmp.result`' />
+ <parameter name='target' value='`$tmp.s2.s2`' />
+ <parameter name='outputPath' value='tmp.result' />
+ </execute>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`' value='`$tmp.result`'/>
+ </set>
+ </block>
</outcome>
- </switch>
+ </execute>
</for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
- <parameter name='source' value='`$tmp.s1`' />
- <parameter name='target' value='`$tmp.resolved.var.value`' />
- <parameter name='outputPath' value='tmp.result' />
- </execute>
- <switch test='`$tmp.s2.s2`'>
- <outcome value=''></outcome>
- <outcome value='Other'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
- <parameter name='source' value='`$tmp.result`' />
- <parameter name='target' value='`$tmp.s2.s2`' />
- <parameter name='outputPath' value='tmp.result' />
- </execute>
- </outcome>
- </switch>
- <set>
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`' value='`$tmp.result`'/>
- </set>
- <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[$i].resource-resolution-data.resource-key[$j].value`" />
- <parameter name="target" value="$"/>
- <outcome value='true'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value= "`'Not able to resolve Capability ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name + ':' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`" />
- </return>
- </outcome>
- </execute>
- </block>
- </outcome>
- </execute>
- </for>
- </outcome>
- </switch>
- </for>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
</outcome>
<outcome value='vf-module'>
- <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'>
- <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`' >
- <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[$i].resource-resolution-data.resource-key[$j].value`" />
- <parameter name="target" value="$"/>
- <outcome value='true'>
- <block atomic='true'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="`'SS: param[].value with leading $: ' + $service-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>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='resource-resolution-split' />
- <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[$i].resource-resolution-data.resource-key[$j].value`' />
- <parameter name='regex' value='\$\{' />
- </execute>
- <set>
- <parameter name="tmp.s1" value='`$resource-resolution-split[0]`'/>
- <parameter name="tmp.resolved.var.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[$i].resource-resolution-data.resource-key[$j].value`'/>
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='s2' />
- <parameter name='original_string' value='`$resource-resolution-split[1]`' />
- <parameter name='regex' value='\}' />
- </execute>
- <switch test='`$s2_length`'>
- <outcome value='1'>
- <set>
- <parameter name="tmp.s2.s1" value='`$s2[0]`'/>
- </set>
- </outcome>
- <outcome value='2'>
- <block>
- <set>
- <parameter name="tmp.s2.s1" value='`$s2[0]`'/>
- </set>
- <set>
- <parameter name="tmp.s2.s2" value='`$s2[1]`'/>
- </set>
- </block>
- </outcome>
- </switch>
- <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 == $tmp.s2.s1`'>
+ <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='false'>
+ <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-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'>
+ <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_length == ''`">
+ <outcome value='false'>
+ <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-parameters.param[$i].resource-resolution-data.resource-key_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[$i].resource-resolution-data.resource-key[$j].value`" />
+ <parameter name="target" value="$"/>
<outcome value='true'>
- <set>
- <parameter name='tmp.resolved.var.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[$cn].value`'/>
- </set>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="`'SS: param[].value with leading $: ' + $service-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>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='resource-resolution-split' />
+ <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[$i].resource-resolution-data.resource-key[$j].value`' />
+ <parameter name='regex' value='\$\{' />
+ </execute>
+ <set>
+ <parameter name="tmp.s1" value='`$resource-resolution-split[0]`'/>
+ <parameter name="tmp.s2.s2" value=''/>
+ <parameter name="tmp.resolved.var.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[$i].resource-resolution-data.resource-key[$j].value`'/>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='s2' />
+ <parameter name='original_string' value='`$resource-resolution-split[1]`' />
+ <parameter name='regex' value='\}' />
+ </execute>
+ <switch test='`$s2_length`'>
+ <outcome value='1'>
+ <set>
+ <parameter name="tmp.s2.s1" value='`$s2[0]`'/>
+ </set>
+ </outcome>
+ <outcome value='2'>
+ <block>
+ <set>
+ <parameter name="tmp.s2.s1" value='`$s2[0]`'/>
+ </set>
+ <set>
+ <parameter name="tmp.s2.s2" value='`$s2[1]`'/>
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <for silentFailure='true' 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 == $tmp.s2.s1`'>
+ <outcome value='true'>
+ <set>
+ <parameter name='tmp.resolved.var.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[$cn].value`'/>
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
+ <parameter name='source' value='`$tmp.s1`' />
+ <parameter name='target' value='`$tmp.resolved.var.value`' />
+ <parameter name='outputPath' value='tmp.result' />
+ </execute>
+ <switch test="`$tmp.s2.s2 == ''`">
+ <outcome value='true'></outcome>
+ <outcome value='false'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
+ <parameter name='source' value='`$tmp.result`' />
+ <parameter name='target' value='`$tmp.s2.s2`' />
+ <parameter name='outputPath' value='tmp.result' />
+ </execute>
+ </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[$i].resource-resolution-data.resource-key[$j].value`' value='`$tmp.result`'/>
+ </set>
+ </block>
</outcome>
- </switch>
+ </execute>
</for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
- <parameter name='source' value='`$tmp.s1`' />
- <parameter name='target' value='`$tmp.resolved.var.value`' />
- <parameter name='outputPath' value='tmp.result' />
- </execute>
- <switch test='`$tmp.s2.s2`'>
- <outcome value=''></outcome>
- <outcome value='Other'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat'>
- <parameter name='source' value='`$tmp.result`' />
- <parameter name='target' value='`$tmp.s2.s2`' />
- <parameter name='outputPath' value='tmp.result' />
- </execute>
- </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[$i].resource-resolution-data.resource-key[$j].value`' value='`$tmp.result`'/>
- </set>
- <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[$i].resource-resolution-data.resource-key[$j].value`" />
- <parameter name="target" value="$"/>
- <outcome value='true'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value= "`'Not able to resolve Capability ' + $service-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 + ':' + $service-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`" />
- </return>
- </outcome>
- </execute>
- </block>
- </outcome>
- </execute>
- </for>
- </outcome>
- </switch>
- </for>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
</outcome>
</switch>
</block>
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
index ba153ffe..6456f73b 100644
--- 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
@@ -43,7 +43,7 @@
</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;}]'`"/>
+ <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`' />
@@ -75,11 +75,8 @@
</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`' />
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id " >
+ <parameter name="vnf-name" value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$ss.input.param.index].value`' />
<outcome value='failure'>
<block atomic='true'>
<set>
@@ -132,7 +129,7 @@
</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;}]'`"/>
+ <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`' />
@@ -162,11 +159,9 @@
</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`' />
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module" key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id AND vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id " >
+ <parameter name="vf-module-name" value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$ss.input.param.index].value`' />
<outcome value='failure'>
<block atomic='true'>
<set>
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 ba373a26..527ac845 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
@@ -6,10 +6,6 @@
<set>
<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />
</set>
- <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
- <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
- <parameter name='contextPrefix' value='prop' />
- </execute>
<call module='GENERIC-RESOURCE-API' rpc='self-serve-capability-param-resolution' mode='sync' >
<outcome value='failure'>
<return status='failure'>
@@ -31,22 +27,18 @@
<block>
<switch test="`$ss.capability-action == 'unassign'`">
<outcome value='true'>
- <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <for silentFailure='true' 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 + '{'`" />
- <parameter name='tmp.gen-name_length' value='1' />
</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 silentFailure='true' 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`' >
<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'`">
<outcome value='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.gen-name[0].element[$j].name`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name`"/>
- <parameter name="`tmp.gen-name[0].element[$j].value`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`"/>
- <parameter name="`tmp.gen-name[0].element_length`" value='`$j + 1`' />
</set>
</outcome>
</switch>
@@ -69,14 +61,9 @@
<parameter name='target' value=',]' />
<parameter name='replacement' value=']' />
</execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`" />
- <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />
- <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />
- <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='DELETE' />
- <parameter name="responsePrefix" value="nameGenResponse" />
+ <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.UnAssignNameNode' method='process'>
+ <parameter name='payload' value='`$tmp.naming-data-payload`' />
+ <parameter name="prifix" value="nameGenResponse" />
<outcome value='failure'>
<block>
<set>
@@ -103,15 +90,15 @@
</outcome>
</execute>
<execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">
- <parameter name="source" value="nameGenResponse.httpResponse" />
+ <parameter name="source" value="nameGenResponse.response-payload" />
<parameter name="outputPath" value="jsonContextPrefix" />
<parameter name="isEscaped" value="false" />
</execute>
<set>
<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='DELETED' />
</set>
- <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >
- <for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <for silentFailure='true' index='n' start='0' end='`$jsonContextPrefix.elements_length`' >
+ <for silentFailure='true' 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="$"/>
@@ -150,26 +137,21 @@
<block atomic='true'>
<set>
<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />
- <parameter name='tmp.gen-name_length' value='0' />
</set>
- <for index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <for silentFailure='true' 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 + '{'`" />
</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 silentFailure='true' 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;,'`"/>
- <parameter name="`tmp.gen-name[$tmp.gen-name_length].element[$j].name`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].name`"/>
- <parameter name="`tmp.gen-name[$tmp.gen-name_length].element[$j].value`" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.resource-key[$j].value`"/>
- <parameter name="`tmp.gen-name[$tmp.gen-name_length].element_length`" value='`$j + 1`' />
</set>
</for>
<set>
<parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />
- <parameter name='tmp.gen-name_length' value='`$tmp.gen-name_length + 1`' />
</set>
</block>
</outcome>
@@ -193,14 +175,9 @@
<parameter name='target' value=',]' />
<parameter name='replacement' value=']' />
</execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`" />
- <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />
- <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />
- <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='POST' />
- <parameter name="responsePrefix" value="nameGenResponse" />
+ <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>
+ <parameter name='payload' value='`$tmp.naming-data-payload`' />
+ <parameter name="prifix" value="nameGenResponse" />
<outcome value='failure'>
<block>
<set>
@@ -227,15 +204,15 @@
</outcome>
</execute>
<execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">
- <parameter name="source" value="nameGenResponse.httpResponse" />
+ <parameter name="source" value="nameGenResponse.response-payload" />
<parameter name="outputPath" value="jsonContextPrefix" />
<parameter name="isEscaped" value="false" />
</execute>
<set>
<parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].resource-resolution-data.status`' value='SUCCESS' />
</set>
- <for index='n' start='0' end='`$jsonContextPrefix.elements_length`' >
- <for index='l' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <for silentFailure='true' index='n' start='0' end='`$jsonContextPrefix.elements_length`' >
+ <for silentFailure='true' 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="$"/>
@@ -263,22 +240,6 @@
</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>
@@ -293,22 +254,18 @@
<block>
<switch test="`$ss.capability-action == 'unassign'`">
<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`' >
+ <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-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 + '{'`" />
- <parameter name='tmp.gen-name_length' value='1' />
</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`' >
+ <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-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[$j].name == 'external-key'`">
<outcome value='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.gen-name[0].element[$j].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].resource-resolution-data.resource-key[$j].name`"/>
- <parameter name="`tmp.gen-name[0].element[$j].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[$i].resource-resolution-data.resource-key[$j].value`"/>
- <parameter name="`tmp.gen-name[0].element_length`" value='`$j + 1`' />
</set>
</outcome>
</switch>
@@ -331,14 +288,9 @@
<parameter name='target' value=',]' />
<parameter name='replacement' value=']' />
</execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`" />
- <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />
- <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />
- <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='DELETE' />
- <parameter name="responsePrefix" value="nameGenResponse" />
+ <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.UnAssignNameNode' method='process'>
+ <parameter name='payload' value='`$tmp.naming-data-payload`' />
+ <parameter name="prifix" value="nameGenResponse" />
<outcome value='failure'>
<block>
<set>
@@ -365,15 +317,15 @@
</outcome>
</execute>
<execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">
- <parameter name="source" value="nameGenResponse.httpResponse" />
+ <parameter name="source" value="nameGenResponse.response-payload" />
<parameter name="outputPath" value="jsonContextPrefix" />
<parameter name="isEscaped" value="false" />
</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.vf-module-parameters.param[$i].resource-resolution-data.status`' value='DELETED' />
</set>
- <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`' >
+ <for silentFailure='true' index='n' start='0' end='`$jsonContextPrefix.elements_length`' >
+ <for silentFailure='true' 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="$"/>
@@ -412,26 +364,21 @@
<block atomic='true'>
<set>
<parameter name='tmp.naming-data-payload' value='{&quot;elements&quot;:[' />
- <parameter name='tmp.gen-name_length' value='0' />
</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`' >
+ <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-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 + '{'`" />
</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`' >
+ <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-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;,'`"/>
- <parameter name="`tmp.gen-name[$tmp.gen-name_length].element[$j].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].resource-resolution-data.resource-key[$j].name`"/>
- <parameter name="`tmp.gen-name[$tmp.gen-name_length].element[$j].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[$i].resource-resolution-data.resource-key[$j].value`"/>
- <parameter name="`tmp.gen-name[$tmp.gen-name_length].element_length`" value='`$j + 1`' />
</set>
</for>
<set>
<parameter name='tmp.naming-data-payload' value="`$tmp.naming-data-payload + '},'`" />
- <parameter name='tmp.gen-name_length' value='`$tmp.gen-name_length + 1`' />
</set>
</block>
</outcome>
@@ -455,14 +402,9 @@
<parameter name='target' value=',]' />
<parameter name='replacement' value=']' />
</execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.naming.gen-name.templatefile`" />
- <parameter name='restapiUrl' value='`$prop.naming.gen-name.url + $prop.restapi.naming.gen-name.service`' />
- <parameter name='restapiUser' value='`$prop.naming.gen-name.user`' />
- <parameter name='restapiPassword' value='`$prop.naming.gen-name.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='POST' />
- <parameter name="responsePrefix" value="nameGenResponse" />
+ <execute plugin='org.openecomp.sdnc.prov.namegeneration.node.AssignNameNode' method='process'>
+ <parameter name='payload' value='`$tmp.naming-data-payload`' />
+ <parameter name="prifix" value="nameGenResponse" />
<outcome value='failure'>
<block>
<set>
@@ -489,74 +431,15 @@
</outcome>
</execute>
<execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="jsonStringToCtx">
- <parameter name="source" value="nameGenResponse.httpResponse" />
+ <parameter name="source" value="nameGenResponse.response-payload" />
<parameter name="outputPath" value="jsonContextPrefix" />
<parameter name="isEscaped" value="false" />
</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.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`' >
+ <for silentFailure='true' index='n' start='0' end='`$jsonContextPrefix.elements_length`' >
+ <for silentFailure='true' 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="$"/>
@@ -584,22 +467,6 @@
</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>
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
index 15b4e625..ce0905a8 100644
--- 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
@@ -248,7 +248,7 @@
<outcome value=''>
<return status='failure'>
<parameter name='error-code' value='500' />
- <parameter name='error-message' value='Unable to resolve vnf-name' />
+ <parameter name='error-message' value='Unable to resolve vnfc-name' />
</return>
</outcome>
</switch>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.xml
index 58bb677f..eab4d555 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.xml
@@ -30,7 +30,7 @@
</return>
</outcome>
<outcome value='vnf'>
- <for index="pidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">
+ <for silentFailure='true' index="pidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">
<set>
<parameter name='tmp.ss.param.capability-name'
value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$pidx].resource-resolution-data.capability-name`' />
@@ -85,7 +85,7 @@
<parameter name="regex" value=","/>
<parameter name="ctx_memory_result_key" value="splits" />
</execute>
- <for index="split-index" start="0" end="`$splits_length`">
+ <for silentFailure='true' index="split-index" start="0" end="`$splits_length`">
<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='trim' >
<parameter name="source" value="`$splits[$split-index]`" />
<parameter name="outputPath" value="tmp.ss.trim"/>
@@ -113,7 +113,7 @@
</record>
<switch test='`$ss.capability-type`'>
<outcome value='vnf'>
- <for index="i" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">
+ <for silentFailure='true' index="i" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">
<set>
<parameter name='tmp.ss.param-name'
value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name`' />
@@ -132,7 +132,7 @@
</for>
</outcome>
<outcome value='vf-module'>
- <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`">
+ <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-parameters.param_length`">
<set>
<parameter name='tmp.ss.param-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].name`' />
@@ -231,7 +231,7 @@
</for>
</outcome>
<outcome value='vf-module'>
- <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`">
+ <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`' />
@@ -286,7 +286,7 @@
<parameter name="regex" value=","/>
<parameter name="ctx_memory_result_key" value="splits" />
</execute>
- <for index="split-index" start="0" end="`$splits_length`">
+ <for silentFailure='true' index="split-index" start="0" end="`$splits_length`">
<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='trim' >
<parameter name="source" value="`$splits[$split-index]`" />
<parameter name="outputPath" value="tmp.ss.trim"/>
@@ -314,7 +314,7 @@
</record>
<switch test='`$ss.capability-type`'>
<outcome value='vnf'>
- <for index="i" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">
+ <for silentFailure='true' index="i" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`">
<set>
<parameter name='tmp.ss.param-name'
value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$i].name`' />
@@ -333,7 +333,7 @@
</for>
</outcome>
<outcome value='vf-module'>
- <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`">
+ <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-parameters.param_length`">
<set>
<parameter name='tmp.ss.param-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].name`' />
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 33f6f35c..e39ba78e 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
@@ -179,14 +179,15 @@
<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='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' />
+ <parameter name='ss.capability.execution-order[5]' value='eipam-ip-assignment' />
+ <parameter name='ss.capability.execution-order[6]' value='eipam-create-pool' />
+ <parameter name='ss.capability.execution-order[7]' value='netbox-ip-assign' />
+ <parameter name='ss.capability.execution-order[8]' value='mac-address-assign' />
+ <parameter name='ss.capability.execution-order[9]' value='mS-mac-address-assign' />
+ <parameter name='ss.capability.execution-order[10]' value='create-vpe-pool' />
+ <parameter name='ss.capability.execution-order[11]' value='unresolved-composite-data' />
+ <parameter name='ss.capability.execution-order[12]' value='aai-vf-module-put' />
+ <parameter name='ss.capability.execution-order_length' value='13' />
</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=''>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.xml
new file mode 100644
index 00000000..bbec5b34
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.xml
@@ -0,0 +1,85 @@
+<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-vf-module-forking-logic' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.exist.sdnc-model-name' value='false' />
+ <parameter name='tmp.exist.vf_module_label' value='false' />
+ </set>
+ <switch test="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`">
+ <outcome value=''>
+ <set>
+ <parameter name='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='p' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >
+ <switch test="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$p].name`">
+ <outcome value='sdnc_model_name'>
+ <set>
+ <parameter name='tmp.exist.sdnc-model-name' value='true' />
+ </set>
+ </outcome>
+ <outcome value='vf_module_label'>
+ <set>
+ <parameter name='tmp.exist.vf_module_label' value='true' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.vf_module_label == 'true'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='ss.self-serve-flag' value='true' />
+ </set>
+ </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 to determine self-serve forking criteria" />
+ </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'>
+ <set>
+ <parameter name='ss.self-serve-flag' value='true' />
+ </set>
+ </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 to determine self-serve forking criteria" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='ss.self-serve-flag' value='false' />
+ </set>
+ </outcome>
+ </get-resource>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='ss.self-serve-flag' value='false' />
+ </set>
+ </outcome>
+ </get-resource>
+ </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-vf-module-unassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-unassign.xml
index 4ca47e63..28735a9b 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
@@ -7,12 +7,13 @@
<parameter name='ss.capability.execution-order[0]' value='mac-address-assign' />
<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' />
+ <parameter name='ss.capability.execution-order[3]' value='netbox-ip-assign' />
+ <parameter name='ss.capability.execution-order[4]' value='vlan-tag-assign' />
+ <parameter name='ss.capability.execution-order[5]' value='mS-vlan-tag-assign' />
+ <parameter name='ss.capability.execution-order[6]' value='alts-license-assign' />
+ <parameter name='ss.capability.execution-order[7]' value='alts-entitlement-assign' />
+ <parameter name='ss.capability.execution-order[8]' value='generate-name' />
+ <parameter name='ss.capability.execution-order_length' value='9' />
</set>
<set>
<parameter name='ss.capability-type' value='vf-module' />
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
index 5b98ce48..5aed4fc8 100644
--- 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
@@ -13,24 +13,23 @@
</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'>
+ <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='false'>
+ <block atomic='true'>
+ <set>
+ <parameter name='ss.input.param.found.in.service.param' value='false' />
+ </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_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`' />
+ <parameter name='ss.input.param.found.in.service.param' value='true' />
+ <parameter name='ss.capability-type' value='vf-module' />
+ <parameter name='ss.capability-action' value='changeassign' />
</set>
<call module='GENERIC-RESOURCE-API' rpc='self-serve-generate-name-changeassign' mode='sync' >
<outcome value='failure'>
@@ -48,13 +47,23 @@
</return>
</outcome>
</call>
+ <return status='success'></return>
</block>
</outcome>
</switch>
</for>
- </outcome>
- </switch>
- </block>
+ <switch test='`$ss.input.param.found.in.service.param`'>
+ <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>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
</for>
</block>
</method>
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 ff6decab..8a91cdec 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
@@ -34,7 +34,7 @@
</set>
</outcome>
</switch>
- <for index='i' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >
+ <for silentFailure='true' index='i' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >
<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].name`'>
<outcome value='sdnc_model_name'>
<set>
@@ -151,14 +151,14 @@
<parameter name="outputPath" value="jsonContextPrefix" />
<parameter name="isEscaped" value="false" />
</execute>
- <for index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >
+ <for silentFailure='true' index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >
<block atomic="true">
<set>
<parameter name='tmp.mso.param.found' value='false' />
</set>
<switch test='`$prehighnum &gt; 0`'>
<outcome value='true'>
- <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`' >
+ <for silentFailure='true' 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`' >
<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`'>
<outcome value='true'>
<set>
@@ -172,56 +172,60 @@
</switch>
<switch test='`$tmp.mso.param.found`'>
<outcome value='false'>
- <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[$highnum].name`' value='`$jsonContextPrefix.resource-accumulator-resolved-data[$i].param-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-parameters.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.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`'/>
+ <parameter name='`service-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`'/>
+ <parameter name='`service-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='RA Resolved'/>
+ <parameter name='`service-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='SUCCESS'/>
+ </set>
+ <set>
+ <parameter name='highnum' value='`$highnum + 1`' />
+ </set>
+ </block>
</outcome>
</switch>
</block>
</for>
- <for index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >
- <block atomic="true">
- <set>
- <parameter name='num' value='0' />
- </set>
- <for index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >
- <block atomic='true'>
- <for index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >
- <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[$highnum].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-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-parameters.param[$highnum].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-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[$highnum].resource-resolution-data.capability-name`' value='`$jsonContextPrefix.capability-data[$i].capability-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-parameters.param[$highnum].resource-resolution-data.status`' value='PENDING'/>
- </set>
- <switch test="`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`">
- <outcome value='true'></outcome>
- <outcome value='false'>
- <for index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >
- <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[$highnum].resource-resolution-data.resource-key[$num].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-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-parameters.param[$highnum].resource-resolution-data.resource-key[$num].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-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[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>
- <parameter name='num' value='`$num + 1`' />
- </set>
- </block>
- </for>
- </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_length`' value='`$highnum + 1`'/>
- <parameter name='highnum' value='`$highnum + 1`' />
- </set>
- </block>
- </for>
+ <for silentFailure='true' index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >
+ <for silentFailure='true' index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >
+ <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[$highnum].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-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-parameters.param[$highnum].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping[$l].resource-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[$highnum].resource-resolution-data.capability-name`' value='`$jsonContextPrefix.capability-data[$i].capability-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-parameters.param[$highnum].resource-resolution-data.status`' value='PENDING'/>
+ <parameter name='num' value='0' />
+ </set>
+ <switch test="`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`">
+ <outcome value='true'></outcome>
+ <outcome value='false'>
+ <for index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >
+ <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[$highnum].resource-resolution-data.resource-key[$num].name`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-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-parameters.param[$highnum].resource-resolution-data.resource-key[$num].value`' value='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload[$k].param-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[$highnum].resource-resolution-data.resource-key_length`' value='`$num + 1`'/>
+ </set>
+ <set>
+ <parameter name='num' value='`$num + 1`' />
+ </set>
+ </block>
+ </for>
+ </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_length`' value='`$highnum + 1`'/>
+ </set>
+ <set>
+ <parameter name='highnum' value='`$highnum + 1`' />
+ </set>
</block>
</for>
- </block>
+ </for>
</for>
</block>
</method>
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 bc92ba07..c8b52b29 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
@@ -170,9 +170,9 @@
<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='mS-vlan-tag-assign' />
- <parameter name='ss.capability.execution-order[5]' value='eipam-ip-assign' />
- <parameter name='ss.capability.execution-order[6]' value='netbox-ip-assign' />
- <parameter name='ss.capability.execution-order[7]' value='eipam-create-pool"' />
+ <parameter name='ss.capability.execution-order[5]' value='eipam-ip-assignment' />
+ <parameter name='ss.capability.execution-order[6]' value='eipam-create-pool' />
+ <parameter name='ss.capability.execution-order[7]' value='netbox-ip-assign' />
<parameter name='ss.capability.execution-order[8]' value='mac-address-assign' />
<parameter name='ss.capability.execution-order[9]' value='mS-mac-address-assign' />
<parameter name='ss.capability.execution-order[10]' value='create-vpe-pool' />
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
index dc7b1609..4e049468 100644
--- 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
@@ -2,7 +2,7 @@
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">
+ <block atomic='true'>
<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`'>
<outcome value=''>
<return status='failure'>
@@ -13,24 +13,23 @@
</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'>
+ <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length == ''`">
+ <outcome value='false'>
+ <block atomic='true'>
+ <set>
+ <parameter name='ss.input.param.found.in.service.param' value='false' />
+ </set>
<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`' />
+ <parameter name='ss.input.param.found.in.service.param' value='true' />
+ <parameter name='ss.capability-type' value='vnf' />
+ <parameter name='ss.capability-action' value='changeassign' />
</set>
<call module='GENERIC-RESOURCE-API' rpc='self-serve-generate-name-changeassign' mode='sync' >
<outcome value='failure'>
@@ -48,13 +47,23 @@
</return>
</outcome>
</call>
+ <return status='success'></return>
</block>
</outcome>
</switch>
</for>
- </outcome>
- </switch>
- </block>
+ <switch test='`$ss.input.param.found.in.service.param`'>
+ <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>
+ </switch>
+ </block>
+ </outcome>
+ </switch>
</for>
</block>
</method>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.xml
new file mode 100644
index 00000000..3570e5d7
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.xml
@@ -0,0 +1,54 @@
+<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-forking-logic' mode='sync'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.exist.sdnc-model-name' value='false' />
+ <parameter name='tmp.exist.sdnc-artifact-name' value='false' />
+ </set>
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`">
+ <outcome value=''>
+ <set>
+ <parameter name='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='p' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >
+ <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$p].name`">
+ <outcome value='sdnc_model_name'>
+ <set>
+ <parameter name='tmp.exist.sdnc-model-name' value='true' />
+ </set>
+ </outcome>
+ <outcome value='sdnc_artifact_name'>
+ <set>
+ <parameter name='tmp.exist.sdnc-artifact-name' value='true' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ <switch test="`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.sdnc-artifact-name == 'true'`">
+ <outcome value='true'>
+ <set>
+ <parameter name='ss.self-serve-flag' value='true' />
+ </set>
+ </outcome>
+ <outcome value='false'>
+ <switch test="`$db.vf-model.sdnc-model-name != '' and $db.vf-model.sdnc-artifact-name != ''`">
+ <outcome value='true'>
+ <set>
+ <parameter name='ss.self-serve-flag' value='true' />
+ </set>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='ss.self-serve-flag' value='false' />
+ </set>
+ </outcome>
+ </switch>
+ </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-vnf-ra-assignment.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.xml
index 78a0282f..5d3ec7eb 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
@@ -34,7 +34,7 @@
</set>
</outcome>
</switch>
- <for index='i' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >
+ <for silentFailure='true' index='i' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >
<block atomic="true">
<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name`'>
<outcome value='sdnc_model_name'>
@@ -126,14 +126,14 @@
<parameter name="outputPath" value="jsonContextPrefix" />
<parameter name="isEscaped" value="false" />
</execute>
- <for index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >
+ <for silentFailure='true' index='i' start='0' end='`$jsonContextPrefix.resource-accumulator-resolved-data_length`' >
<block atomic="true">
<set>
<parameter name='tmp.mso.param.found' value='false' />
</set>
<switch test='`$prehighnum &gt; 0`'>
<outcome value='true'>
- <for index='cnt' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param_length`' >
+ <for silentFailure='true' index='cnt' 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[$cnt].name == $jsonContextPrefix.resource-accumulator-resolved-data[$i].param-name`'>
<outcome value='true'>
<set>
@@ -151,6 +151,8 @@
<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='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.capability-name`' value='RA Resolved'/>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.status`' value='SUCCESS'/>
</set>
<set>
<parameter name='highnum' value='`$highnum + 1`' />
@@ -160,51 +162,45 @@
</switch>
</block>
</for>
- <for index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >
- <block atomic="true">
- <set>
- <parameter name='num' value='0' />
- </set>
- <for index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >
+ <for silentFailure='true' index='i' start='0' end='`$jsonContextPrefix.capability-data_length`' >
+ <for silentFailure='true' index='j' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping_length`' >
+ <for silentFailure='true' index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >
<block atomic="true">
- <for index='l' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].output-key-mapping_length`' >
- <block atomic="true">
- <set>
- <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`'/>
- <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`'/>
- <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`'/>
- <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.status`' value='PENDING'/>
- </set>
- <switch test="`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`">
- <outcome value='true'></outcome>
- <outcome value='false'>
- <for index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >
- <set>
- <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`'/>
- <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`'/>
- <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>
- </for>
+ <set>
+ <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`'/>
+ <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`'/>
+ <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`'/>
+ <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$highnum].resource-resolution-data.status`' value='PENDING'/>
+ <parameter name='num' value='0' />
+ </set>
+ <switch test="`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length == ''`">
+ <outcome value='true'></outcome>
+ <outcome value='false'>
+ <for silentFailure='true' index='k' start='0' end='`$jsonContextPrefix.capability-data[$i].key-mapping[$j].payload_length`' >
+ <block atomic="true">
+ <set>
+ <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`'/>
+ <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`'/>
+ </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>
+ </block>
+ </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>
</for>
- </block>
+ </for>
</for>
</block>
</method>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vf-module-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vf-module-input.xml
index fd660a94..82bf08ed 100755
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vf-module-input.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vf-module-input.xml
@@ -89,17 +89,6 @@
</switch>
</block>
</outcome>
- <outcome value='changeassign'>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>
- <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.onap-model-information.model-customization-uuid is a required input" />
- </return>
- </outcome>
- </switch>
- </outcome>
</switch>
</block>
</method>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml
index 1c8c64c5..bb60391c 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-vnf-input.xml
@@ -39,6 +39,15 @@
</return>
</outcome>
</switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-information.vnf-id is a required input" />
+ </return>
+ </outcome>
+ </switch>
<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
<outcome value='assign'>
<block atomic="true">
@@ -71,19 +80,6 @@
</switch>
</block>
</outcome>
- <outcome value='changeassign'>
- <block atomic="true">
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="vnf-information.onap-model-information.model-customization-uuid is a required input" />
- </return>
- </outcome>
- </switch>
- </block>
- </outcome>
</switch>
</block>
</method>
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 07ae1e64..69f26c74 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
@@ -7,6 +7,16 @@
<parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
<parameter name='contextPrefix' value='prop' />
</execute>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
<outcome value='CreateVfModuleInstance'>
<block></block>
@@ -72,619 +82,555 @@
</return>
</outcome>
</switch>
- <block atomic="true">
- <set>
- <parameter name='tmp.exist.sdnc-model-name' value='false' />
- <parameter name='tmp.exist.vf_module_label' value='false' />
- </set>
- <switch test="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`">
- <outcome value=''>
- <set>
- <parameter name='vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length' value='0' />
- </set>
- </outcome>
- </switch>
- <for silentFailure='true' index='p' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >
- <switch test="`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$p].name`">
- <outcome value='sdnc_model_name'>
- <set>
- <parameter name='tmp.exist.sdnc-model-name' value='true' />
- </set>
- </outcome>
- <outcome value='vf_module_label'>
- <set>
- <parameter name='tmp.exist.vf_module_label' value='true' />
- </set>
- </outcome>
- </switch>
- </for>
- <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'
- value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
- </execute>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='false'>
- <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'>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
<outcome value='failure'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading VF_MODEL table" />
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`" />
</return>
</outcome>
- <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'
+ </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='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='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
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vf-module-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
+ ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
- </return>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
+ </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>
- </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'
+ </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'
+ </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.'
- 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>
- </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>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
+ <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-preload" />
+ <outcome value='failure'>
+ <block>
+ <switch test='`$mdsal-preload.response-code`'>
+ <outcome value='404'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving preload-information" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
+ </execute>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>
+ <outcome value='false'>
+ <set>
+ <parameter name='automated-assignment' value='true' />
+ </set>
+ </outcome>
+ <outcome value='true'>
+ <set>
+ <parameter name='automated-assignment' value='false' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='-1' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
<set>
- <parameter name='automated-assignment' value='true' />
+ <parameter name='vnf-network-index' value='`$idx`' />
</set>
- </outcome>
- <outcome value='true'>
<set>
- <parameter name='automated-assignment' 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>
+ <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>
- </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`' >
+ <outcome value='0'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
<block atomic="true">
<set>
- <parameter name='vnf-network-index' value='-1' />
+ <parameter name='af-count' value='0' />
</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`'>
+ <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='vnf-network-index' value='`$idx`' />
+ <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='$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`' />
+ <parameter name='af-count' value='`$af-count + 1`' />
</set>
- <break/>
</block>
</outcome>
</switch>
</for>
- <switch test='`$vnf-network-index`'>
- <outcome value='-1'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'VNFC network role '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
- + ' is not found in VNF network list'
- `" />
- </return>
- </block>
+ <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>
- </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
+ <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'>
- <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'>
+ <outcome value='true'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
+ <outcome value=''>
<block atomic="true">
- <set>
- <parameter name='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>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have network-start-address populated'`" />
+ </return>
</block>
</outcome>
+ <outcome value='Other'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
+ <outcome value=''>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have cidr-mask populated'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <set>
+ <parameter name='ip-type' value='IPv4' />
+ </set>
+ </outcome>
+ <outcome value='ipv6'>
+ <set>
+ <parameter name='ip-type' value='IPv6' />
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
+ <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
+ <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
+ <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
+ <parameter name="ipType" value="`$ip-type`" />
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
</switch>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$subnet-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
+ `" />
+ </return>
</block>
- </block>
- </outcome>
- </switch>
- </for>
- </for>
+ </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>
- </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'
+ </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`' >
+ <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='false' />
+ <parameter name='found-related-network' value='true' />
</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'
+ <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'
+ <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'
+ </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'
+ <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'
+ <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'
+ <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'
+ <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'
+ <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'
+ </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>
+ </set>
</block>
</for>
- <set>
- <parameter name='vf-module-object-path'
+ </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/'
@@ -692,1299 +638,170 @@
+ '/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'
+ <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'
+ <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"
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vf-module"
key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
force="true" pfx="tmp.AnAI-data">
- <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="selflink" value="`$vf-module-object-path`" />
- <parameter name="automated-assignment" value="`$automated-assignment`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- </return>
- </block>
- </outcome>
- </update>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.nfc-function' value='DEFAULT' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
- </set>
- </outcome>
- </switch>
- <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='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
- value='`$cp-instance-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
- value='0' />
- </set>
- <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
- <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- </set>
- <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
- <switch test='`$tmp.address-family`'>
- <outcome value='ipv4'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv4-address-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
- <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
- <parameter name="l3-interface-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
- </return>
- </block>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv4-address-list:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
- '/subnets/subnet/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
- </return>
- </block>
- </outcome>
- </save>
- </block>
- </outcome>
- <outcome value='ipv6'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv6-address-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
- <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
- <parameter name="l3-interface-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
- </return>
- </block>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv6-address-list:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
- '/subnets/subnet/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
- </return>
- </block>
- </outcome>
- </save>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </for>
- <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
- </return>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
- </return>
- </block>
- </outcome>
- </save>
- </for>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
- </set>
- <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
- <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
- <parameter name="vip-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
- + '/subnets/subnet/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
- </return>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="cp" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- + '/cps/cp/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
- </return>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
- <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
- <parameter name="vip-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
- + '/subnets/subnet/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
- </return>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="cp" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- + '/cps/cp/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
- </return>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
- </execute>
- <return status='failure'></return>
- </block>
- </outcome>
- </call>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
- <block atomic="true">
- <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
- AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
- AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </delete>
- <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
-key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </save>
- </block>
- </for>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
- value='$vf-module-topology-operation-input.sdnc-request-header.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
- value='$vf-module-topology-operation-input.request-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
- value='$vf-module-topology-operation-input.service-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
- value='$vf-module-topology-operation-input.vnf-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
- value='$vf-module-topology-operation-input.vf-module-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
- value='$vf-module-topology-operation-input.vf-module-request-input.' />
- </set>
- <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>
+ <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='`$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`'>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
<outcome value=''>
<set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
- value='`$db.vf-module-model.uuid`' />
+ <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
</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`' />
+ <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='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
<outcome value=''>
<set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
- value='`$db.vf-module-model.version`' />
+ <parameter name='tmp.nfc-function' value='DEFAULT' />
</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`' />
+ <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
</set>
</outcome>
</switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>
<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' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
<outcome value='failure'>
<block atomic="true">
<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'></return>
+ <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>
- </call>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
</outcome>
<outcome value='Other'>
- <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" />
+ <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>
- <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 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='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>
+ <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>
- </execute>
+ </save>
</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='vnf-network-index' value='`$idx`' />
- </set>
- <set>
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$vnf-network-index`'>
- <outcome value='-1'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'VNFC network role '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
- + ' is not found in VNF network list'
- `" />
- </return>
- </block>
- </outcome>
- </switch>
- <for index='subnet-role-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
- <for index='address-family-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='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='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
- </set>
- </block>
- </outcome>
- </switch>
- </block>
- </block>
- </outcome>
- </switch>
- </for>
- </for>
- </block>
- </for>
- </for>
- </for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block atomic="true">
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
- and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
- pfx='db.vnf-related-network-role[]'>
- <outcome value='failure'>
- <block>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
- </return>
- </block>
- </outcome>
- <outcome value='success'>
- <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
- <block atomic="true">
- <set>
- <parameter name='found-related-network' value='false' />
- </set>
- <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <block atomic="true">
- <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
- == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='found-related-network' value='true' />
- </set>
- <set>
- <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
- <parameter name='saved-related-network-index' value='`$related-network-index`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-related-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- <switch test='`$found-related-network`'>
- <outcome value='false'>
- <block>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Unable to find related network '
- + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
- </return>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
- </set>
- <set>
- <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
- </set>
- <switch test='`$rn-index`'>
- <outcome value=''>
- <set>
- <parameter name='rn-index' value='0' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
- value='`$rn-index + 1`' />
- </set>
- </block>
- </for>
- </outcome>
- </get-resource>
- </block>
- </for>
- </block>
- </for>
<set>
- <parameter name='vf-module-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/vnfs/vnf/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vf-modules/vf-module/'
- + $vf-module-topology-operation-input.vf-module-information.vf-module-id
- + '/vf-module-data/vf-module-topology/'`"/>
- <parameter name='vnf-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/vnfs/vnf/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vnf-topology/'`"/>
- <parameter name='service-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/service-topology/'`"/>
+ <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>
- <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"
+ <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="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`" />
+ <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 vf-module in AAI" />
+ <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
</return>
</block>
</outcome>
@@ -1994,302 +811,162 @@ key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id
<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`" />
+ <parameter name="error-message" value="Not-found error updating vnfc relationships" />
</return>
</block>
</outcome>
- </update>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ </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">
- <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.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"
+ <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'
+ <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'
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
value='0' />
- </set>
- <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
- <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
+ </set>
+ <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
+ <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- </set>
- <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
- <switch test='`$tmp.address-family`'>
- <outcome value='ipv4'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ </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"
+ <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"
+ <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"
+ <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"
+ <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"
+ <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"
+ <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"
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
value="`'/aai/v$/network/l3-networks/l3-network/' +
$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
'/subnets/subnet/' +
$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
- </return>
- </block>
- </outcome>
- </save>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </for>
- <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
<outcome value='failure'>
<block atomic="true">
<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
+ <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
</return>
</block>
</outcome>
@@ -2299,114 +976,80 @@ key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id
<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" />
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
</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
+ </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'>
- <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"
+ <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"
+ <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>
+ $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`' >
- <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"
+ <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"
+ <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" />
+ $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 saving vip-ipv4-address-list in AAI" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
</return>
</block>
</outcome>
@@ -2416,303 +1059,374 @@ key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id
<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" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
</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"
+ </for>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
+ <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
+ <parameter name="vip-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vip-ipv4-address-list:relationship-list"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
+ <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"
+ <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
+ <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"
+ <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"
+ <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>
+ <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>
- <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"
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vip-ipv6-address-list"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
- <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
- <parameter name="vip-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
+ <parameter name="vip-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="vip-ipv6-address-list:relationship-list"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
+ <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"
+ <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
+ <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"
+ <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"
+ <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>
+ <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>
- <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'
+ </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"
+ <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.'
+ <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.'
+ <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>
- </block>
- </block>
- </outcome>
- </get-resource>
- </outcome>
- </switch>
- </block>
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
</block>
</method>
</service-logic> \ 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 b9547f37..66330261 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,13 +85,14 @@
</return>
</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.sdnc-generated-cloud-resources`'>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
<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`" />
+ <parameter name='error-message' value="`'Encountered error performing changeassign for self-serve vf-module resources with error: '+ $error-message`" />
</return>
</outcome>
<outcome value='success'>
@@ -103,8 +104,17 @@
</outcome>
</call>
</outcome>
- <outcome value='Other'>
+ <outcome value='false'>
<block atomic="true">
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>
+ <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.onap-model-information.model-customization-uuid is a required input" />
+ </return>
+ </outcome>
+ </switch>
<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'
pfx='db.vf-module-model'>
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 f804500f..28669172 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
@@ -3,6 +3,20 @@
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
<method rpc='vf-module-topology-operation-unassign' mode='sync'>
<block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
<outcome value='DeleteVfModuleInstance'>
<block></block>
@@ -85,7 +99,8 @@
</return>
</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.sdnc-generated-cloud-resources`'>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
<outcome value='true'>
<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-unassign' mode='sync' >
<outcome value='failure'>
@@ -103,7 +118,7 @@
</outcome>
</call>
</outcome>
- <outcome value='Other'>
+ <outcome value='false'>
<block atomic="true">
<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`" />
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 8c1d2166..1433b7b5 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
@@ -7,6 +7,16 @@
<parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
<parameter name='contextPrefix' value='prop' />
</execute>
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
<switch test='`$vnf-topology-operation-input.request-information.request-action`'>
<outcome value='CreateVnfInstance'>
<block></block>
@@ -37,133 +47,104 @@
</return>
</outcome>
</get-resource>
- <block atomic="true">
- <set>
- <parameter name='tmp.exist.sdnc-model-name' value='false' />
- <parameter name='tmp.exist.sdnc-artifact-name' value='false' />
- </set>
- <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`">
- <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />
+ </return>
+ </outcome>
+ </call>
<set>
- <parameter name='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length' value='0' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
</set>
- </outcome>
- </switch>
- <for silentFailure='true' index='p' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`' >
- <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$p].name`">
- <outcome value='sdnc_model_name'>
- <set>
- <parameter name='tmp.exist.sdnc-model-name' value='true' />
- </set>
- </outcome>
- <outcome value='sdnc_artifact_name'>
- <set>
- <parameter name='tmp.exist.sdnc-artifact-name' value='true' />
- </set>
- </outcome>
- </switch>
- </for>
- <switch test="`$tmp.exist.sdnc-model-name == 'true' and $tmp.exist.sdnc-artifact-name == 'true'`">
- <outcome value='true'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id`" />
- </return>
- </outcome>
- </call>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
- </execute>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='false'>
- <switch test="`$db.vf-model.sdnc-model-name != '' and $db.vf-model.sdnc-artifact-name != ''`">
- <outcome value='true'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id`" />
- </return>
- </outcome>
- </call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vnf-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
<set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
</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>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
+ + ' already exists'`" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
</block>
</outcome>
- <outcome value='false'>
- <block atomic="true">
- <switch test='`$service-data.vnfs.vnf_length`'>
- <outcome value=''>
- <set>
- <parameter name='vnf-index' value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block>
- <set>
- <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
- </set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
- <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
- <outcome value='true'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
- + ' already exists'`" />
- </return>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
- </set>
- <set>
- <parameter name='tmp.vnf-network-collection_length' value='0' />
- </set>
- <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
- <block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='0' />
+ </set>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="instance-group"
key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"
pfx='aai.instance-group' local-only='false' >
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Cannot find instance group id ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in AAI'`" />
+ </return>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving instance-group from AAI" />
+ </return>
+ </outcome>
+ </get-resource>
+ <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
+ <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='collection'>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="collection"
+ key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
+ pfx='aai.collection' local-only='false' >
<outcome value='not-found'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find instance group id ' +
- $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ <parameter name="error-message" value="`'Cannot find collection ' +
+ $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
+ ' in AAI'`" />
</return>
</outcome>
@@ -171,379 +152,625 @@
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving instance-group from AAI" />
+ <parameter name="error-message" value="System error retrieving collection from AAI" />
</return>
</outcome>
- </get-resource>
- <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
- <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
- <outcome value='collection'>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="collection"
- key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
- pfx='aai.collection' local-only='false' >
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Cannot find collection ' +
- $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
- + ' in AAI'`" />
- </return>
- </outcome>
- <outcome value='failure'>
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-network-instance-group' value='false' />
+ </set>
+ <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='found-network-instance-group' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-network-instance-group`'>
+ <outcome value='false'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="System error retrieving collection from AAI" />
- </return>
- </outcome>
- <outcome value='success'>
- <block atomic="true">
- <set>
- <parameter name='found-network-instance-group' value='false' />
- </set>
- <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
- <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='found-network-instance-group' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-network-instance-group`'>
- <outcome value='false'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Could not find network instance group ' +
+ <parameter name="error-message" value="`'Could not find network instance group ' +
$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ ' in MD-SAL'`" />
- </return>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
value='`$aai.instance-group.instance-group-function`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
value='`$aai.instance-group.id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
value='`$aai.collection.collection-customization-id`' />
- </set>
- <set>
- <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
- </set>
- </block>
- </outcome>
- </get-resource>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
value='`$tmp.vnf-network-collection_length`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'
value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'
value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'
value='`$db.vf-model.nf-type`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'
value='`$db.vf-model.nf-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'
value='`$db.vf-model.nf-function`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'
value='`$db.vf-model.nf-code`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'
value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'
value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />
- </set>
- <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-name`'>
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>
+ <outcome value=''>
+ <block atomic="true">
+ <switch test='`$db.vf-model.ecomp-generated-naming`'>
+ <outcome value='Y'>
+ <block></block>
+ </outcome>
+ <outcome value='N'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$db.vf-model.naming-policy`'>
<outcome value=''>
<block atomic="true">
- <switch test='`$db.vf-model.ecomp-generated-naming`'>
- <outcome value='Y'>
- <block></block>
- </outcome>
- <outcome value='N'>
+ <set>
+ <parameter name='generate-unique-name-input.action' value='ASSIGN' />
+ <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />
+ <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
+ <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />
+ <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
+ <outcome value='failure'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
</return>
</outcome>
- <outcome value='Other'>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />
+ <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >
+ <outcome value='failure'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ <parameter name="error-message" value="Unable to generate VNF name" />
</return>
</outcome>
- </switch>
- <switch test='`$db.vf-model.naming-policy`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name='generate-unique-name-input.action' value='ASSIGN' />
- <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />
- <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
- <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />
- <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
- </return>
- </outcome>
- <outcome value='success'>
- <set>
- <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />
- </set>
- </outcome>
- </call>
- </block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />
- <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Unable to generate VNF name" />
- </return>
- </outcome>
- <outcome value='success'>
- <set>
- <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />
- </set>
- </outcome>
- </call>
- </block>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />
+ </set>
</outcome>
- </switch>
+ </call>
</block>
</outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-request-input.vnf-name`" />
- </set>
- </outcome>
</switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'
value='`$tmp.vnf-name`' />
- </set>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
value='`$db.vf-model.invariant-uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
value='`$db.vf-model.uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
value='`$db.vf-model.version`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
value='`$db.vf-model.name`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="cloud-region"
key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND
depth='all'"
pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
+ <outcome value=''>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-network-role-mapping[]'>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='db.vf-network-role-mapping_length' value='0' />
+ </set>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='0' />
+ </set>
+ <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>
+ <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='null'>
+ <block></block>
+ </outcome>
+ <outcome value='NULL'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='aai.l3-network.' value='' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-networks"
+ key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"
+ pfx='aai.l3-network' local-only='false'
+>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No active l3-network found in AAI with cloud_region_id '
+ + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '
+ + $db.vf-network-role-mapping[$network-index].network-role`" />
+ </return>
</block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </outcome>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving l3-network from AAI" />
+ </return>
</block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving cloud region from AAI" />
- </return>
- </block>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='l3-network-id' value='-1' />
+ </set>
+ <block>
+ <set>
+ <parameter name='found-network' value='false' />
+ </set>
+ <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
<block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
- value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
+ <outcome value='PendingCreate'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Create'>
+ <block></block>
+ </outcome>
+ <outcome value='PendingDelete'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Delete'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
+ <outcome value='service-instance'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='service-instance.service-instance-id'>
+ <set>
+ <parameter name='network-service-instance-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ <outcome value='cloud-region'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='cloud-region.cloud-region-id'>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ </set>
+ <set>
+ <parameter name='found-network' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ <switch test='`$l3-network-id`'>
+ <outcome value='-1'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+ </return>
</block>
</outcome>
</switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
- <outcome value=''>
- <block>
- <block atomic="true">
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'
+ value='`$db.vf-network-role-mapping[$role-index].network-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'
+ value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='0'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >
+ <block>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>
+ <outcome value=''>
+ <set>
+ <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>
+ <outcome value='4'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv4' />
+ </set>
+ </outcome>
+ <outcome value='6'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv6' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'
+ value='`$tmp.ip-version`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
+ <outcome value='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='Y' />
+ </set>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='N' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
<set>
- <parameter name='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' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />
</set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
</block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- </return>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
- pfx='db.vf-network-role-mapping[]'>
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </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>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <set>
- <parameter name='db.vf-network-role-mapping_length' value='0' />
- </set>
- </outcome>
- </get-resource>
- <set>
- <parameter name='network-index' value='0' />
- </set>
- <for index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>
- <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>
- <outcome value=''>
- <block></block>
</outcome>
- <outcome value='Other'>
+ <outcome value='success'>
<block atomic="true">
- <set>
- <parameter name='aai.l3-network.' value='' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-networks"
- key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"
- pfx='aai.l3-network' local-only='false'
->
- <outcome value='not-found'>
+ <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>
@@ -556,12 +783,30 @@
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No active l3-network found in AAI with cloud_region_id '
- + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '
- + $db.vf-network-role-mapping[$network-index].network-role`" />
+ <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">
@@ -575,90 +820,11 @@
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error retrieving l3-network from AAI" />
+ <parameter name="error-message" value="Error getting owning entity from service instance" />
</return>
</block>
</outcome>
- </get-resource>
- <set>
- <parameter name='l3-network-id' value='-1' />
- </set>
- <block>
- <set>
- <parameter name='found-network' value='false' />
- </set>
- <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
- <block atomic="true">
- <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
- <outcome value='PendingCreate'>
- <block></block>
- </outcome>
- <outcome value='Pending Create'>
- <block></block>
- </outcome>
- <outcome value='PendingDelete'>
- <block></block>
- </outcome>
- <outcome value='Pending Delete'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
- <block atomic="true">
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
- <outcome value='service-instance'>
- <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
- <outcome value='service-instance.service-instance-id'>
- <set>
- <parameter name='network-service-instance-id'
- value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
- </set>
- </outcome>
- </switch>
- </for>
- </outcome>
- <outcome value='cloud-region'>
- <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
- <outcome value='cloud-region.cloud-region-id'>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
- </set>
- <set>
- <parameter name='found-network' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </for>
- </outcome>
- </switch>
- <switch test='`$found-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- </outcome>
- </switch>
- <switch test='`$found-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- </block>
- <switch test='`$l3-network-id`'>
- <outcome value='-1'>
+ <outcome value='not-found'>
<block>
<block atomic="true">
<set>
@@ -671,620 +837,414 @@
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+ <parameter name="error-message" value="Unable to find owning entity from service instance" />
</return>
</block>
</outcome>
- </switch>
+ </save>
<set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'
- value='`$db.vf-network-role-mapping[$role-index].network-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'
- value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'
- value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'
- value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'
- value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />
+ <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='`$aai.l3-network.l3-network[0].subnets.subnet_length`'>
+ <switch test='`$rn-index`'>
<outcome value=''>
<set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='0' />
- </set>
- </outcome>
- <outcome value='0'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='0' />
+ <parameter name='rn-index' value='0' />
</set>
</outcome>
- <outcome value='Other'>
- <block>
- <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[0].subnets.subnet_length`' >
- <block>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>
- <outcome value=''>
- <set>
- <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />
- </set>
- </outcome>
- </switch>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>
- <outcome value='4'>
- <set>
- <parameter name='tmp.ip-version' value='ipv4' />
- </set>
- </outcome>
- <outcome value='6'>
- <set>
- <parameter name='tmp.ip-version' value='ipv6' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'
- value='`$tmp.ip-version`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
- </set>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
- <outcome value='true'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
- value='Y' />
- </set>
- </outcome>
- <outcome value='false'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
- value='N' />
- </set>
- </outcome>
- </switch>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='`$aai.l3-network.l3-network[0].subnets.subnet_length`' />
- </set>
- </block>
- </outcome>
</switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
- and network_role = $db.vf-network-role-mapping[$role-index].network-role'
- pfx='db.vnf-related-network-role[]'>
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />
- </return>
- </block>
- </outcome>
- <outcome value='success'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{service-instance-id}"/>
- <parameter name="replacement" value="`$network-service-instance-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.ntis-url"/>
- <parameter name="target" value="{network-id}"/>
- <parameter name="replacement" value="`$l3-network-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='GET' />
- <parameter name="responsePrefix" value="mdsal-ntis" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`
- 'Error retrieving network-topology-identifier-structure for service instance '
- + $network-service-instance-id
- + ' and network-id '
- + $l3-network-id`" />
- </return>
- </block>
- </outcome>
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'
- value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'
- value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="custom-query"
- key="format = 'resource'"
- force="true"
- local-only="false"
- pfx="tmp.AnAI-data.oe">
- <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />
- <parameter name="start_length" value="1" />
- <parameter name="query" value="/query/owning-entity-fromService-instance" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error getting owning entity from service instance" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Unable to find owning entity from service instance" />
- </return>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />
- </set>
- <switch test='`$rn-index`'>
- <outcome value=''>
- <set>
- <parameter name='rn-index' value='0' />
- </set>
- </outcome>
- </switch>
- <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <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
+ <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 '
+ <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'
+ </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'
+ <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"
+ </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'
+ <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'
+ <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'
+ <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'
+ <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>
+ </set>
</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>
+ </get-resource>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
<set>
- <parameter name='network-index' value='`$network-index + 1`' />
+ <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>
- </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'
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='`$network-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'
value='`$network-index`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />
- </set>
- <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
- <outcome value=''>
- <switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>
- <outcome value='true'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
+ </set>
+ <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
+ <outcome value=''>
+ <switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>
+ <outcome value='true'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
+ $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- </return>
- </block>
- </outcome>
- <outcome value='false'>
- <set>
- <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </switch>
- <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
- <block atomic="true">
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="generic-vnf:relationship-list"
key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </return>
- </block>
- </outcome>
- </save>
+ <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </return>
</block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
value='`$db.vf-model.avail-zone-max-count`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
value='`$aai.cloud-region.availability-zones.availability-zone_length`' />
- </set>
- <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ </set>
+ <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="generic-vnf:relationship-list"
key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </return>
- </block>
- </outcome>
- </save>
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </return>
</block>
- </for>
- <set>
- <parameter name='vnf-object-path'
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='vnf-object-path'
value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ $vnf-topology-operation-input.service-information.service-instance-id
+ '/service-data/vnfs/vnf/'
+ $service-data.vnfs.vnf[$vnf-index].vnf-id
+ '/vnf-data/vnf-topology/'`"/>
- <parameter name='service-object-path'
+ <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"
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="generic-vnf"
key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
force="true" pfx="tmp.AnAI-data">
- <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
- <parameter name="prov-status" value="PREPROV" />
- <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
- <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
- <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="in-maint" value="true" />
- <parameter name="selflink" value="`$vnf-object-path`" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </return>
- </block>
- </outcome>
- </update>
- <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
+ <parameter name="prov-status" value="PREPROV" />
+ <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
+ <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
+ <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="selflink" value="`$vnf-object-path`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="generic-vnf:relationship-list"
key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"
force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />
- <parameter name="relationship-list.relationship[0].related-link"
+ <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />
+ <parameter name="relationship-list.relationship[0].related-link"
value="`'/aai/v$/network/instance-groups/instance-group/'
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />
- <outcome value='failure'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />
- </return>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- </block>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </return>
- </block>
- </outcome>
- </save>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />
+ </return>
</block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
- </execute>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
</block>
</method>
</service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-changeassign.xml
index 60634ade..d93f9689 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,26 +42,19 @@
</return>
</outcome>
</switch>
- <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'>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='false'>
<block atomic="true">
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`'>
+ <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.onap-model-information.model-customization-uuid is a required input" />
+ </return>
+ </outcome>
+ </switch>
<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
pfx='db.vf-model'>
@@ -98,6 +91,23 @@
<return status='success'></return>
</block>
</outcome>
+ <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 performing changeassign for 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>
</switch>
</block>
</method>
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 b3ea3447..1b3ff069 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
@@ -57,25 +57,9 @@
</return>
</outcome>
</switch>
- <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-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'>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='false'>
<block atomic="true">
<switch test='`$service-data.vnfs.vnf_length`'>
<outcome value='1'>
@@ -113,6 +97,23 @@
</return>
</block>
</outcome>
+ <outcome value='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>
+ <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>
</switch>
</block>
</method>