self-serve dg patch
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / json / GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json
index 5002f76..7511ed2 100644 (file)
@@ -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": []
+  }
+]