3 "id": "5892697a.9c21d8",
\r
5 "name": "block : atomic",
\r
6 "xml": "<block atomic=\"true\">\n",
\r
11 "y": 382.00000220537186,
\r
12 "z": "c6a9f1ad.d0abe",
\r
34 "id": "309bc096.5fac7",
\r
35 "type": "service-logic",
\r
36 "name": "GENERIC-RESOURCE-API ${project.version}",
\r
37 "module": "GENERIC-RESOURCE-API",
\r
38 "version": "${project.version}",
\r
40 "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
42 "x": 324.03126525878906,
\r
43 "y": 165.999993622303,
\r
44 "z": "c6a9f1ad.d0abe",
\r
52 "id": "1f3522ef.5a48ed",
\r
54 "name": "sdwan-vf-operation-vpn-create",
\r
55 "xml": "<method rpc='sdwan-vf-operation-vpn-create' mode='sync'>\n",
\r
58 "x": 323.03126525878906,
\r
59 "y": 265.999993622303,
\r
60 "z": "c6a9f1ad.d0abe",
\r
68 "id": "3582a035.23289",
\r
72 "x": 153.53126525878906,
\r
73 "y": 77.00000125169754,
\r
74 "z": "c6a9f1ad.d0abe",
\r
82 "id": "3419ca3e.28a196",
\r
84 "name": "for each vnf",
\r
85 "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
\r
88 "x": 782.3606719970703,
\r
89 "y": 273.49612647295,
\r
90 "z": "c6a9f1ad.d0abe",
\r
98 "id": "e71de9cd.25e818",
\r
99 "type": "switchNode",
\r
100 "name": "switch this vnf-id == input vnf-id",
\r
101 "xml": "<switch test=\"`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`\"> \n",
\r
104 "x": 1034.3607635498047,
\r
105 "y": 272.1627896428108,
\r
106 "z": "c6a9f1ad.d0abe",
\r
114 "id": "46c73b2c.401b84",
\r
116 "name": "set vnf-index",
\r
117 "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n\n",
\r
119 "x": 1406.0272521972656,
\r
120 "y": 274.16279250383377,
\r
121 "z": "c6a9f1ad.d0abe",
\r
125 "id": "637c1185.e9ab2",
\r
126 "type": "outcomeTrue",
\r
128 "xml": "<outcome value='true'>\n",
\r
131 "x": 1252.6940803527832,
\r
132 "y": 274.1627715229988,
\r
133 "z": "c6a9f1ad.d0abe",
\r
141 "id": "6b48247.18bfcdc",
\r
143 "name": "for loop idx - VF input parameters",
\r
144 "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
147 "x": 856.2814559936523,
\r
148 "y": 495.6666596531868,
\r
149 "z": "c6a9f1ad.d0abe",
\r
157 "id": "de525177.578e5",
\r
160 "xml": "<block>\n",
\r
164 "x": 1071.059799194336,
\r
165 "y": 493.2222436070442,
\r
166 "z": "c6a9f1ad.d0abe",
\r
175 "id": "f754a25f.6ce5b",
\r
177 "name": "execute split parameterName",
\r
178 "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
181 "x": 1267.3160018920898,
\r
182 "y": 470.9703820347786,
\r
183 "z": "c6a9f1ad.d0abe",
\r
189 "id": "a4e3fb1c.255518",
\r
191 "name": "set parameterName",
\r
192 "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
194 "x": 1236.7604293823242,
\r
195 "y": 507.9704983830452,
\r
196 "z": "c6a9f1ad.d0abe",
\r
200 "id": "af1423f9.97927",
\r
202 "name": "Take the parameter names by removing prefix",
\r
205 "x": 1240.2816581726074,
\r
206 "y": 430.3333280682564,
\r
207 "z": "c6a9f1ad.d0abe",
\r
211 "id": "18fb5a27.0012c6",
\r
212 "type": "switchNode",
\r
213 "name": "switch vnf_length",
\r
214 "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
\r
217 "x": 796.7812652587891,
\r
218 "y": 228.99999552965164,
\r
219 "z": "c6a9f1ad.d0abe",
\r
227 "id": "f110968e.0e58a8",
\r
230 "xml": "<outcome value=''>\n",
\r
233 "x": 983.4479446411133,
\r
234 "y": 228.33329325914383,
\r
235 "z": "c6a9f1ad.d0abe",
\r
243 "id": "241d819c.c8566e",
\r
244 "type": "returnFailure",
\r
245 "name": "return failure",
\r
246 "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
248 "x": 1165.1145706176758,
\r
249 "y": 228.33329325914383,
\r
250 "z": "c6a9f1ad.d0abe",
\r
254 "id": "987ea69b.4f3758",
\r
255 "type": "switchNode",
\r
256 "name": "switch vf-modules.vf-module_length",
\r
257 "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
\r
260 "x": 838.0312547683716,
\r
261 "y": 348.99999648332596,
\r
262 "z": "c6a9f1ad.d0abe",
\r
271 "id": "f6ea0a95.1bfcf8",
\r
274 "xml": "<outcome value=''>\n",
\r
277 "x": 1069.031265258789,
\r
278 "y": 324.999993622303,
\r
279 "z": "c6a9f1ad.d0abe",
\r
287 "id": "7969b2ec.a074ec",
\r
290 "xml": "<outcome value='Other'>\n",
\r
293 "x": 1069.031265258789,
\r
294 "y": 364.999993622303,
\r
295 "z": "c6a9f1ad.d0abe",
\r
303 "id": "95e71927.be46c8",
\r
305 "name": "set vf-index",
\r
306 "xml": "<set>\n<parameter name='vf-index' value='0' />\n",
\r
308 "x": 1211.531265258789,
\r
309 "y": 324.999993622303,
\r
310 "z": "c6a9f1ad.d0abe",
\r
314 "id": "53dfed7f.4e81b4",
\r
317 "xml": "<block>\n",
\r
321 "x": 1213.3883094787598,
\r
322 "y": 364.9365056157112,
\r
323 "z": "c6a9f1ad.d0abe",
\r
332 "id": "804dd88d.6a51d8",
\r
334 "name": "set vf-index",
\r
335 "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
337 "x": 1366.086784362793,
\r
338 "y": 334.55560430837795,
\r
339 "z": "c6a9f1ad.d0abe",
\r
343 "id": "bd7a9ede.140ae",
\r
345 "name": "for each existing vf-index",
\r
346 "xml": "<for index='idx' start='0' end='`$vf-index`' >\n",
\r
349 "x": 1422.5152893066406,
\r
350 "y": 387.77773410081863,
\r
351 "z": "c6a9f1ad.d0abe",
\r
359 "id": "96b53f57.6e1a2",
\r
361 "name": "make sure this network doesn't exist already",
\r
364 "x": 1646.1660194396973,
\r
365 "y": 346.0317915081978,
\r
366 "z": "c6a9f1ad.d0abe",
\r
370 "id": "549e64ff.4f02fc",
\r
371 "type": "switchNode",
\r
372 "name": "switch vf-module-id found",
\r
373 "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
376 "x": 1697.801010131836,
\r
377 "y": 387.3492367863655,
\r
378 "z": "c6a9f1ad.d0abe",
\r
386 "id": "789deb75.f505c4",
\r
387 "type": "outcomeTrue",
\r
389 "xml": "<outcome value='true'>\n",
\r
392 "x": 1598.53120803833,
\r
393 "y": 445.92066794633865,
\r
394 "z": "c6a9f1ad.d0abe",
\r
402 "id": "60c9009a.34691",
\r
403 "type": "returnFailure",
\r
404 "name": "return failure",
\r
405 "xml": "<return 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
407 "x": 1746.2813110351562,
\r
408 "y": 445.77786001516506,
\r
409 "z": "c6a9f1ad.d0abe",
\r
413 "id": "4156b8b2.c36818",
\r
415 "name": "copy input data to service data",
\r
416 "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-index].vf-module-id' value='`$prop.vpn-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\n",
\r
418 "x": 851.8844451904297,
\r
419 "y": 798.4962475895882,
\r
420 "z": "c6a9f1ad.d0abe",
\r
424 "id": "623a4487.e99e9c",
\r
426 "name": "execute generate-vf-module-index",
\r
427 "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\n<parameter name=\"ctx-destination\" value=\"prop.vpn-vf-index\"/>\n",
\r
430 "x": 863.218017578125,
\r
431 "y": 751.162949860096,
\r
432 "z": "c6a9f1ad.d0abe",
\r
438 "id": "5fd7b0fa.16e31",
\r
440 "name": "set new vf-module_length",
\r
441 "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-index + 1`' />",
\r
443 "x": 835.2180786132812,
\r
444 "y": 702.162949860096,
\r
445 "z": "c6a9f1ad.d0abe",
\r
449 "id": "12914a5f.e6b036",
\r
451 "name": "set vf-module-request-input.",
\r
452 "xml": "<set>\n<parameter name='vf-module-request-input.' value='`$vf-module-topology-operation-input.vf-module-request-input.`' />\n",
\r
454 "x": 835.2176055908203,
\r
455 "y": 648.1542380452156,
\r
456 "z": "c6a9f1ad.d0abe",
\r
460 "id": "9723e968.8650b8",
\r
462 "name": "set vf-module-level-oper-status",
\r
463 "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`' />",
\r
465 "x": 845.5314331054688,
\r
466 "y": 896.0000686645508,
\r
467 "z": "c6a9f1ad.d0abe",
\r
471 "id": "64fa1f85.6660d",
\r
473 "name": "save sdwan vpn resource in AAI",
\r
474 "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='sdwan-vpn' \n key='sdwan-vpn.sdwan-vpn-id = $prop.vpn-vf-index' >\n<parameter name='sdwan-vpn-id' value='`$prop.vpn-vf-index`' />\n<parameter name='sdwan-vpn-name' value='`$prop.name`' />\n<parameter name='topology' value='`$prop.topology`' />\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.vpn-vf-index + '/vf-module-data/'` \" />\n",
\r
477 "x": 852.0312938690186,
\r
478 "y": 941.5000165104866,
\r
479 "z": "c6a9f1ad.d0abe",
\r
485 "id": "37949d89.629082",
\r
487 "name": "save service relationship in AAI",
\r
488 "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=\"sdwan-vpn\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/sdwan-vpns/sdwan-vpn/' + $prop.vpn-vf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"sdwan-vpn.id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.vpn-vf-index`\" />\n\n\n<!--save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='site-resource:relationship-list' \n key='site-resource.site-resource-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=\"sdwan-site\" />\n<parameter name=\"relationship-list.relationship[0].related-link\" value=\"`'/network/sdwan-sites/sdwan-site/' + $prop.site-vf-index`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"sdwan-vpn.id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.site-vf-index`\" /-->\n",
\r
491 "x": 849.0312213897705,
\r
492 "y": 987.500047981739,
\r
493 "z": "c6a9f1ad.d0abe",
\r
499 "id": "7be42a51.991f94",
\r
500 "type": "returnSuccess",
\r
501 "name": "return success",
\r
502 "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
504 "x": 799.7537670135498,
\r
505 "y": 1034.6739071011543,
\r
506 "z": "c6a9f1ad.d0abe",
\r
510 "id": "4a04380d.9f4fa8",
\r
512 "name": "for loop i - Network input parameters",
\r
513 "xml": "<for index=\"idx\" start=\"0\" end=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n",
\r
516 "x": 863.2851715087891,
\r
517 "y": 584.5039075016975,
\r
518 "z": "c6a9f1ad.d0abe",
\r
526 "id": "b830a75.ba7e858",
\r
529 "xml": "<block>\n",
\r
533 "x": 1150.5080490112305,
\r
534 "y": 584.726221382618,
\r
535 "z": "c6a9f1ad.d0abe",
\r
544 "id": "e85749e.f646cb8",
\r
545 "type": "switchNode",
\r
546 "name": "switch name",
\r
547 "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name == 'name'`\">\n\n",
\r
550 "x": 1338.729892730713,
\r
551 "y": 567.0595255494118,
\r
552 "z": "c6a9f1ad.d0abe",
\r
560 "id": "44026e82.c4236",
\r
561 "type": "switchNode",
\r
562 "name": "switch topology",
\r
563 "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name == 'topology'`\">",
\r
566 "x": 1349.5695533752441,
\r
567 "y": 607.0595236420631,
\r
568 "z": "c6a9f1ad.d0abe",
\r
576 "id": "b01f15f5.803658",
\r
577 "type": "outcomeTrue",
\r
579 "xml": "<outcome value='true'>\n",
\r
582 "x": 1525.729892730713,
\r
583 "y": 563.0595255494118,
\r
584 "z": "c6a9f1ad.d0abe",
\r
592 "id": "9f894ed7.8915b",
\r
593 "type": "outcomeTrue",
\r
595 "xml": "<outcome value='true'>\n",
\r
598 "x": 1519.5695533752441,
\r
599 "y": 603.0595236420631,
\r
600 "z": "c6a9f1ad.d0abe",
\r
608 "id": "e28f739a.4fef3",
\r
610 "name": "set name",
\r
611 "xml": "<set>\n<parameter name='prop.name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].value`' />\n\n",
\r
613 "x": 1675.73002243042,
\r
614 "y": 561.6595321297646,
\r
615 "z": "c6a9f1ad.d0abe",
\r
619 "id": "3dd20fe.b268ef",
\r
621 "name": "set topology",
\r
622 "xml": "<set>\n<parameter name='prop.topology' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].value`' />\n",
\r
624 "x": 1706.9029941558838,
\r
625 "y": 601.5206804871559,
\r
626 "z": "c6a9f1ad.d0abe",
\r
630 "id": "ea1ae816.a77cc8",
\r
632 "name": "call GENERIC-RESOURCE-API:validate-sdwan-vf-vpn-input-parameters",
\r
633 "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-vf-vpn-input-parameters' mode='sync' >\n",
\r
636 "x": 964.5351715087891,
\r
637 "y": 174.00390750169754,
\r
638 "z": "c6a9f1ad.d0abe",
\r
644 "id": "43b512b5.67ddbc",
\r
646 "name": "set vf-module-object-path",
\r
647 "xml": "<set>\n<parameter name='vf-module-id' value='`$prop.site-vf-index`' />\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.vpn-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
649 "x": 837.5313110351562,
\r
650 "y": 847.0312881469727,
\r
651 "z": "c6a9f1ad.d0abe",
\r