7511ed2f6d75fe735b0487c4478491f5719f3cbf
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / json / GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json
1 [
2   {
3     "id": "6215fee5.bddad",
4     "type": "dgstart",
5     "name": "DGSTART",
6     "outputs": 1,
7     "x": 136.66665649414062,
8     "y": 49.999996185302734,
9     "z": "6680f8ca.ebffb8",
10     "wires": [
11       [
12         "e0abbbb4.1691a8"
13       ]
14     ]
15   },
16   {
17     "id": "c0b04192.50c06",
18     "type": "block",
19     "name": "block : atomic",
20     "xml": "<block atomic='true'>",
21     "atomic": "true",
22     "comments": "",
23     "outputs": 1,
24     "x": 180.39286041259766,
25     "y": 162.7777862548828,
26     "z": "6680f8ca.ebffb8",
27     "wires": [
28       [
29         "c39465f2.9d0ab8",
30         "9ba3908c.b3993",
31         "9c2ed3b1.7a9c5",
32         "21cbbc15.66ca44",
33         "65e92b38.4daee4"
34       ]
35     ]
36   },
37   {
38     "id": "7d5065be.a2599c",
39     "type": "method",
40     "name": "method self-serve-vf-module-unassign",
41     "xml": "<method rpc='self-serve-vf-module-unassign' mode='sync'>\n",
42     "comments": "",
43     "outputs": 1,
44     "x": 253.4285659790039,
45     "y": 104.7063512802124,
46     "z": "6680f8ca.ebffb8",
47     "wires": [
48       [
49         "c0b04192.50c06"
50       ]
51     ]
52   },
53   {
54     "id": "e0abbbb4.1691a8",
55     "type": "service-logic",
56     "name": "GENERIC-RESOURCE-API ${project.version}",
57     "module": "GENERIC-RESOURCE-API",
58     "version": "${project.version}",
59     "comments": "",
60     "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}'>",
61     "outputs": 1,
62     "x": 411.9048538208008,
63     "y": 50.19048881530762,
64     "z": "6680f8ca.ebffb8",
65     "wires": [
66       [
67         "7d5065be.a2599c"
68       ]
69     ]
70   },
71   {
72     "id": "8fa17821.c8c998",
73     "type": "switchNode",
74     "name": "switch resource-resolution-data.status",
75     "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",
76     "comments": "",
77     "outputs": 1,
78     "x": 505.2027587890625,
79     "y": 762.6786947250366,
80     "z": "6680f8ca.ebffb8",
81     "wires": [
82       [
83         "5b5326aa.c9a828",
84         "6d9494a.3f2206c",
85         "862297c.bf59968"
86       ]
87     ]
88   },
89   {
90     "id": "5b5326aa.c9a828",
91     "type": "other",
92     "name": "SUCCESS",
93     "xml": "<outcome value='SUCCESS'>\n",
94     "comments": "",
95     "outputs": 1,
96     "x": 782.9053001403809,
97     "y": 763.0476579666138,
98     "z": "6680f8ca.ebffb8",
99     "wires": [
100       [
101         "9fffaa92.3e94f8"
102       ]
103     ]
104   },
105   {
106     "id": "c39465f2.9d0ab8",
107     "type": "for",
108     "name": "foreach capability-order[]",
109     "xml": "<for index='cidx' start='0' end='`$ss.capability.execution-order_length`' >\n",
110     "comments": "",
111     "outputs": 1,
112     "x": 430.8452911376953,
113     "y": 250.03567695617676,
114     "z": "6680f8ca.ebffb8",
115     "wires": [
116       [
117         "f837bbd3.874678",
118         "b931e6cb.da94c8",
119         "d21e6f1d.1016c",
120         "89534d93.1f285"
121       ]
122     ]
123   },
124   {
125     "id": "9fffaa92.3e94f8",
126     "type": "call",
127     "name": "call ss.capability-dg",
128     "xml": "<call module='GENERIC-RESOURCE-API' rpc='`$ss.capability-dg`' mode='sync' >\n",
129     "comments": "",
130     "outputs": 1,
131     "x": 988.0240325927734,
132     "y": 762.8095092773438,
133     "z": "6680f8ca.ebffb8",
134     "wires": [
135       [
136         "fc60047e.9fb338"
137       ]
138     ]
139   },
140   {
141     "id": "f837bbd3.874678",
142     "type": "set",
143     "name": "ss.capability-name",
144     "xml": "<set>\n<parameter name='ss.capability-name' value='`$ss.capability.execution-order[$cidx]`' />\n\n<!--\nss.capability.execution-order\n-->",
145     "comments": "",
146     "x": 699.2023468017578,
147     "y": 249.98812866210938,
148     "z": "6680f8ca.ebffb8",
149     "wires": []
150   },
151   {
152     "id": "b931e6cb.da94c8",
153     "type": "set",
154     "name": "set ss.capability.action = unassign",
155     "xml": "<set>\n<parameter name='ss.capability-action' value='unassign' />\n",
156     "comments": "",
157     "x": 747.9164886474609,
158     "y": 296.90471267700195,
159     "z": "6680f8ca.ebffb8",
160     "wires": []
161   },
162   {
163     "id": "fc60047e.9fb338",
164     "type": "failure",
165     "name": "failure",
166     "xml": "<outcome value='failure'>\n",
167     "comments": "",
168     "outputs": 1,
169     "x": 1172.9165420532227,
170     "y": 762.8095703125,
171     "z": "6680f8ca.ebffb8",
172     "wires": [
173       [
174         "a1d1bb97.069c18"
175       ]
176     ]
177   },
178   {
179     "id": "89534d93.1f285",
180     "type": "set",
181     "name": "set capability-dg",
182     "xml": "<set>\n<parameter name='ss.capability-dg' value=\"`'self-serve-' + $ss.capability.execution-order[$cidx]`\" />\n",
183     "comments": "",
184     "x": 696.678596496582,
185     "y": 344.13096809387207,
186     "z": "6680f8ca.ebffb8",
187     "wires": []
188   },
189   {
190     "id": "21cbbc15.66ca44",
191     "type": "execute",
192     "name": "printContext",
193     "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vf-unassign.log' />\n",
194     "comments": "",
195     "outputs": 1,
196     "x": 378.7739944458008,
197     "y": 1376.5357284545898,
198     "z": "6680f8ca.ebffb8",
199     "wires": [
200       []
201     ]
202   },
203   {
204     "id": "9ba3908c.b3993",
205     "type": "set",
206     "name": "set ss.capability.execution-order[]",
207     "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
208 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' />",
209     "comments": "",
210     "x": 455.9166946411133,
211     "y": 163,
212     "z": "6680f8ca.ebffb8",
213     "wires": []
214   },
215   {
216     "id": "9e65963.9a3dd68",
217     "type": "returnFailure",
218     "name": "return failure",
219     "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",
220     "comments": "",
221     "x": 1555.4166564941406,
222     "y": 1117.9999961853027,
223     "z": "6680f8ca.ebffb8",
224     "wires": []
225   },
226   {
227     "id": "a1d1bb97.069c18",
228     "type": "block",
229     "name": "block : atomic",
230     "xml": "<block atomic='true'>",
231     "atomic": "true",
232     "comments": "",
233     "outputs": 1,
234     "x": 1337.035789489746,
235     "y": 763.3329639434814,
236     "z": "6680f8ca.ebffb8",
237     "wires": [
238       [
239         "9e65963.9a3dd68",
240         "4247535f.a8b05c",
241         "fbdfcf9e.431bd",
242         "28c4a99d.6f10c6",
243         "b86c7b66.596838",
244         "ac551aca.87f3c8"
245       ]
246     ]
247   },
248   {
249     "id": "4247535f.a8b05c",
250     "type": "execute",
251     "name": "execute RestApiCallNode - PUT vf-module",
252     "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",
253     "comments": "",
254     "outputs": 1,
255     "x": 1652.5832290649414,
256     "y": 1019.7069234848022,
257     "z": "6680f8ca.ebffb8",
258     "wires": [
259       [
260         "fa9ef1c0.afa1e",
261         "45457ce5.ba3554"
262       ]
263     ]
264   },
265   {
266     "id": "fa9ef1c0.afa1e",
267     "type": "not-found",
268     "name": "not-found",
269     "xml": "<outcome value='not-found'>\n",
270     "comments": "",
271     "outputs": 1,
272     "x": 1927.1768951416016,
273     "y": 1073.7050771713257,
274     "z": "6680f8ca.ebffb8",
275     "wires": [
276       [
277         "56d2d025.0c556"
278       ]
279     ]
280   },
281   {
282     "id": "45457ce5.ba3554",
283     "type": "failure",
284     "name": "failure",
285     "xml": "<outcome value='failure'>\n",
286     "comments": "",
287     "outputs": 1,
288     "x": 1919.6055297851562,
289     "y": 1020.2050971984863,
290     "z": "6680f8ca.ebffb8",
291     "wires": [
292       [
293         "56d2d025.0c556"
294       ]
295     ]
296   },
297   {
298     "id": "56d2d025.0c556",
299     "type": "block",
300     "name": "block : atomic",
301     "xml": "<block atomic=\"true\">",
302     "atomic": "true",
303     "outputs": 1,
304     "x": 2121.7378540039062,
305     "y": 1019.8493518829346,
306     "z": "6680f8ca.ebffb8",
307     "wires": [
308       [
309         "726d654.997219c"
310       ]
311     ]
312   },
313   {
314     "id": "726d654.997219c",
315     "type": "configure",
316     "name": "set error-message",
317     "xml": "<set>\n<parameter name=\"error-message\" value=\"Failed to persist self-serve vf-module assignments during unassign in MD-SAL\" />\n",
318     "comments": "",
319     "outputs": 1,
320     "x": 2340.0236206054688,
321     "y": 1019.9922151565552,
322     "z": "6680f8ca.ebffb8",
323     "wires": [
324       []
325     ]
326   },
327   {
328     "id": "fbdfcf9e.431bd",
329     "type": "set",
330     "name": "set vf data for restapi-call-node",
331     "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`' />",
332     "comments": "",
333     "x": 1614.0952529907227,
334     "y": 763.8249406814575,
335     "z": "6680f8ca.ebffb8",
336     "wires": []
337   },
338   {
339     "id": "28c4a99d.6f10c6",
340     "type": "execute",
341     "name": "generate ss-vfmodule url replace service-instance-id",
342     "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",
343     "comments": "",
344     "outputs": 1,
345     "x": 1680.345199584961,
346     "y": 811.8249855041504,
347     "z": "6680f8ca.ebffb8",
348     "wires": [
349       []
350     ]
351   },
352   {
353     "id": "b86c7b66.596838",
354     "type": "execute",
355     "name": "generate ss-vfmodule url - replace vnf-id",
356     "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",
357     "comments": "",
358     "outputs": 1,
359     "x": 1644.6308975219727,
360     "y": 859.8839025497437,
361     "z": "6680f8ca.ebffb8",
362     "wires": [
363       []
364     ]
365   },
366   {
367     "id": "ac551aca.87f3c8",
368     "type": "execute",
369     "name": "generate ss-vfmodule url - replace vf-module-id",
370     "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",
371     "comments": "",
372     "outputs": 1,
373     "x": 1666.5715713500977,
374     "y": 909.8004026412964,
375     "z": "6680f8ca.ebffb8",
376     "wires": [
377       []
378     ]
379   },
380   {
381     "id": "9c2ed3b1.7a9c5",
382     "type": "set",
383     "name": "set ss.capability-type = vf-module",
384     "xml": "<set>\n<parameter name='ss.capability-type' value='vf-module' />\n",
385     "comments": "",
386     "x": 456.52378845214844,
387     "y": 206.00000667572021,
388     "z": "6680f8ca.ebffb8",
389     "wires": []
390   },
391   {
392     "id": "6d9494a.3f2206c",
393     "type": "other",
394     "name": "DELETED",
395     "xml": "<outcome value='DELETED'>\n",
396     "comments": "",
397     "outputs": 1,
398     "x": 781.6666564941406,
399     "y": 859.642879486084,
400     "z": "6680f8ca.ebffb8",
401     "wires": [
402       [
403         "d7a7bd94.ef4ff"
404       ]
405     ]
406   },
407   {
408     "id": "c4930fe.fd50af",
409     "type": "returnFailure",
410     "name": "return failure",
411     "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`\"/>",
412     "comments": "",
413     "x": 1132.4047012329102,
414     "y": 1027.1905879974365,
415     "z": "6680f8ca.ebffb8",
416     "wires": []
417   },
418   {
419     "id": "d7a7bd94.ef4ff",
420     "type": "block",
421     "name": "block",
422     "xml": "<block>\n",
423     "atomic": "false",
424     "comments": "",
425     "outputs": 1,
426     "x": 938.1666488647461,
427     "y": 859.6428680419922,
428     "z": "6680f8ca.ebffb8",
429     "wires": [
430       []
431     ]
432   },
433   {
434     "id": "862297c.bf59968",
435     "type": "other",
436     "name": "other",
437     "xml": "<outcome value='Other'>\n",
438     "comments": "",
439     "outputs": 1,
440     "x": 771.7380523681641,
441     "y": 991.8571815490723,
442     "z": "6680f8ca.ebffb8",
443     "wires": [
444       [
445         "4834af54.75b2c"
446       ]
447     ]
448   },
449   {
450     "id": "ffba3e5c.b7c54",
451     "type": "record",
452     "name": "record",
453     "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",
454     "comments": "",
455     "outputs": 1,
456     "x": 1112.0239181518555,
457     "y": 951.1905632019043,
458     "z": "6680f8ca.ebffb8",
459     "wires": [
460       []
461     ]
462   },
463   {
464     "id": "4834af54.75b2c",
465     "type": "block",
466     "name": "block : atomic",
467     "xml": "<block atomic='true'>",
468     "atomic": "true",
469     "comments": "",
470     "outputs": 1,
471     "x": 939.4523468017578,
472     "y": 991.8572330474854,
473     "z": "6680f8ca.ebffb8",
474     "wires": [
475       [
476         "ffba3e5c.b7c54",
477         "c4930fe.fd50af"
478       ]
479     ]
480   },
481   {
482     "id": "d21e6f1d.1016c",
483     "type": "for",
484     "name": "foreach vf-module-parameters.param[]",
485     "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",
486     "comments": "",
487     "outputs": 1,
488     "x": 765.6665954589844,
489     "y": 395.5952453613281,
490     "z": "6680f8ca.ebffb8",
491     "wires": [
492       [
493         "36153975.73d276",
494         "2926b6d0.39b40a"
495       ]
496     ]
497   },
498   {
499     "id": "36153975.73d276",
500     "type": "switchNode",
501     "name": "switch capability-name param vs. execution",
502     "xml": "<switch test='`$ss.capability-name == $tmp.param.capability-name`'>\n",
503     "comments": "",
504     "outputs": 1,
505     "x": 1138.0594177246094,
506     "y": 441.2380380630493,
507     "z": "6680f8ca.ebffb8",
508     "wires": [
509       [
510         "b81d1a56.666918"
511       ]
512     ]
513   },
514   {
515     "id": "b81d1a56.666918",
516     "type": "outcomeTrue",
517     "name": "true",
518     "xml": "<outcome value='true'>\n",
519     "comments": "",
520     "outputs": 1,
521     "x": 1401.5594177246094,
522     "y": 441.4880380630493,
523     "z": "6680f8ca.ebffb8",
524     "wires": [
525       [
526         "8fa17821.c8c998"
527       ]
528     ]
529   },
530   {
531     "id": "2926b6d0.39b40a",
532     "type": "set",
533     "name": "tmp.param.capability-name",
534     "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",
535     "comments": "",
536     "x": 1087.4164428710938,
537     "y": 395.8452482223511,
538     "z": "6680f8ca.ebffb8",
539     "wires": []
540   },
541   {
542     "id": "4adf8877.8b7b48",
543     "type": "for",
544     "name": "for each vf module",
545     "xml": "<for index='idx' start='`$vf-module-index + 1`' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",
546     "comments": "",
547     "outputs": 1,
548     "x": 1000.8887634277344,
549     "y": 1207.142822265625,
550     "z": "6680f8ca.ebffb8",
551     "wires": [
552       [
553         "794c2919.51d0e8"
554       ]
555     ]
556   },
557   {
558     "id": "70cab900.ea1ee8",
559     "type": "comment",
560     "name": "Remove VF Module from service data",
561     "info": "",
562     "comments": "",
563     "x": 350.7142639160156,
564     "y": 1162.3812627792358,
565     "z": "6680f8ca.ebffb8",
566     "wires": []
567   },
568   {
569     "id": "794c2919.51d0e8",
570     "type": "set",
571     "name": "move vf module to remove one",
572     "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",
573     "comments": "",
574     "x": 1244.4798965454102,
575     "y": 1207.1667881011963,
576     "z": "6680f8ca.ebffb8",
577     "wires": []
578   },
579   {
580     "id": "65e92b38.4daee4",
581     "type": "switchNode",
582     "name": "switch vf-module_length",
583     "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
584     "comments": "",
585     "outputs": 1,
586     "x": 418.1466827392578,
587     "y": 1218.4844932556152,
588     "z": "6680f8ca.ebffb8",
589     "wires": [
590       [
591         "586a0bd3.b18144",
592         "bc68084b.283918"
593       ]
594     ]
595   },
596   {
597     "id": "586a0bd3.b18144",
598     "type": "outcome",
599     "name": "1",
600     "xml": "<outcome value='1'>\n",
601     "comments": "",
602     "outputs": 1,
603     "x": 613.4800491333008,
604     "y": 1169.389100074768,
605     "z": "6680f8ca.ebffb8",
606     "wires": [
607       [
608         "ed8959f0.36d8a8"
609       ]
610     ]
611   },
612   {
613     "id": "ed8959f0.36d8a8",
614     "type": "set",
615     "name": "Remove vf modules",
616     "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.\" value=\"\"/>\n\n",
617     "comments": "",
618     "x": 785.4798202514648,
619     "y": 1169.3892192840576,
620     "z": "6680f8ca.ebffb8",
621     "wires": []
622   },
623   {
624     "id": "bc68084b.283918",
625     "type": "other",
626     "name": "other",
627     "xml": "<outcome value='Other'>\n",
628     "comments": "",
629     "outputs": 1,
630     "x": 612.1468048095703,
631     "y": 1263.1509094238281,
632     "z": "6680f8ca.ebffb8",
633     "wires": [
634       [
635         "caf3c8d0.bea748"
636       ]
637     ]
638   },
639   {
640     "id": "7578e2bc.143aac",
641     "type": "set",
642     "name": "set new vf module length",
643     "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",
644     "comments": "",
645     "x": 1019.7762985229492,
646     "y": 1334.8652992248535,
647     "z": "6680f8ca.ebffb8",
648     "wires": []
649   },
650   {
651     "id": "d8df61bf.20743",
652     "type": "set",
653     "name": "Remove the last vf module in the list",
654     "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lastidx].\" value=\"\"/>\n",
655     "comments": "",
656     "x": 1055.4799118041992,
657     "y": 1290.9764366149902,
658     "z": "6680f8ca.ebffb8",
659     "wires": []
660   },
661   {
662     "id": "caf3c8d0.bea748",
663     "type": "block",
664     "name": "block : atomic",
665     "xml": "<block atomic=\"true\">",
666     "atomic": "true",
667     "outputs": 1,
668     "x": 769.3847351074219,
669     "y": 1263.3889112472534,
670     "z": "6680f8ca.ebffb8",
671     "wires": [
672       [
673         "4adf8877.8b7b48",
674         "d8df61bf.20743",
675         "7578e2bc.143aac",
676         "c6fed918.aacf78"
677       ]
678     ]
679   },
680   {
681     "id": "c6fed918.aacf78",
682     "type": "set",
683     "name": "set lastidx",
684     "xml": "<set>\n<parameter name='lastidx' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`' />\n",
685     "comments": "EIPAM plug-in needs this attribute set with this name",
686     "x": 973.6190795898438,
687     "y": 1247.3811359405518,
688     "z": "6680f8ca.ebffb8",
689     "wires": []
690   }
691 ]