1 <?xml version="1.0" encoding="UTF-8"?>
\r
2 <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
3 <method rpc="network-topology-operation" mode="sync">
\r
4 <block atomic="true">
\r
5 <call module="GENERIC-RESOURCE-API" rpc="validate-network-input" mode="sync" />
\r
6 <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
\r
7 <outcome value="assign">
\r
8 <block atomic="true">
\r
9 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-assign" mode="sync" />
\r
12 <outcome value="activate">
\r
13 <switch test="`$network-topology-operation-input.request-information.request-action`">
\r
14 <outcome value="ActivateDCINetworkInstance">
\r
15 <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-activate" mode="sync" />
\r
17 <outcome value="other">
\r
18 <block atomic="true">
\r
19 <switch test="`$service-data.networks.network_length`">
\r
21 <return status="failure">
\r
22 <parameter name="ack-final" value="Y" />
\r
23 <parameter name="error-code" value="500" />
\r
24 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
27 <outcome value="Other">
\r
28 <block atomic="true">
\r
29 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r
30 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
31 <outcome value="true">
\r
33 <parameter name="tmp.nidx" value="`$nidx`" />
\r
34 <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
\r
39 <switch test="`$tmp.nidx`">
\r
41 <return status="failure">
\r
42 <parameter name="ack-final" value="Y" />
\r
43 <parameter name="error-code" value="500" />
\r
44 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
51 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r
52 <outcome value="PendingCreate">
\r
53 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-activate" mode="sync" />
\r
55 <outcome value="Other">
\r
56 <return status="failure">
\r
57 <parameter name="ack-final" value="Y" />
\r
58 <parameter name="error-code" value="500" />
\r
59 <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`" />
\r
67 <outcome value="deactivate">
\r
68 <block atomic="true">
\r
69 <switch test="`$service-data.networks.network_length`">
\r
71 <return status="failure">
\r
72 <parameter name="ack-final" value="Y" />
\r
73 <parameter name="error-code" value="500" />
\r
74 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
77 <outcome value="Other">
\r
78 <block atomic="true">
\r
79 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r
80 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
81 <outcome value="true">
\r
83 <parameter name="tmp.nidx" value="`$nidx`" />
\r
84 <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
\r
89 <switch test="`$tmp.nidx`">
\r
91 <return status="failure">
\r
92 <parameter name="ack-final" value="Y" />
\r
93 <parameter name="error-code" value="500" />
\r
94 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
101 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r
102 <outcome value="Created">
\r
103 <switch test="`$network-topology-operation-input.request-information.request-action`">
\r
104 <outcome value="DeActivateDCINetworkInstance">
\r
105 <call module="GENERIC-RESOURCE-API" rpc="dci-connects-network-topology-operation-deactivate" mode="sync" />
\r
107 <outcome value="Other">
\r
108 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-deactivate" mode="sync" />
\r
112 <outcome value="Other">
\r
113 <return status="failure">
\r
114 <parameter name="ack-final" value="Y" />
\r
115 <parameter name="error-code" value="500" />
\r
116 <parameter name="error-message" value="`'Network is not in appropriate state for deactivate. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
\r
122 <outcome value="unassign">
\r
123 <block atomic="true">
\r
124 <switch test="`$service-data.networks.network_length`">
\r
126 <return status="failure">
\r
127 <parameter name="ack-final" value="Y" />
\r
128 <parameter name="error-code" value="500" />
\r
129 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
132 <outcome value="Other">
\r
133 <block atomic="true">
\r
134 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r
135 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
136 <outcome value="true">
\r
138 <parameter name="tmp.nidx" value="`$nidx`" />
\r
139 <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].`" />
\r
144 <switch test="`$tmp.nidx`">
\r
146 <return status="failure">
\r
147 <parameter name="ack-final" value="Y" />
\r
148 <parameter name="error-code" value="500" />
\r
149 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
156 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r
157 <outcome value="PendingCreate">
\r
158 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync" />
\r
160 <outcome value="PendingDelete">
\r
161 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-unassign" mode="sync" />
\r
163 <outcome value="Other">
\r
164 <return status="failure">
\r
165 <parameter name="ack-final" value="Y" />
\r
166 <parameter name="error-code" value="500" />
\r
167 <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`" />
\r
173 <outcome value="Other">
\r
174 <return status="failure">
\r
175 <parameter name="ack-final" value="Y" />
\r
176 <parameter name="error-code" value="500" />
\r
177 <parameter name="error-message" value="sdnc-request-header.svc-action is a required input" />
\r
180 <outcome value="create">
\r
181 <block atomic="true">
\r
182 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-create" mode="sync" />
\r
185 <outcome value="delete">
\r
186 <block atomic="true">
\r
187 <call module="GENERIC-RESOURCE-API" rpc="network-topology-operation-delete" mode="sync" />
\r
192 <parameter name="ack-final" value="Y" />
\r
194 <return status="success">
\r
195 <parameter name="ack-final-indicator" value="Y" />
\r
196 <parameter name="error-code" value="200" />
\r
197 <parameter name="error-message" value="`$error-message`" />
\r