a8587049586c637f2a51cc4f46e377c1d75e377b
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_validate-sotn-network-input-parameters.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     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
4     <method rpc='validate-sotn-network-input-parameters' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\r
7                 <outcome value=''>\r
8                     <return status='failure'>\r
9                         <parameter name='ack-final' value='Y'/>\r
10                         <parameter name="error-code" value="500" />\r
11                         <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />\r
12                     </return>\r
13                 </outcome>\r
14             </switch>\r
15             <switch test='`$network-topology-operation-input.sdnc-request-header.svc-action`'>\r
16                 <outcome value='create'>\r
17                     <block atomic="true">\r
18                         <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
19                             <outcome value='CreateSOTNConnectivityIntance'>\r
20                                 <block atomic="true">\r
21                                     <for index="i" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">\r
22                                         <block>\r
23                                             <set>\r
24                                                 <parameter name='tmp.name' value='' />\r
25                                                 <parameter name='tmp.value' value='' />\r
26                                             </set>\r
27                                             <set>\r
28                                                 <parameter name='tmp.name' value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].name`"/>\r
29                                                 <parameter name='tmp.value' value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$i].value`"/>\r
30                                             </set>\r
31                                             <switch test="`$tmp.name`">\r
32                                                 <outcome value='name'>\r
33                                                     <switch test="`$tmp.value`">\r
34                                                         <outcome value=''>\r
35                                                             <return status='failure'>\r
36                                                                 <parameter name='ack-final' value='Y'/>\r
37                                                                 <parameter name="error-code" value="500" />\r
38                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />\r
39                                                             </return>\r
40                                                         </outcome>\r
41                                                     </switch>\r
42                                                 </outcome>\r
43                                                 <outcome value='description'>\r
44                                                     <switch test="`$tmp.value`">\r
45                                                         <outcome value=''>\r
46                                                             <return status='failure'>\r
47                                                                 <parameter name='ack-final' value='Y'/>\r
48                                                                 <parameter name="error-code" value="500" />\r
49                                                                 <parameter name="error-message" value="`'network-request-input.network-input-parameters.param '+ $tmp.name +' is a required input'`" />\r
50                                                             </return>\r
51                                                         </outcome>\r
52                                                     </switch>\r
53                                                 </outcome>\r
54                                                 <outcome value=''>\r
55                                                     <return status='failure'>\r
56                                                         <parameter name='ack-final' value='Y'/>\r
57                                                         <parameter name="error-code" value="500" />\r
58                                                         <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />\r
59                                                     </return>\r
60                                                 </outcome>\r
61                                             </switch>\r
62                                         </block>\r
63                                     </for>\r
64                                 </block>\r
65                             </outcome>\r
66                             <outcome value='Other'>\r
67                                 <return status='failure'>\r
68                                     <parameter name='ack-final' value='Y'/>\r
69                                     <parameter name="error-code" value="500" />\r
70                                     <parameter name="error-message" value="request-information.request-action is required to be SOTN CreateVPNNetworkInstance for svc-action=create" />\r
71                                 </return>\r
72                             </outcome>\r
73                         </switch>\r
74                     </block>\r
75                 </outcome>\r
76                 <outcome value='activate'>\r
77                     <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
78                         <outcome value='ActivateSOTNConnectivityIntance'>\r
79                             <block atomic="true">\r
80                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
81                                     <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>\r
82                                 </execute>\r
83                                 <switch test="`$network-topology-operation-input.network-information.network-id`">\r
84                                     <outcome value=''>\r
85                                         <return status='failure'>\r
86                                             <parameter name='ack-final' value='Y'/>\r
87                                             <parameter name="error-code" value="500" />\r
88                                             <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
89                                         </return>\r
90                                     </outcome>\r
91                                 </switch>\r
92                                 <switch test='`$service-data.networks.network_length`'>\r
93                                     <outcome value=''>\r
94                                         <return status='failure'>\r
95                                             <parameter name='ack-final' value='Y'/>\r
96                                             <parameter name="error-code" value="500" />\r
97                                             <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
98                                         </return>\r
99                                     </outcome>\r
100                                     <outcome value='Other'>\r
101                                         <block atomic="true">\r
102                                             <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
103                                                 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
104                                                     <outcome value='true'>\r
105                                                         <block atomic="true">\r
106                                                             <set>\r
107                                                                 <parameter name='tmp.nidx' value='`$nidx`' />\r
108                                                                 <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />\r
109                                                             </set>\r
110                                                             <break></break>\r
111                                                         </block>\r
112                                                     </outcome>\r
113                                                 </switch>\r
114                                             </for>\r
115                                             <switch test="`$tmp.nidx`">\r
116                                                 <outcome value=''>\r
117                                                     <return status='failure'>\r
118                                                         <parameter name='ack-final' value='Y'/>\r
119                                                         <parameter name="error-code" value="500" />\r
120                                                         <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
121                                                     </return>\r
122                                                 </outcome>\r
123                                             </switch>\r
124                                         </block>\r
125                                     </outcome>\r
126                                 </switch>\r
127                                 <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
128                                     <outcome value='Created'>\r
129                                         <block atomic="true"></block>\r
130                                     </outcome>\r
131                                     <outcome value='Other'>\r
132                                         <return status='failure'>\r
133                                             <parameter name='ack-final' value='Y'/>\r
134                                             <parameter name="error-code" value="500" />\r
135                                             <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                                         </return>\r
137                                     </outcome>\r
138                                 </switch>\r
139                             </block>\r
140                         </outcome>\r
141                         <outcome value='Other'>\r
142                             <return status='failure'>\r
143                                 <parameter name='ack-final' value='Y'/>\r
144                                 <parameter name="error-code" value="500" />\r
145                                 <parameter name="error-message" value="request-information.request-action is required to be SOTN ActivateVPNNetworkInstance for svc-action=activate" />\r
146                             </return>\r
147                         </outcome>\r
148                     </switch>\r
149                 </outcome>\r
150                 <outcome value='deactivate'>\r
151                     <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
152                         <outcome value='DeactivateSOTNConnectivityIntance'>\r
153                             <block atomic="true">\r
154                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
155                                     <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>\r
156                                 </execute>\r
157                                 <switch test="`$network-topology-operation-input.network-information.network-id`">\r
158                                     <outcome value=''>\r
159                                         <return status='failure'>\r
160                                             <parameter name='ack-final' value='Y'/>\r
161                                             <parameter name="error-code" value="500" />\r
162                                             <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
163                                         </return>\r
164                                     </outcome>\r
165                                 </switch>\r
166                                 <switch test='`$service-data.networks.network_length`'>\r
167                                     <outcome value=''>\r
168                                         <return status='failure'>\r
169                                             <parameter name='ack-final' value='Y'/>\r
170                                             <parameter name="error-code" value="500" />\r
171                                             <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
172                                         </return>\r
173                                     </outcome>\r
174                                     <outcome value='Other'>\r
175                                         <block atomic="true">\r
176                                             <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
177                                                 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
178                                                     <outcome value='true'>\r
179                                                         <block atomic="true">\r
180                                                             <set>\r
181                                                                 <parameter name='tmp.nidx' value='`$nidx`' />\r
182                                                                 <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />\r
183                                                             </set>\r
184                                                             <break></break>\r
185                                                         </block>\r
186                                                     </outcome>\r
187                                                 </switch>\r
188                                             </for>\r
189                                             <switch test="`$tmp.nidx`">\r
190                                                 <outcome value=''>\r
191                                                     <return status='failure'>\r
192                                                         <parameter name='ack-final' value='Y'/>\r
193                                                         <parameter name="error-code" value="500" />\r
194                                                         <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
195                                                     </return>\r
196                                                 </outcome>\r
197                                             </switch>\r
198                                         </block>\r
199                                     </outcome>\r
200                                 </switch>\r
201                                 <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
202                                     <outcome value='Active'>\r
203                                         <block atomic="true"></block>\r
204                                     </outcome>\r
205                                     <outcome value='Other'>\r
206                                         <return status='failure'>\r
207                                             <parameter name='ack-final' value='Y'/>\r
208                                             <parameter name="error-code" value="500" />\r
209                                             <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
210                                         </return>\r
211                                     </outcome>\r
212                                 </switch>\r
213                             </block>\r
214                         </outcome>\r
215                         <outcome value='Other'>\r
216                             <return status='failure'>\r
217                                 <parameter name='ack-final' value='Y'/>\r
218                                 <parameter name="error-code" value="500" />\r
219                                 <parameter name="error-message" value="request-information.request-action is required to be SOTN DeactivateVPNNetworkInstance for svc-action=deactivate" />\r
220                             </return>\r
221                         </outcome>\r
222                     </switch>\r
223                 </outcome>\r
224                 <outcome value='delete'>\r
225                     <switch test='`$network-topology-operation-input.request-information.request-action`'>\r
226                         <outcome value='DeleteSOTNConnectivityIntance'>\r
227                             <block atomic="true">\r
228                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
229                                     <parameter name="network-topology-operation-input.network-information.network-id" value="$network-topology-operation-input.network-information.network-id"/>\r
230                                 </execute>\r
231                                 <switch test="`$network-topology-operation-input.network-information.network-id`">\r
232                                     <outcome value=''>\r
233                                         <return status='failure'>\r
234                                             <parameter name='ack-final' value='Y'/>\r
235                                             <parameter name="error-code" value="500" />\r
236                                             <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
237                                         </return>\r
238                                     </outcome>\r
239                                 </switch>\r
240                                 <switch test='`$service-data.networks.network_length`'>\r
241                                     <outcome value=''>\r
242                                         <return status='failure'>\r
243                                             <parameter name='ack-final' value='Y'/>\r
244                                             <parameter name="error-code" value="500" />\r
245                                             <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
246                                         </return>\r
247                                     </outcome>\r
248                                     <outcome value='Other'>\r
249                                         <block atomic="true">\r
250                                             <for index='nidx' start='0' end='`$service-data.networks.network_length`' >\r
251                                                 <switch test="`$service-data.networks.network[$nidx].network-id == $network-topology-operation-input.network-information.network-id`">\r
252                                                     <outcome value='true'>\r
253                                                         <block atomic="true">\r
254                                                             <set>\r
255                                                                 <parameter name='tmp.nidx' value='`$nidx`' />\r
256                                                                 <parameter name='ctx.network-data.' value='`$service-data.networks.network[$nidx].network-data.`' />\r
257                                                             </set>\r
258                                                             <break></break>\r
259                                                         </block>\r
260                                                     </outcome>\r
261                                                 </switch>\r
262                                             </for>\r
263                                             <switch test="`$tmp.nidx`">\r
264                                                 <outcome value=''>\r
265                                                     <return status='failure'>\r
266                                                         <parameter name='ack-final' value='Y'/>\r
267                                                         <parameter name="error-code" value="500" />\r
268                                                         <parameter name="error-message" value="network-topology-operation-input.network-request-input.network-id not found in service-data" />\r
269                                                     </return>\r
270                                                 </outcome>\r
271                                             </switch>\r
272                                         </block>\r
273                                     </outcome>\r
274                                 </switch>\r
275                                 <switch test='`$service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status`'>\r
276                                     <outcome value='PendingDelete'>\r
277                                         <block atomic="true"></block>\r
278                                     </outcome>\r
279                                     <outcome value='Other'>\r
280                                         <return status='failure'>\r
281                                             <parameter name='ack-final' value='Y'/>\r
282                                             <parameter name="error-code" value="500" />\r
283                                             <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
284                                         </return>\r
285                                     </outcome>\r
286                                 </switch>\r
287                             </block>\r
288                         </outcome>\r
289                         <outcome value='Other'>\r
290                             <return status='failure'>\r
291                                 <parameter name='ack-final' value='Y'/>\r
292                                 <parameter name="error-code" value="500" />\r
293                                 <parameter name="error-message" value="request-information.request-action is required to be SOTN DeleteVPNNetworkInstance for svc-action=delete" />\r
294                             </return>\r
295                         </outcome>\r
296                     </switch>\r
297                 </outcome>\r
298                 <outcome value='Other'>\r
299                     <return status='failure'>\r
300                         <parameter name='ack-final' value='Y'/>\r
301                         <parameter name="error-code" value="500" />\r
302                         <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />\r
303                     </return>\r
304                 </outcome>\r
305             </switch>\r
306         </block>\r
307     </method>\r
308 </service-logic>\r