1 <?xml version="1.0" encoding="utf-8"?>
4 xmlns='http://www.onap.org/sdnc/svclogic'
5 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}'>
6 <method rpc='network-topology-operation' mode='sync'>
8 <call module='GENERIC-RESOURCE-API' rpc='validate-network-input' mode='sync' ></call>
9 <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>
10 <outcome value='assign'>
12 <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
13 <outcome value='Created'>
14 <return status='failure'>
15 <parameter name='ack-final' value='Y'/>
16 <parameter name="error-code" value="500" />
17 <parameter name="error-message" value="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
20 <outcome value='PendingDelete'>
21 <return status='failure'>
22 <parameter name='ack-final' value='Y'/>
23 <parameter name="error-code" value="500" />
24 <parameter name="error-message" value="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
27 <outcome value='PendingCreate'>
28 <return status='failure'>
29 <parameter name='ack-final' value='Y'/>
30 <parameter name="error-code" value="500" />
31 <parameter name="error-message" value="`'Network is not in appropriate state for assign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
34 <outcome value='Other'>
35 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-assign' mode='sync' ></call>
40 <outcome value='activate'>
41 <switch test='`$network-topology-operation-input.request-information.request-action`'>
42 <outcome value='ActivateSOTNConnectivityInstance'>
43 <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-activate' mode='sync' ></call>
45 <outcome value='ActivateDCINetworkInstance'>
46 <call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-activate' mode='sync' ></call>
48 <outcome value='ActivateSDWANConnectivityInstance'>
49 <call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-activate' mode='sync' ></call>
51 <outcome value='other'>
52 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >
53 <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
54 <parameter name="target" value="wan-connection"/>
55 <outcome value='true'>
56 <call module='GENERIC-RESOURCE-API' rpc='wan-connection-topology-operation-activate' mode='sync' ></call>
58 <outcome value='false'>
60 <switch test='`$service-data.networks.network_length`'>
62 <return status='failure'>
63 <parameter name='ack-final' value='Y'/>
64 <parameter name="error-code" value="500" />
65 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
68 <outcome value='Other'>
70 <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
71 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
72 <outcome value='true'>
74 <parameter name='tmp.nidx' value='`$nidx`' />
75 <parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />
80 <switch test="`$tmp.nidx`">
82 <return status='failure'>
83 <parameter name='ack-final' value='Y'/>
84 <parameter name="error-code" value="500" />
85 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
88 <outcome value='Other'>
90 <parameter name='nidx' value='`$tmp.nidx`' />
97 <switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>
99 <return status='success'></return>
101 <outcome value='Other'>
103 <switch test='`$service-data.network-instance-groups.network-instance-group_length`'>
105 <return status='failure'>
106 <parameter name='ack-final' value='Y'/>
107 <parameter name="error-code" value="500" />
108 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data" />
111 <outcome value='Other'>
112 <block atomic="true">
113 <for index='ngidx' start='0' end='`$service-data.network-instance-groups.network-instance-_length`' >
114 <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
115 <outcome value='true'>
116 <block atomic="true">
118 <parameter name='tmp.ngidx' value='`$ngidx`' />
119 <parameter name='ctx.network-instance-group-data.' value='`$service-data.network-instance-groups.network-instance-group[$ngidx].`' />
131 <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
132 <outcome value='PendingCreate'>
133 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-activate' mode='sync' ></call>
135 <outcome value='Other'>
136 <return status='failure'>
137 <parameter name='ack-final' value='Y'/>
138 <parameter name="error-code" value="500" />
139 <parameter name="error-message" value="`'Network is not in appropriate state for activate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
149 <outcome value='changeassign'>
150 <block atomic="true">
151 <switch test='`$service-data.networks.network_length`'>
153 <return status='failure'>
154 <parameter name='ack-final' value='Y'/>
155 <parameter name="error-code" value="500" />
156 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
159 <outcome value='Other'>
160 <block atomic="true">
161 <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
162 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
163 <outcome value='true'>
165 <parameter name='tmp.nidx' value='`$nidx`' />
166 <parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />
171 <switch test="`$tmp.nidx`">
173 <return status='failure'>
174 <parameter name='ack-final' value='Y'/>
175 <parameter name="error-code" value="500" />
176 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
179 <outcome value='Other'>
181 <parameter name='nidx' value='`$tmp.nidx`' />
188 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-changeassign' mode='sync' ></call>
191 <outcome value='deactivate'>
192 <switch test='`$network-topology-operation-input.request-information.request-action`'>
193 <outcome value='DeactivateSOTNConnectivityInstance'>
194 <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-deactivate' mode='sync' ></call>
196 <outcome value='DeActivateDCINetworkInstance'>
197 <call module='GENERIC-RESOURCE-API' rpc='dci-connects-network-topology-operation-deactivate' mode='sync' ></call>
199 <outcome value='DeactivateSDWANConnectivityInstance'>
200 <call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-deactivate' mode='sync' ></call>
202 <outcome value='Other'>
203 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >
204 <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
205 <parameter name="target" value="wan-connection"/>
206 <outcome value='true'>
207 <call module='GENERIC-RESOURCE-API' rpc='wan-connection-topology-operation-deactivate' mode='sync' ></call>
209 <outcome value='false'>
210 <block atomic="true">
211 <switch test='`$service-data.networks.network_length`'>
213 <return status='failure'>
214 <parameter name='ack-final' value='Y'/>
215 <parameter name="error-code" value="500" />
216 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
219 <outcome value='Other'>
220 <block atomic="true">
221 <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
222 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
223 <outcome value='true'>
225 <parameter name='tmp.nidx' value='`$nidx`' />
226 <parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />
231 <switch test="`$tmp.nidx`">
233 <return status='failure'>
234 <parameter name='ack-final' value='Y'/>
235 <parameter name="error-code" value="500" />
236 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
239 <outcome value='Other'>
241 <parameter name='nidx' value='`$tmp.nidx`' />
248 <switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>
250 <return status='success'></return>
252 <outcome value='Other'>
254 <switch test='`$service-data.network-instance-groups.network-instance-group_length`'>
256 <return status='failure'>
257 <parameter name='ack-final' value='Y'/>
258 <parameter name="error-code" value="500" />
259 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data" />
262 <outcome value='Other'>
263 <block atomic="true">
264 <for index='ngidx' start='0' end='`$service-data.network-instance-groups.network-instance-_length`' >
265 <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
266 <outcome value='true'>
267 <block atomic="true">
269 <parameter name='tmp.ngidx' value='`$ngidx`' />
270 <parameter name='ctx.network-instance-group-data.' value='`$service-data.network-instance-groups.network-instance-group[$ngidx].`' />
282 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-deactivate' mode='sync' ></call>
289 <outcome value='unassign'>
290 <block atomic="true">
291 <switch test='`$service-data.networks.network_length`'>
293 <return status='failure'>
294 <parameter name='ack-final' value='Y'/>
295 <parameter name="error-code" value="500" />
296 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
299 <outcome value='Other'>
300 <block atomic="true">
301 <for index='nidx' start='0' end='`$service-data.networks.network_length`' >
302 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
303 <outcome value='true'>
305 <parameter name='tmp.nidx' value='`$nidx`' />
306 <parameter name='network-data.' value='`$service-data.networks.network[$nidx].`' />
311 <switch test="`$tmp.nidx`">
313 <return status='failure'>
314 <parameter name='ack-final' value='Y'/>
315 <parameter name="error-code" value="500" />
316 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
319 <outcome value='Other'>
321 <parameter name='nidx' value='`$tmp.nidx`' />
328 <switch test='`$network-topology-operation-input.network-information.network-instance-group-id`'>
330 <return status='success'></return>
332 <outcome value='Other'>
334 <switch test='`$service-data.network-instance-groups.network-instance-group_length`'>
336 <return status='failure'>
337 <parameter name='ack-final' value='Y'/>
338 <parameter name="error-code" value="500" />
339 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data" />
342 <outcome value='Other'>
343 <block atomic="true">
344 <for index='ngidx' start='0' end='`$service-data.network-instance-groups.network-instance-_length`' >
345 <switch test="`$service-data.network-instance-groups.network-instance-group[$nidx].network-instance-group-id == $network-topology-operation-input.network-information.network-instance-group-id`">
346 <outcome value='true'>
347 <block atomic="true">
349 <parameter name='tmp.ngidx' value='`$ngidx`' />
350 <parameter name='ctx.network-instance-group-data.' value='`$service-data.network-instance-groups.network-instance-group[$ngidx].`' />
362 <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>
363 <outcome value='PendingCreate'>
364 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' ></call>
366 <outcome value='PendingDelete'>
367 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-unassign' mode='sync' ></call>
369 <outcome value='Other'>
370 <return status='failure'>
371 <parameter name='ack-final' value='Y'/>
372 <parameter name="error-code" value="500" />
373 <parameter name="error-message" value="`'Network is not in appropriate state for unassign. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
379 <outcome value='ChangeInternetProfileInstance'>
380 <for index='idx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
381 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'vendor'`">
382 <outcome value='true'>
383 <switch test='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`'>
384 <outcome value='HUAWEI'>
385 <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-network-topology-operation-change-huawei' mode='sync' ></call>
387 <outcome value='NOKIA'>
388 <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-network-topology-operation-change-nokia' mode='sync' ></call>
390 <outcome value='Other'>
391 <return status='failure'>
392 <parameter name='ack-final' value='Y'/>
393 <parameter name="error-code" value="500" />
394 <parameter name="error-message" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name+' is invalid vendor,please check!'`" />
402 <outcome value='create'>
403 <switch test='`$network-topology-operation-input.request-information.request-action`'>
404 <outcome value='CreateSOTNConnectivityInstance'>
405 <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-create' mode='sync' ></call>
407 <outcome value='CreateSDWANConnectivityInstance'>
408 <call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-create' mode='sync' ></call>
410 <outcome value='other'>
411 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >
412 <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
413 <parameter name="target" value="wan-connection"/>
414 <outcome value='true'>
415 <call module='GENERIC-RESOURCE-API' rpc='wan-connection-topology-operation-create' mode='sync' ></call>
417 <outcome value='false'>
418 <block atomic="true">
419 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-create' mode='sync' ></call>
424 <outcome value='CreateInternetProfileInstance'>
425 <for index='idx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
426 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'vendor'`">
427 <outcome value='true'>
428 <switch test='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`'>
429 <outcome value='HUAWEI'>
430 <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-network-topology-operation-create-huawei' mode='sync' ></call>
432 <outcome value='NOKIA'>
433 <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-network-topology-operation-create-nokia' mode='sync' ></call>
435 <outcome value='Other'>
436 <return status='failure'>
437 <parameter name='ack-final' value='Y'/>
438 <parameter name="error-code" value="500" />
439 <parameter name="error-message" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name+' is invalid vendor,please check!'`" />
447 <outcome value='CreateAccessConnectivityInstance'>
448 <for index='idx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
449 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'vendor'`">
450 <outcome value='true'>
451 <switch test='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`'>
452 <outcome value='HUAWEI'>
453 <call module='GENERIC-RESOURCE-API' rpc='bbs-access-connectivity-network-topology-operation-create-huawei' mode='sync' ></call>
455 <outcome value='NOKIA'>
456 <call module='GENERIC-RESOURCE-API' rpc='bbs-access-connectivity-network-topology-operation-create-nokia' mode='sync' ></call>
458 <outcome value='Other'>
459 <return status='failure'>
460 <parameter name='ack-final' value='Y'/>
461 <parameter name="error-code" value="500" />
462 <parameter name="error-message" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name+' is invalid vendor,please check!'`" />
472 <outcome value='delete'>
473 <switch test='`$network-topology-operation-input.request-information.request-action`'>
474 <outcome value='DeleteSOTNConnectivityInstance'>
475 <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-delete' mode='sync' ></call>
477 <outcome value='DeleteSDWANConnectivityInstance'>
478 <call module='GENERIC-RESOURCE-API' rpc='sdwan-network-topology-operation-delete' mode='sync' ></call>
480 <outcome value='other'>
481 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' >
482 <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
483 <parameter name="target" value="wan-connection"/>
484 <outcome value='true'>
485 <call module='GENERIC-RESOURCE-API' rpc='wan-connection-topology-operation-deactivate' mode='sync' ></call>
487 <outcome value='false'>
488 <block atomic="true">
489 <call module='GENERIC-RESOURCE-API' rpc='network-topology-operation-delete' mode='sync' ></call>
494 <outcome value='DeleteAccessConnectivityInstance'>
495 <for index='idx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
496 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'vendor'`">
497 <outcome value='true'>
498 <switch test='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`'>
499 <outcome value='Other'>
500 <return status='failure'>
501 <parameter name='ack-final' value='Y'/>
502 <parameter name="error-code" value="500" />
503 <parameter name="error-message" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name+' is invalid vendor,please check!'`" />
506 <outcome value='HUAWEI'>
507 <call module='GENERIC-RESOURCE-API' rpc='bbs-access-connectivity-network-topology-operation-delete-huawei' mode='sync' ></call>
509 <outcome value='NOKIA'>
510 <call module='GENERIC-RESOURCE-API' rpc='bbs-access-connectivity-network-topology-operation-delete-nokia' mode='sync' ></call>
517 <outcome value='DeleteInternetProfileInstance'>
518 <for index='idx' start='0' end='`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`' >
519 <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'vendor'`">
520 <outcome value='true'>
521 <switch test='`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`'>
522 <outcome value='Other'>
523 <return status='failure'>
524 <parameter name='ack-final' value='Y'/>
525 <parameter name="error-code" value="500" />
526 <parameter name="error-message" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name+' is invalid vendor,please check!'`" />
529 <outcome value='HUAWEI'>
530 <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-network-topology-operation-delete-huawei' mode='sync' ></call>
532 <outcome value='NOKIA'>
533 <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-network-topology-operation-delete-nokia' mode='sync' ></call>
542 <outcome value='reoptimize'>
543 <switch test='`$network-topology-operation-input.request-information.request-action`'>
544 <outcome value='ReoptimizeSOTNInstance'>
545 <call module='GENERIC-RESOURCE-API' rpc='sotn-network-topology-operation-reoptimize' mode='sync' ></call>
549 <outcome value='Other'>
550 <return status='failure'>
551 <parameter name='ack-final' value='Y'/>
552 <parameter name="error-code" value="500" />
553 <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
558 <parameter name="ack-final" value="Y"/>
560 <return status='success'>
561 <parameter name="ack-final-indicator" value="Y" />
562 <parameter name="error-code" value="200" />
563 <parameter name="error-message" value="`$error-message`" />