3 "id": "5c12f35e.e1cabc",
\r
4 "type": "switchNode",
\r
5 "name": "switch this vnf-id == input vnf-id",
\r
6 "xml": "<switch test=\"`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`\"> \n",
\r
9 "x": 887.3294982910156,
\r
10 "y": 250.16278743743896,
\r
11 "z": "67d8f5f.109b30c",
\r
19 "id": "b009e5d5.1d5ff8",
\r
20 "type": "service-logic",
\r
21 "name": "GENERIC-RESOURCE-API ${project.version}",
\r
22 "module": "GENERIC-RESOURCE-API",
\r
23 "version": "${project.version}",
\r
25 "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}'>",
\r
28 "y": 143.99999141693115,
\r
29 "z": "67d8f5f.109b30c",
\r
37 "id": "9b496cef.08cf1",
\r
39 "name": "sdwan-vf-operation-device-create",
\r
40 "xml": "<method rpc='sdwan-vf-operation-device-create' mode='sync'>\n",
\r
44 "y": 243.99999141693115,
\r
45 "z": "67d8f5f.109b30c",
\r
53 "id": "7da866ae.544bb8",
\r
57 "x": 98.50000381469727,
\r
59 "z": "67d8f5f.109b30c",
\r
67 "id": "a4608885.5f82c8",
\r
69 "name": "block : atomic",
\r
70 "xml": "<block atomic=\"true\">\n",
\r
74 "x": 334.99998474121094,
\r
76 "z": "67d8f5f.109b30c",
\r
97 "id": "4e77e130.304fb",
\r
99 "name": "for each vnf",
\r
100 "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
\r
103 "x": 635.3294067382812,
\r
104 "y": 251.49612426757812,
\r
105 "z": "67d8f5f.109b30c",
\r
113 "id": "ddad9e6f.97581",
\r
115 "name": "set vnf-index",
\r
116 "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
\r
118 "x": 1258.9959869384766,
\r
119 "y": 252.1627902984619,
\r
120 "z": "67d8f5f.109b30c",
\r
124 "id": "fc9a82de.84ce",
\r
125 "type": "outcomeTrue",
\r
127 "xml": "<outcome value='true'>\n",
\r
130 "x": 1105.6628150939941,
\r
131 "y": 252.16276931762695,
\r
132 "z": "67d8f5f.109b30c",
\r
140 "id": "e01d2f82.7429f",
\r
142 "name": "for loop idx - VF input parameters",
\r
143 "xml": "<for index=\"idx\" start=\"0\" end=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n\n",
\r
146 "x": 709.2501907348633,
\r
147 "y": 473.66665744781494,
\r
148 "z": "67d8f5f.109b30c",
\r
156 "id": "7ea0d8c4.d056e8",
\r
159 "xml": "<block>\n",
\r
163 "x": 924.0285339355469,
\r
164 "y": 471.22224140167236,
\r
165 "z": "67d8f5f.109b30c",
\r
174 "id": "c6b87ab0.44cce8",
\r
176 "name": "execute split parameterName",
\r
177 "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name`'/>\n<parameter name=\"regex\" value=\"_\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"param-prefix\"/>\n",
\r
180 "x": 1120.2847366333008,
\r
181 "y": 448.97037982940674,
\r
182 "z": "67d8f5f.109b30c",
\r
188 "id": "f6199a92.b6bb08",
\r
190 "name": "set parameterName",
\r
191 "xml": "<set>\n<parameter name=\"`vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name`\" value='`$param-prefix[$param-prefix_length -1]`'/>\n",
\r
193 "x": 1089.7291641235352,
\r
194 "y": 485.97049617767334,
\r
195 "z": "67d8f5f.109b30c",
\r
199 "id": "92e456fa.39e618",
\r
201 "name": "Take the parameter names by removing prefix",
\r
204 "x": 1093.2503929138184,
\r
205 "y": 408.3333258628845,
\r
206 "z": "67d8f5f.109b30c",
\r
210 "id": "802c77ca.22e778",
\r
211 "type": "switchNode",
\r
212 "name": "switch vnf_length",
\r
213 "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
\r
217 "y": 206.99999332427979,
\r
218 "z": "67d8f5f.109b30c",
\r
226 "id": "b9775757.c586e8",
\r
229 "xml": "<outcome value=''>\n",
\r
232 "x": 836.4166793823242,
\r
233 "y": 206.33329105377197,
\r
234 "z": "67d8f5f.109b30c",
\r
242 "id": "8ca0a76c.6a9638",
\r
243 "type": "returnFailure",
\r
244 "name": "return failure",
\r
245 "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",
\r
247 "x": 1018.0833053588867,
\r
248 "y": 206.33329105377197,
\r
249 "z": "67d8f5f.109b30c",
\r
253 "id": "9922275a.527928",
\r
254 "type": "switchNode",
\r
255 "name": "switch vf-modules.vf-module_length",
\r
256 "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
\r
259 "x": 690.9999895095825,
\r
260 "y": 326.9999942779541,
\r
261 "z": "67d8f5f.109b30c",
\r
270 "id": "c5166da1.64b87",
\r
273 "xml": "<outcome value=''>\n",
\r
277 "y": 302.99999141693115,
\r
278 "z": "67d8f5f.109b30c",
\r
286 "id": "f58b3753.891bc8",
\r
289 "xml": "<outcome value='Other'>\n",
\r
293 "y": 342.99999141693115,
\r
294 "z": "67d8f5f.109b30c",
\r
302 "id": "4d85b0fa.e45f4",
\r
304 "name": "set vf-index",
\r
305 "xml": "<set>\n<parameter name='vf-index' value='0' />\n",
\r
308 "y": 302.99999141693115,
\r
309 "z": "67d8f5f.109b30c",
\r
313 "id": "3cc5230a.5b2c3c",
\r
316 "xml": "<block>\n",
\r
320 "x": 1066.3570442199707,
\r
321 "y": 342.93650341033936,
\r
322 "z": "67d8f5f.109b30c",
\r
331 "id": "105e52c3.2d94dd",
\r
333 "name": "set vf-index",
\r
334 "xml": "<set>\n<parameter name='vf-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n\n\n",
\r
336 "x": 1219.055519104004,
\r
337 "y": 312.5556021030061,
\r
338 "z": "67d8f5f.109b30c",
\r
342 "id": "1560cc74.e1f714",
\r
344 "name": "for each existing vf-index",
\r
345 "xml": "<for index='idx' start='0' end='`$vf-index`' >\n",
\r
348 "x": 1275.4840240478516,
\r
349 "y": 365.7777318954468,
\r
350 "z": "67d8f5f.109b30c",
\r
358 "id": "9bfcdd3d.e8854",
\r
360 "name": "make sure this network doesn't exist already",
\r
363 "x": 1499.1347541809082,
\r
364 "y": 324.0317893028259,
\r
365 "z": "67d8f5f.109b30c",
\r
369 "id": "e9396ecf.61386",
\r
370 "type": "switchNode",
\r
371 "name": "switch vf-module-id found",
\r
372 "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",
\r
375 "x": 1550.7697448730469,
\r
376 "y": 365.34923458099365,
\r
377 "z": "67d8f5f.109b30c",
\r
385 "id": "7c76b41d.ea06ac",
\r
386 "type": "outcomeTrue",
\r
388 "xml": "<outcome value='true'>\n",
\r
391 "x": 1451.499942779541,
\r
392 "y": 423.9206657409668,
\r
393 "z": "67d8f5f.109b30c",
\r
401 "id": "91b09a0a.6c6428",
\r
402 "type": "returnFailure",
\r
403 "name": "return failure",
\r
404 "xml": "<return 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-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id already found in service-data\" />\n",
\r
406 "x": 1599.2500457763672,
\r
407 "y": 423.7778578097932,
\r
408 "z": "67d8f5f.109b30c",
\r
412 "id": "35a34bb1.948374",
\r
414 "name": "copy input data to service data",
\r
415 "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-id' value='`$prop.device-vf-index`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.sdnc-request-header.' 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-index].vf-module-data.request-information.' value='`$vf-module-topology-operation-input.request-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.service-information.' value='`$vf-module-topology-operation-input.service-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vnf-information.' value='`$vf-module-topology-operation-input.vnf-information.`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-information.' 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-index].vf-module-data.vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n\n<!--parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-topology.' value='`$tmp.vf-module-topology.`' /-->\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index+1`' />\n\n",
\r
417 "x": 702.8531951904297,
\r
418 "y": 753.496214389801,
\r
419 "z": "67d8f5f.109b30c",
\r
423 "id": "f27c9cac.ebc18",
\r
425 "name": "execute generate-vf-module-index",
\r
426 "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.device-vf-index\"/>\n",
\r
429 "x": 711.1866912841797,
\r
430 "y": 700.162947177887,
\r
431 "z": "67d8f5f.109b30c",
\r
437 "id": "b9b958fd.141f08",
\r
439 "name": "set new vf-module_length",
\r
440 "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index + 1`' />",
\r
442 "x": 685.1866683959961,
\r
443 "y": 646.1628408432007,
\r
444 "z": "67d8f5f.109b30c",
\r
448 "id": "a8f9e83.8a6e918",
\r
450 "name": "set vf-module-request-input.",
\r
451 "xml": "<set>\n<parameter name='vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n",
\r
453 "x": 700.1863288879395,
\r
454 "y": 536.154221534729,
\r
455 "z": "67d8f5f.109b30c",
\r
459 "id": "c8a186f7.659098",
\r
461 "name": "call sdwan-get-vf-module-device-param",
\r
462 "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-vf-module-device-param' mode='sync' >\n",
\r
465 "x": 726.1867065429688,
\r
466 "y": 592.1544551849365,
\r
467 "z": "67d8f5f.109b30c",
\r
473 "id": "178a7bac.307b74",
\r
475 "name": "set vf-module-object-path",
\r
476 "xml": "<set>\n<parameter name='vf-module-object-path' 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 + $prop.device-vf-index\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",
\r
478 "x": 698.0000877380371,
\r
479 "y": 804.0000596046448,
\r
480 "z": "67d8f5f.109b30c",
\r
484 "id": "7fbeb541.aa905c",
\r
486 "name": "set vf-module-level-oper-status",
\r
487 "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.order-status' value='Created' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-data.vf-module-level-oper-status.last-rpc-action' 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-index].vf-module-data.vf-module-level-oper-status.last-action' value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
\r
489 "x": 705.5001907348633,
\r
490 "y": 852.0000238418579,
\r
491 "z": "67d8f5f.109b30c",
\r
495 "id": "e8cf2ce.61834d",
\r
497 "name": "save sdwan vpn resource in AAI",
\r
498 "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='device' \n key='device.device-id = $prop.device-vf-index' >\n<parameter name='device-id' value='`$prop.device-vf-index`' />\n<parameter name='esn' value='`$prop.device.esn`' />\n<parameter name='device-name' value='`$prop.device.name`' />\n<parameter name='description' value='`$prop.device.description`' />\n<parameter name='vendor' value='`$prop.device.vendor`' />\n<parameter name='class' value='`$prop.device.class`' />\n<parameter name='type' value='`$prop.device.deviceModel`' />\n<parameter name='version' value='`$prop.device.version`' />\n<parameter name='system-ip' value='`$prop.device.systemIp`' />\n<parameter name='operational-status' value='Created' />\n<parameter name='model-customization-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n<parameter name='model-invariant-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n<parameter name='model-version-id' value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n<parameter name='selflink' 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/' + $prop.device-vf-index + '/vf-module-data/'` \" />\n",
\r
501 "x": 713.0001373291016,
\r
502 "y": 910.4999666213989,
\r
503 "z": "67d8f5f.109b30c",
\r
509 "id": "d9a88b51.5c3ff8",
\r
511 "name": "save service relationship in AAI",
\r
512 "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' 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=\"device\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/devices/device/' + $prop.device-vf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"device.device-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.device-vf-index`\" />\n\n",
\r
515 "x": 708.9999847412109,
\r
516 "y": 945.5000228881836,
\r
517 "z": "67d8f5f.109b30c",
\r
523 "id": "4845313f.7a00d",
\r
524 "type": "returnSuccess",
\r
525 "name": "return success",
\r
526 "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",
\r
528 "x": 657.7225151062012,
\r
529 "y": 991.6738657951355,
\r
530 "z": "67d8f5f.109b30c",
\r
534 "id": "b5bea2af.4d20d",
\r
536 "name": "TODO: if SO passes vnf-id, need to update prop.sdncCreate as true",
\r
537 "info": "if SO passes vnf-id, need to update prop.sdncCreate as true",
\r
539 "x": 806.6974792480469,
\r
540 "y": 141.0160083770752,
\r
541 "z": "67d8f5f.109b30c",
\r