3 "id": "2464f2e7.0e2fce",
\r
5 "name": "block : atomic",
\r
6 "xml": "<block atomic=\"true\">\n",
\r
11 "y": 347.0000014305115,
\r
12 "z": "4e5f9446.b42e3c",
\r
34 "id": "4af2ac42.490d34",
\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": 292.00392150878906,
\r
43 "y": 130.99999284744263,
\r
44 "z": "4e5f9446.b42e3c",
\r
52 "id": "5b6c766c.98d2a8",
\r
54 "name": "sdwan-vf-operation-vpn-create",
\r
55 "xml": "<method rpc='sdwan-vf-operation-vpn-create' mode='sync'>\n",
\r
58 "x": 291.00392150878906,
\r
59 "y": 230.99999284744263,
\r
60 "z": "4e5f9446.b42e3c",
\r
68 "id": "4418c0ab.c80bf",
\r
72 "x": 121.50392150878906,
\r
73 "y": 42.00000047683716,
\r
74 "z": "4e5f9446.b42e3c",
\r
82 "id": "32c4b65c.2d59aa",
\r
84 "name": "for each vnf",
\r
85 "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
\r
88 "x": 750.3333282470703,
\r
89 "y": 238.4961256980896,
\r
90 "z": "4e5f9446.b42e3c",
\r
98 "id": "3161e290.49fc4e",
\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": 1002.3334197998047,
\r
105 "y": 237.16278886795044,
\r
106 "z": "4e5f9446.b42e3c",
\r
114 "id": "e5b08bcc.460cf8",
\r
116 "name": "set vnf-index",
\r
117 "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n\n",
\r
119 "x": 1373.9999084472656,
\r
120 "y": 239.1627917289734,
\r
121 "z": "4e5f9446.b42e3c",
\r
125 "id": "5b45671f.cd82a8",
\r
126 "type": "outcomeTrue",
\r
128 "xml": "<outcome value='true'>\n",
\r
131 "x": 1220.6667366027832,
\r
132 "y": 239.16277074813843,
\r
133 "z": "4e5f9446.b42e3c",
\r
141 "id": "94574a55.b19c88",
\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": 824.2541122436523,
\r
148 "y": 460.6666588783264,
\r
149 "z": "4e5f9446.b42e3c",
\r
157 "id": "213647dd.26e428",
\r
160 "xml": "<block>\n",
\r
164 "x": 1039.032455444336,
\r
165 "y": 458.22224283218384,
\r
166 "z": "4e5f9446.b42e3c",
\r
175 "id": "501e761.bc5eb88",
\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": 1235.2886581420898,
\r
182 "y": 435.9703812599182,
\r
183 "z": "4e5f9446.b42e3c",
\r
189 "id": "76a61aa5.aca9e4",
\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": 1204.7330856323242,
\r
195 "y": 472.9704976081848,
\r
196 "z": "4e5f9446.b42e3c",
\r
200 "id": "801b9de7.f8983",
\r
202 "name": "Take the parameter names by removing prefix",
\r
205 "x": 1208.2543144226074,
\r
206 "y": 395.333327293396,
\r
207 "z": "4e5f9446.b42e3c",
\r
211 "id": "5509b148.13914",
\r
212 "type": "switchNode",
\r
213 "name": "switch vnf_length",
\r
214 "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
\r
217 "x": 764.7539215087891,
\r
218 "y": 193.99999475479126,
\r
219 "z": "4e5f9446.b42e3c",
\r
227 "id": "1afa6ba0.b560d4",
\r
230 "xml": "<outcome value=''>\n",
\r
233 "x": 951.4206008911133,
\r
234 "y": 193.33329248428345,
\r
235 "z": "4e5f9446.b42e3c",
\r
243 "id": "f6ded972.6369c8",
\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": 1133.0872268676758,
\r
249 "y": 193.33329248428345,
\r
250 "z": "4e5f9446.b42e3c",
\r
254 "id": "aad7e68e.3b6ca8",
\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": 806.0039110183716,
\r
261 "y": 313.9999957084656,
\r
262 "z": "4e5f9446.b42e3c",
\r
271 "id": "e139df7a.80637",
\r
274 "xml": "<outcome value=''>\n",
\r
277 "x": 1037.003921508789,
\r
278 "y": 289.9999928474426,
\r
279 "z": "4e5f9446.b42e3c",
\r
287 "id": "caf10502.734168",
\r
290 "xml": "<outcome value='Other'>\n",
\r
293 "x": 1037.003921508789,
\r
294 "y": 329.9999928474426,
\r
295 "z": "4e5f9446.b42e3c",
\r
303 "id": "b4a2933f.20169",
\r
305 "name": "set vf-index",
\r
306 "xml": "<set>\n<parameter name='vf-index' value='0' />\n",
\r
308 "x": 1179.503921508789,
\r
309 "y": 289.9999928474426,
\r
310 "z": "4e5f9446.b42e3c",
\r
314 "id": "63770f1.c37c1f",
\r
317 "xml": "<block>\n",
\r
321 "x": 1181.3609657287598,
\r
322 "y": 329.93650484085083,
\r
323 "z": "4e5f9446.b42e3c",
\r
332 "id": "facab090.c3497",
\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": 1334.059440612793,
\r
338 "y": 299.55560353351757,
\r
339 "z": "4e5f9446.b42e3c",
\r
343 "id": "82e73ea.9f6d1c",
\r
345 "name": "for each existing vf-index",
\r
346 "xml": "<for index='idx' start='0' end='`$vf-index`' >\n",
\r
349 "x": 1390.4879455566406,
\r
350 "y": 352.77773332595825,
\r
351 "z": "4e5f9446.b42e3c",
\r
359 "id": "f1cb1fc.e0fb2e",
\r
361 "name": "make sure this network doesn't exist already",
\r
364 "x": 1614.1386756896973,
\r
365 "y": 311.0317907333374,
\r
366 "z": "4e5f9446.b42e3c",
\r
370 "id": "df7833b0.b66c4",
\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": 1665.773666381836,
\r
377 "y": 352.3492360115051,
\r
378 "z": "4e5f9446.b42e3c",
\r
386 "id": "f0bc8641.c01b88",
\r
387 "type": "outcomeTrue",
\r
389 "xml": "<outcome value='true'>\n",
\r
392 "x": 1566.50386428833,
\r
393 "y": 410.92066717147827,
\r
394 "z": "4e5f9446.b42e3c",
\r
402 "id": "ac9ea707.076ba8",
\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": 1714.2539672851562,
\r
408 "y": 410.7778592403047,
\r
409 "z": "4e5f9446.b42e3c",
\r
413 "id": "a50b2df2.ad39e",
\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": 819.8571014404297,
\r
419 "y": 763.4962468147278,
\r
420 "z": "4e5f9446.b42e3c",
\r
424 "id": "e23c49d7.715338",
\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": 831.190673828125,
\r
431 "y": 716.1629490852356,
\r
432 "z": "4e5f9446.b42e3c",
\r
438 "id": "7b54ca79.4bc724",
\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": 803.1907348632812,
\r
444 "y": 667.1629490852356,
\r
445 "z": "4e5f9446.b42e3c",
\r
449 "id": "7de1d3e.65c652c",
\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": 803.1902618408203,
\r
455 "y": 613.1542372703552,
\r
456 "z": "4e5f9446.b42e3c",
\r
460 "id": "e9af352a.620918",
\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": 813.5040893554688,
\r
466 "y": 861.0000678896904,
\r
467 "z": "4e5f9446.b42e3c",
\r
471 "id": "83fb72db.90602",
\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": 820.0039501190186,
\r
478 "y": 906.5000157356262,
\r
479 "z": "4e5f9446.b42e3c",
\r
485 "id": "bbeb53a3.c2576",
\r
486 "type": "returnSuccess",
\r
487 "name": "return success",
\r
488 "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
490 "x": 767.7264232635498,
\r
491 "y": 999.673906326294,
\r
492 "z": "4e5f9446.b42e3c",
\r
496 "id": "37a48c20.31bdf4",
\r
498 "name": "for loop i - Network input parameters",
\r
499 "xml": "<for index=\"idx\" start=\"0\" end=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`\">\n",
\r
502 "x": 831.2578277587891,
\r
503 "y": 549.5039067268372,
\r
504 "z": "4e5f9446.b42e3c",
\r
512 "id": "4c79fd81.204e24",
\r
515 "xml": "<block>\n",
\r
519 "x": 1118.4807052612305,
\r
520 "y": 549.7262206077576,
\r
521 "z": "4e5f9446.b42e3c",
\r
530 "id": "6ee57e2b.017f1",
\r
531 "type": "switchNode",
\r
532 "name": "switch name",
\r
533 "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name == 'name'`\">\n\n",
\r
536 "x": 1306.702548980713,
\r
537 "y": 532.0595247745514,
\r
538 "z": "4e5f9446.b42e3c",
\r
546 "id": "6d15949f.a4f72c",
\r
547 "type": "switchNode",
\r
548 "name": "switch topology",
\r
549 "xml": "<switch test=\"`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$idx].name == 'topology'`\">",
\r
552 "x": 1317.5422096252441,
\r
553 "y": 572.0595228672028,
\r
554 "z": "4e5f9446.b42e3c",
\r
562 "id": "3f65f879.eac058",
\r
563 "type": "outcomeTrue",
\r
565 "xml": "<outcome value='true'>\n",
\r
568 "x": 1493.702548980713,
\r
569 "y": 528.0595247745514,
\r
570 "z": "4e5f9446.b42e3c",
\r
578 "id": "a2b79be1.ed04c8",
\r
579 "type": "outcomeTrue",
\r
581 "xml": "<outcome value='true'>\n",
\r
584 "x": 1487.5422096252441,
\r
585 "y": 568.0595228672028,
\r
586 "z": "4e5f9446.b42e3c",
\r
594 "id": "2305c57e.8cca7a",
\r
596 "name": "set name",
\r
597 "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
599 "x": 1643.70267868042,
\r
600 "y": 526.6595313549042,
\r
601 "z": "4e5f9446.b42e3c",
\r
605 "id": "4726038d.e1157c",
\r
607 "name": "set topology",
\r
608 "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
610 "x": 1674.8756504058838,
\r
611 "y": 566.5206797122955,
\r
612 "z": "4e5f9446.b42e3c",
\r
616 "id": "c012bd48.a280b",
\r
618 "name": "call GENERIC-RESOURCE-API:validate-sdwan-vf-vpn-input-parameters",
\r
619 "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-vf-vpn-input-parameters' mode='sync' >\n",
\r
622 "x": 932.5078277587891,
\r
623 "y": 139.00390672683716,
\r
624 "z": "4e5f9446.b42e3c",
\r
630 "id": "3e34e572.c1fb4a",
\r
632 "name": "set vf-module-object-path",
\r
633 "xml": "<set>\n<parameter name='vf-module-id' value='`$prop.vpn-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
635 "x": 805.5039672851562,
\r
636 "y": 812.0312873721123,
\r
637 "z": "4e5f9446.b42e3c",
\r
641 "id": "370a2393.20ff3c",
\r
643 "name": "save service relationship in AAI",
\r
644 "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",
\r
647 "x": 820.0040283203125,
\r
648 "y": 954.000156879425,
\r
649 "z": "4e5f9446.b42e3c",
\r