3 "id": "bc28da2b.7303d8",
\r
4 "type": "service-logic",
\r
5 "name": "GENERIC-RESOURCE-API ${project.version}",
\r
6 "module": "GENERIC-RESOURCE-API",
\r
7 "version": "${project.version}",
\r
9 "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
11 "x": 323.0104064941406,
\r
12 "y": 132.99999237060547,
\r
13 "z": "eaff5db6.7dde1",
\r
21 "id": "dad83918.445348",
\r
23 "name": "sdwan-vf-operation-wanport-create",
\r
24 "xml": "<method rpc='sdwan-vf-operation-wanport-create' mode='sync'>\n",
\r
27 "x": 322.0104064941406,
\r
28 "y": 232.99999237060547,
\r
29 "z": "eaff5db6.7dde1",
\r
37 "id": "55cf0e90.e3564",
\r
41 "x": 179.51040267944336,
\r
43 "z": "eaff5db6.7dde1",
\r
51 "id": "ffb1ada3.8a76c",
\r
53 "name": "block : atomic",
\r
54 "xml": "<block atomic=\"true\">\n",
\r
58 "x": 481.01039123535156,
\r
59 "y": 349.0000009536743,
\r
60 "z": "eaff5db6.7dde1",
\r
81 "id": "470949db.a87688",
\r
83 "name": "for each vnf",
\r
84 "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
\r
87 "x": 781.3398132324219,
\r
88 "y": 240.49612522125244,
\r
89 "z": "eaff5db6.7dde1",
\r
97 "id": "4bf0f7e7.44aea8",
\r
98 "type": "switchNode",
\r
99 "name": "switch this vnf-id == input vnf-id",
\r
100 "xml": "<switch test=\"`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`\"> \n",
\r
103 "x": 1033.3399047851562,
\r
104 "y": 239.16278839111328,
\r
105 "z": "eaff5db6.7dde1",
\r
113 "id": "d918203.c2e31e",
\r
115 "name": "set vnf-index",
\r
116 "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
\r
118 "x": 1405.0063934326172,
\r
119 "y": 241.16279125213623,
\r
120 "z": "eaff5db6.7dde1",
\r
124 "id": "3d05a6f7.8cda9a",
\r
125 "type": "outcomeTrue",
\r
127 "xml": "<outcome value='true'>\n",
\r
130 "x": 1251.6732215881348,
\r
131 "y": 241.16277027130127,
\r
132 "z": "eaff5db6.7dde1",
\r
140 "id": "176bae50.e7ba42",
\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": 855.2605972290039,
\r
147 "y": 462.66665840148926,
\r
148 "z": "eaff5db6.7dde1",
\r
156 "id": "18c22866.3fa9a8",
\r
159 "xml": "<block>\n",
\r
163 "x": 1070.0389404296875,
\r
164 "y": 460.2222423553467,
\r
165 "z": "eaff5db6.7dde1",
\r
174 "id": "f7311df1.3a06f",
\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": 1266.2951431274414,
\r
181 "y": 437.97038078308105,
\r
182 "z": "eaff5db6.7dde1",
\r
188 "id": "eb8b9c09.06311",
\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": 1235.7395706176758,
\r
194 "y": 474.97049713134766,
\r
195 "z": "eaff5db6.7dde1",
\r
199 "id": "f77b19d7.8bb178",
\r
201 "name": "Take the parameter names by removing prefix",
\r
204 "x": 1239.260799407959,
\r
205 "y": 397.33332681655884,
\r
206 "z": "eaff5db6.7dde1",
\r
210 "id": "1946860c.52d49a",
\r
211 "type": "switchNode",
\r
212 "name": "switch vnf_length",
\r
213 "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
\r
216 "x": 795.7604064941406,
\r
217 "y": 195.9999942779541,
\r
218 "z": "eaff5db6.7dde1",
\r
226 "id": "89c152d0.6fb2c",
\r
229 "xml": "<outcome value=''>\n",
\r
232 "x": 982.4270858764648,
\r
233 "y": 195.3332920074463,
\r
234 "z": "eaff5db6.7dde1",
\r
242 "id": "869ba82c.b1cd68",
\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": 1164.0937118530273,
\r
248 "y": 195.3332920074463,
\r
249 "z": "eaff5db6.7dde1",
\r
253 "id": "986d9d2e.d652e",
\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": 837.0103960037231,
\r
260 "y": 315.9999952316284,
\r
261 "z": "eaff5db6.7dde1",
\r
270 "id": "6d96cae7.544aa4",
\r
273 "xml": "<outcome value=''>\n",
\r
276 "x": 1068.0104064941406,
\r
277 "y": 291.99999237060547,
\r
278 "z": "eaff5db6.7dde1",
\r
286 "id": "7b4aef1d.e8397",
\r
289 "xml": "<outcome value='Other'>\n",
\r
292 "x": 1068.0104064941406,
\r
293 "y": 331.99999237060547,
\r
294 "z": "eaff5db6.7dde1",
\r
302 "id": "8b1de33b.f87d8",
\r
304 "name": "set vf-index",
\r
305 "xml": "<set>\n<parameter name='vf-index' value='0' />\n",
\r
307 "x": 1210.5104064941406,
\r
308 "y": 291.99999237060547,
\r
309 "z": "eaff5db6.7dde1",
\r
313 "id": "e6620c2c.848df",
\r
316 "xml": "<block>\n",
\r
320 "x": 1212.3674507141113,
\r
321 "y": 331.9365043640137,
\r
322 "z": "eaff5db6.7dde1",
\r
331 "id": "8d5a09c0.be4698",
\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": 1365.0659255981445,
\r
337 "y": 301.5556030566804,
\r
338 "z": "eaff5db6.7dde1",
\r
342 "id": "9a648de3.1f16d",
\r
344 "name": "for each existing vf-index",
\r
345 "xml": "<for index='idx' start='0' end='`$vf-index`' >\n",
\r
348 "x": 1421.4944305419922,
\r
349 "y": 354.7777328491211,
\r
350 "z": "eaff5db6.7dde1",
\r
358 "id": "9105950c.e52f88",
\r
360 "name": "make sure this network doesn't exist already",
\r
363 "x": 1645.1451606750488,
\r
364 "y": 313.03179025650024,
\r
365 "z": "eaff5db6.7dde1",
\r
369 "id": "35f2967d.f1236a",
\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": 1696.7801513671875,
\r
376 "y": 354.34923553466797,
\r
377 "z": "eaff5db6.7dde1",
\r
385 "id": "7879d3b9.a48b9c",
\r
386 "type": "outcomeTrue",
\r
388 "xml": "<outcome value='true'>\n",
\r
391 "x": 1597.5103492736816,
\r
392 "y": 412.9206666946411,
\r
393 "z": "eaff5db6.7dde1",
\r
401 "id": "d7b29734.9c35b8",
\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": 1745.2604522705078,
\r
407 "y": 412.7778587634675,
\r
408 "z": "eaff5db6.7dde1",
\r
412 "id": "99ca206c.689c4",
\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.site-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",
\r
417 "x": 849.8635559082031,
\r
418 "y": 742.4961910247803,
\r
419 "z": "eaff5db6.7dde1",
\r
423 "id": "ad8e03c8.3f99",
\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.wan-port-vf-index\"/>\n",
\r
429 "x": 862.1971206665039,
\r
430 "y": 688.1629104614258,
\r
431 "z": "eaff5db6.7dde1",
\r
437 "id": "d12731ca.f4e9a",
\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": 834.1970672607422,
\r
443 "y": 635.1628475189209,
\r
444 "z": "eaff5db6.7dde1",
\r
448 "id": "1c96aac1.62b6a5",
\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": 846.1967353820801,
\r
454 "y": 525.1542224884033,
\r
455 "z": "eaff5db6.7dde1",
\r
459 "id": "45a27310.e17b0c",
\r
461 "name": "set vf-module-object-path",
\r
462 "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.wan-port-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
464 "x": 838.0104808807373,
\r
465 "y": 794.0000371932983,
\r
466 "z": "eaff5db6.7dde1",
\r
470 "id": "98b0c583.6fb0e8",
\r
472 "name": "set vf-module-level-oper-status",
\r
473 "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
475 "x": 852.5105400085449,
\r
476 "y": 843.9999303817749,
\r
477 "z": "eaff5db6.7dde1",
\r
481 "id": "187c318b.c5572e",
\r
483 "name": "save sdwan vpn resource in AAI",
\r
484 "xml": "<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='wan-port-config' \n key='wan-port-config.wan-port-config-id = $prop.vnf-index' >\n<parameter name=\"wan-port-config-id\" value=\"`$prop.vnf-index`\" />\n<parameter name=\"wan-port-config-name\" value=\"`$prop.wan.name`\" />\n<parameter name=\"device-id\" value=\"`$prop.wan.deviceName`\" />\n<parameter name='vlan-id' value=\"`$prop.wan.vlanId`\" />\n<parameter name=\"ip-address\" value=\"`$prop.wan.ipAddress`\" />\n<parameter name=\"provider-ip-address\" value=\"`$prop.wan.providerIpAddress`\" />\n<parameter name=\"input-bandwidth\" value=\"`$prop.wan.inputBandwidth`\" />\n<parameter name=\"output-bandwidth\" value=\"`$prop.wan.outputBandwidth`\" />\n<parameter name=\"description\" value=\"`$prop.wan.description`\" />\n<parameter name=\"port-type\" value=\"`$prop.wan.portType`\" />\n<parameter name=\"port-number\" value=\"`$prop.wan.portNumber`\" />\n<parameter name=\"transport-network-name\" value=\"`$prop.wan.transportNetworkName`\" />\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.site-vf-index + '/vf-module-data/'` \" />\n",
\r
487 "x": 856.0104484558105,
\r
488 "y": 887.4999761581421,
\r
489 "z": "eaff5db6.7dde1",
\r
495 "id": "29c03152.ef4a3e",
\r
497 "name": "save service relationship in AAI",
\r
498 "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.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\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
501 "x": 853.0103759765625,
\r
502 "y": 933.5000076293945,
\r
503 "z": "eaff5db6.7dde1",
\r
509 "id": "f3463186.010ce",
\r
510 "type": "returnSuccess",
\r
511 "name": "return success",
\r
512 "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
514 "x": 803.7329216003418,
\r
515 "y": 980.6738667488098,
\r
516 "z": "eaff5db6.7dde1",
\r
520 "id": "4efead29.a28254",
\r
522 "name": "call sdwan-get-wan-param",
\r
523 "xml": "<call module='GENERIC-RESOURCE-API' rpc='sdwan-get-wan-param' mode='sync' >\n",
\r
526 "x": 845.8992767333984,
\r
527 "y": 587.8888759613037,
\r
528 "z": "eaff5db6.7dde1",
\r