1 <?xml version="1.0" encoding="utf-8"?>
3 <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}">
4 <method rpc="network-topology-operation" mode="sync">
6 <call module="GENERIC-RESOURCE-API" rpc="validate-network-input" mode="sync"></call>
7 <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
8 <outcome value="assign">
10 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
11 <outcome value="Created">
12 <return status="failure">
13 <parameter name="ack-final" value="Y"/>
14 <parameter name="error-code" value="500"/>
15 <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`"/>
18 <outcome value="PendingDelete">
19 <return status="failure">
20 <parameter name="ack-final" value="Y"/>
21 <parameter name="error-code" value="500"/>
22 <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`"/>
25 <outcome value="PendingCreate">
26 <return status="failure">
27 <parameter name="ack-final" value="Y"/>
28 <parameter name="error-code" value="500"/>
29 <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`"/>
32 <outcome value="Other">
33 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-assign" mode="sync"></call>
38 <outcome value="activate">
39 <switch test="`$network-topology-operation-input.request-information.request-action`">
40 <outcome value="ActivateSOTNConnectivityInstance">
41 <call module="GENERIC-RESOURCE-API" rpc="sotn-network-topology-operation-activate" mode="sync"></call>
43 <outcome value="ActivateDCINetworkInstance">
44 <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-activate" mode="sync"></call>
46 <outcome value="ActivateSDWANConnectivityInstance">
47 <call module="GENERIC-RESOURCE-API" rpc="sdwan-network-topology-operation-activate" mode="sync"></call>
49 <outcome value="other">
50 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
51 <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
52 <parameter name="target" value="wan-connection"/>
53 <outcome value="true">
54 <call module="GENERIC-RESOURCE-API" rpc="wan-connection-topology-operation-activate" mode="sync"></call>
56 <outcome value="false">
58 <switch test="`$service-data.networks.network_length`">
60 <return status="failure">
61 <parameter name="ack-final" value="Y"/>
62 <parameter name="error-code" value="500"/>
63 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
66 <outcome value="Other">
68 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
69 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
70 <outcome value="true">
72 <parameter name="tmp.nidx" value="`$nidx`"/>
73 <parameter name="network-data." value="`$service-data.networks.network[$nidx].`"/>
78 <switch test="`$tmp.nidx`">
80 <return status="failure">
81 <parameter name="ack-final" value="Y"/>
82 <parameter name="error-code" value="500"/>
83 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
86 <outcome value="Other">
88 <parameter name="nidx" value="`$tmp.nidx`"/>
95 <switch test="`$network-topology-operation-input.network-information.network-instance-group-id`">
97 <return status="success"></return>
99 <outcome value="Other">
101 <switch test="`$service-data.network-instance-groups.network-instance-group_length`">
103 <return status="failure">
104 <parameter name="ack-final" value="Y"/>
105 <parameter name="error-code" value="500"/>
106 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data"/>
109 <outcome value="Other">
110 <block atomic="true">
111 <for index="ngidx" start="0" end="`$service-data.network-instance-groups.network-instance-_length`">
112 <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`">
113 <outcome value="true">
114 <block atomic="true">
116 <parameter name="tmp.ngidx" value="`$ngidx`"/>
117 <parameter name="ctx.network-instance-group-data." value="`$service-data.network-instance-groups.network-instance-group[$ngidx].`"/>
129 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
130 <outcome value="PendingCreate">
131 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-activate" mode="sync"></call>
133 <outcome value="Other">
134 <return status="failure">
135 <parameter name="ack-final" value="Y"/>
136 <parameter name="error-code" value="500"/>
137 <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`"/>
147 <outcome value="changeassign">
148 <block atomic="true">
149 <switch test="`$service-data.networks.network_length`">
151 <return status="failure">
152 <parameter name="ack-final" value="Y"/>
153 <parameter name="error-code" value="500"/>
154 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
157 <outcome value="Other">
158 <block atomic="true">
159 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
160 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
161 <outcome value="true">
163 <parameter name="tmp.nidx" value="`$nidx`"/>
164 <parameter name="network-data." value="`$service-data.networks.network[$nidx].`"/>
169 <switch test="`$tmp.nidx`">
171 <return status="failure">
172 <parameter name="ack-final" value="Y"/>
173 <parameter name="error-code" value="500"/>
174 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
177 <outcome value="Other">
179 <parameter name="nidx" value="`$tmp.nidx`"/>
186 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-changeassign" mode="sync"></call>
189 <outcome value="deactivate">
190 <switch test="`$network-topology-operation-input.request-information.request-action`">
191 <outcome value="DeactivateSOTNConnectivityInstance">
192 <call module="GENERIC-RESOURCE-API" rpc="sotn-network-topology-operation-deactivate" mode="sync"></call>
194 <outcome value="DeActivateDCINetworkInstance">
195 <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-deactivate" mode="sync"></call>
197 <outcome value="DeactivateSDWANConnectivityInstance">
198 <call module="GENERIC-RESOURCE-API" rpc="sdwan-network-topology-operation-deactivate" mode="sync"></call>
200 <outcome value="Other">
201 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
202 <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
203 <parameter name="target" value="wan-connection"/>
204 <outcome value="true">
205 <call module="GENERIC-RESOURCE-API" rpc="wan-connection-topology-operation-deactivate" mode="sync"></call>
207 <outcome value="false">
208 <block atomic="true">
209 <switch test="`$service-data.networks.network_length`">
211 <return status="failure">
212 <parameter name="ack-final" value="Y"/>
213 <parameter name="error-code" value="500"/>
214 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
217 <outcome value="Other">
218 <block atomic="true">
219 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
220 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
221 <outcome value="true">
223 <parameter name="tmp.nidx" value="`$nidx`"/>
224 <parameter name="network-data." value="`$service-data.networks.network[$nidx].`"/>
229 <switch test="`$tmp.nidx`">
231 <return status="failure">
232 <parameter name="ack-final" value="Y"/>
233 <parameter name="error-code" value="500"/>
234 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
237 <outcome value="Other">
239 <parameter name="nidx" value="`$tmp.nidx`"/>
246 <switch test="`$network-topology-operation-input.network-information.network-instance-group-id`">
248 <return status="success"></return>
250 <outcome value="Other">
252 <switch test="`$service-data.network-instance-groups.network-instance-group_length`">
254 <return status="failure">
255 <parameter name="ack-final" value="Y"/>
256 <parameter name="error-code" value="500"/>
257 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data"/>
260 <outcome value="Other">
261 <block atomic="true">
262 <for index="ngidx" start="0" end="`$service-data.network-instance-groups.network-instance-_length`">
263 <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`">
264 <outcome value="true">
265 <block atomic="true">
267 <parameter name="tmp.ngidx" value="`$ngidx`"/>
268 <parameter name="ctx.network-instance-group-data." value="`$service-data.network-instance-groups.network-instance-group[$ngidx].`"/>
280 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-deactivate" mode="sync"></call>
287 <outcome value="unassign">
288 <block atomic="true">
289 <switch test="`$service-data.networks.network_length`">
291 <return status="failure">
292 <parameter name="ack-final" value="Y"/>
293 <parameter name="error-code" value="500"/>
294 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
297 <outcome value="Other">
298 <block atomic="true">
299 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
300 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
301 <outcome value="true">
303 <parameter name="tmp.nidx" value="`$nidx`"/>
304 <parameter name="network-data." value="`$service-data.networks.network[$nidx].`"/>
309 <switch test="`$tmp.nidx`">
311 <return status="failure">
312 <parameter name="ack-final" value="Y"/>
313 <parameter name="error-code" value="500"/>
314 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data"/>
317 <outcome value="Other">
319 <parameter name="nidx" value="`$tmp.nidx`"/>
326 <switch test="`$network-topology-operation-input.network-information.network-instance-group-id`">
328 <return status="success"></return>
330 <outcome value="Other">
332 <switch test="`$service-data.network-instance-groups.network-instance-group_length`">
334 <return status="failure">
335 <parameter name="ack-final" value="Y"/>
336 <parameter name="error-code" value="500"/>
337 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-instance-group-id not found in service-data"/>
340 <outcome value="Other">
341 <block atomic="true">
342 <for index="ngidx" start="0" end="`$service-data.network-instance-groups.network-instance-_length`">
343 <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`">
344 <outcome value="true">
345 <block atomic="true">
347 <parameter name="tmp.ngidx" value="`$ngidx`"/>
348 <parameter name="ctx.network-instance-group-data." value="`$service-data.network-instance-groups.network-instance-group[$ngidx].`"/>
360 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
361 <outcome value="PendingCreate">
362 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync"></call>
364 <outcome value="PendingDelete">
365 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync"></call>
367 <outcome value="Other">
368 <return status="failure">
369 <parameter name="ack-final" value="Y"/>
370 <parameter name="error-code" value="500"/>
371 <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`"/>
377 <outcome value="create">
378 <switch test="`$network-topology-operation-input.request-information.request-action`">
379 <outcome value="CreateSOTNConnectivityInstance">
380 <call module="GENERIC-RESOURCE-API" rpc="sotn-network-topology-operation-create" mode="sync"></call>
382 <outcome value="CreateSDWANConnectivityInstance">
383 <call module="GENERIC-RESOURCE-API" rpc="sdwan-network-topology-operation-create" mode="sync"></call>
385 <outcome value="other">
386 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
387 <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
388 <parameter name="target" value="wan-connection"/>
389 <outcome value="true">
390 <call module="GENERIC-RESOURCE-API" rpc="wan-connection-topology-operation-create" mode="sync"></call>
392 <outcome value="false">
393 <block atomic="true">
394 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-create" mode="sync"></call>
401 <outcome value="delete">
402 <switch test="`$network-topology-operation-input.request-information.request-action`">
403 <outcome value="DeleteSOTNConnectivityInstance">
404 <call module="GENERIC-RESOURCE-API" rpc="sotn-network-topology-operation-delete" mode="sync"></call>
406 <outcome value="DeleteSDWANConnectivityInstance">
407 <call module="GENERIC-RESOURCE-API" rpc="sdwan-network-topology-operation-delete" mode="sync"></call>
409 <outcome value="other">
410 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains">
411 <parameter name="source" value="`$network-topology-operation-input.service-information.onap-model-information.model-name`"/>
412 <parameter name="target" value="wan-connection"/>
413 <outcome value="true">
414 <call module="GENERIC-RESOURCE-API" rpc="wan-connection-topology-operation-deactivate" mode="sync"></call>
416 <outcome value="false">
417 <block atomic="true">
418 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-delete" mode="sync"></call>
425 <outcome value="Other">
426 <return status="failure">
427 <parameter name="ack-final" value="Y"/>
428 <parameter name="error-code" value="500"/>
429 <parameter name="error-message" value="sdnc-request-header.svc-action is a required input"/>
434 <parameter name="ack-final" value="Y"/>
436 <return status="success">
437 <parameter name="ack-final-indicator" value="Y"/>
438 <parameter name="error-code" value="200"/>
439 <parameter name="error-message" value="`$error-message`"/>