1 <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="1.2.1-SNAPSHOT">
\r
2 <method rpc="validate-sotn-network-input-parameters" mode="sync">
\r
3 <block atomic="true">
\r
4 <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
\r
6 <return status="failure">
\r
7 <parameter name="ack-final" value="Y" />
\r
8 <parameter name="error-code" value="500" />
\r
9 <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />
\r
13 <switch test="`$network-topology-operation-input.sdnc-request-header.svc-action`">
\r
14 <outcome value="create">
\r
15 <block atomic="true">
\r
16 <switch test="`$network-topology-operation-input.request-information.request-action`">
\r
17 <outcome value="CreateSOTNConnectivityIntance">
\r
18 <block atomic="true">
\r
19 <for index="i" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
\r
22 <parameter name="tmp.name" value="" />
\r
23 <parameter name="tmp.value" value="" />
\r
26 <parameter name="tmp.name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].name`" />
\r
27 <parameter name="tmp.value" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].value`" />
\r
29 <switch test="`$tmp.name`">
\r
30 <outcome value="name">
\r
31 <switch test="`$tmp.value`">
\r
33 <return status="failure">
\r
34 <parameter name="ack-final" value="Y" />
\r
35 <parameter name="error-code" value="500" />
\r
36 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />
\r
41 <outcome value="description">
\r
42 <switch test="`$tmp.value`">
\r
44 <return status="failure">
\r
45 <parameter name="ack-final" value="Y" />
\r
46 <parameter name="error-code" value="500" />
\r
47 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />
\r
53 <return status="failure">
\r
54 <parameter name="ack-final" value="Y" />
\r
55 <parameter name="error-code" value="500" />
\r
56 <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />
\r
64 <outcome value="Other">
\r
65 <return status="failure">
\r
66 <parameter name="ack-final" value="Y" />
\r
67 <parameter name="error-code" value="500" />
\r
68 <parameter name="error-message" value="request-information.request-action is required to be SOTN CreateVPNNetworkInstance for svc-action=create" />
\r
74 <outcome value="activate">
\r
75 <switch test="`$network-topology-operation-input.request-information.request-action`">
\r
76 <outcome value="ActivateSOTNConnectivityIntance">
\r
77 <block atomic="true">
\r
78 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="requiredParameters">
\r
79 <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id" />
\r
81 <switch test="`$network-topology-operation-input.network-information.network-id`">
\r
83 <return status="failure">
\r
84 <parameter name="ack-final" value="Y" />
\r
85 <parameter name="error-code" value="500" />
\r
86 <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
\r
90 <switch test="`$service-data.networks.network_length`">
\r
92 <return status="failure">
\r
93 <parameter name="ack-final" value="Y" />
\r
94 <parameter name="error-code" value="500" />
\r
95 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
98 <outcome value="Other">
\r
99 <block atomic="true">
\r
100 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r
101 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
102 <outcome value="true">
\r
104 <parameter name="tmp.nidx" value="`$nidx`" />
\r
105 <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].network-data.`" />
\r
110 <switch test="`$tmp.nidx`">
\r
112 <return status="failure">
\r
113 <parameter name="ack-final" value="Y" />
\r
114 <parameter name="error-code" value="500" />
\r
115 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
122 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r
123 <outcome value="Created">
\r
124 <block atomic="true" />
\r
126 <outcome value="Other">
\r
127 <return status="failure">
\r
128 <parameter name="ack-final" value="Y" />
\r
129 <parameter name="error-code" value="500" />
\r
130 <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
136 <outcome value="Other">
\r
137 <return status="failure">
\r
138 <parameter name="ack-final" value="Y" />
\r
139 <parameter name="error-code" value="500" />
\r
140 <parameter name="error-message" value="request-information.request-action is required to be SOTN ActivateVPNNetworkInstance for svc-action=activate" />
\r
145 <outcome value="deactivate">
\r
146 <switch test="`$network-topology-operation-input.request-information.request-action`">
\r
147 <outcome value="DeactivateSOTNConnectivityIntance">
\r
148 <block atomic="true">
\r
149 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="requiredParameters">
\r
150 <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id" />
\r
152 <switch test="`$network-topology-operation-input.network-information.network-id`">
\r
154 <return status="failure">
\r
155 <parameter name="ack-final" value="Y" />
\r
156 <parameter name="error-code" value="500" />
\r
157 <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
\r
161 <switch test="`$service-data.networks.network_length`">
\r
163 <return status="failure">
\r
164 <parameter name="ack-final" value="Y" />
\r
165 <parameter name="error-code" value="500" />
\r
166 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
169 <outcome value="Other">
\r
170 <block atomic="true">
\r
171 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r
172 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
173 <outcome value="true">
\r
175 <parameter name="tmp.nidx" value="`$nidx`" />
\r
176 <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].network-data.`" />
\r
181 <switch test="`$tmp.nidx`">
\r
183 <return status="failure">
\r
184 <parameter name="ack-final" value="Y" />
\r
185 <parameter name="error-code" value="500" />
\r
186 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
193 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r
194 <outcome value="Active">
\r
195 <block atomic="true" />
\r
197 <outcome value="Other">
\r
198 <return status="failure">
\r
199 <parameter name="ack-final" value="Y" />
\r
200 <parameter name="error-code" value="500" />
\r
201 <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
207 <outcome value="Other">
\r
208 <return status="failure">
\r
209 <parameter name="ack-final" value="Y" />
\r
210 <parameter name="error-code" value="500" />
\r
211 <parameter name="error-message" value="request-information.request-action is required to be SOTN DeactivateVPNNetworkInstance for svc-action=deactivate" />
\r
216 <outcome value="delete">
\r
217 <switch test="`$network-topology-operation-input.request-information.request-action`">
\r
218 <outcome value="DeleteSOTNConnectivityIntance">
\r
219 <block atomic="true">
\r
220 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="requiredParameters">
\r
221 <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id" />
\r
223 <switch test="`$network-topology-operation-input.network-information.network-id`">
\r
225 <return status="failure">
\r
226 <parameter name="ack-final" value="Y" />
\r
227 <parameter name="error-code" value="500" />
\r
228 <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />
\r
232 <switch test="`$service-data.networks.network_length`">
\r
234 <return status="failure">
\r
235 <parameter name="ack-final" value="Y" />
\r
236 <parameter name="error-code" value="500" />
\r
237 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
240 <outcome value="Other">
\r
241 <block atomic="true">
\r
242 <for index="nidx" start="0" end="`$service-data.networks.network_length`">
\r
243 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">
\r
244 <outcome value="true">
\r
246 <parameter name="tmp.nidx" value="`$nidx`" />
\r
247 <parameter name="ctx.network-data." value="`$service-data.networks.network[$nidx].network-data.`" />
\r
252 <switch test="`$tmp.nidx`">
\r
254 <return status="failure">
\r
255 <parameter name="ack-final" value="Y" />
\r
256 <parameter name="error-code" value="500" />
\r
257 <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />
\r
264 <switch test="`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`">
\r
265 <outcome value="PendingDelete">
\r
266 <block atomic="true" />
\r
268 <outcome value="Other">
\r
269 <return status="failure">
\r
270 <parameter name="ack-final" value="Y" />
\r
271 <parameter name="error-code" value="500" />
\r
272 <parameter name="error-message" value="`'Network is not in appropriate state for delete. Current state is ' + $service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`" />
\r
278 <outcome value="Other">
\r
279 <return status="failure">
\r
280 <parameter name="ack-final" value="Y" />
\r
281 <parameter name="error-code" value="500" />
\r
282 <parameter name="error-message" value="request-information.request-action is required to be SOTN DeleteVPNNetworkInstance for svc-action=delete" />
\r
287 <outcome value="Other">
\r
288 <return status="failure">
\r
289 <parameter name="ack-final" value="Y" />
\r
290 <parameter name="error-code" value="500" />
\r
291 <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />
\r