Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_contrail-route-topology-operation-unassign.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4     <method rpc='contrail-route-topology-operation-unassign' mode='sync'>
5         <block atomic="true">
6             <set>
7                 <parameter name='tmp.ar.allotted-resource-id' value='`$contrail-route-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
8                 <parameter name='tmp.ar.parent-service-instance-id' value='`$contrail-route-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
9             </set>
10             <set>
11                 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/'
12  + $tmp.ar.allotted-resource-id
13  + '/allotted-resource-data/contrail-route-topology/'` " />
14             </set>
15             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
16                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
17                 <parameter name='contextPrefix' value='prop' />
18             </execute>
19             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
20                 <parameter name="source" value="`$prop.restapi.cr-allottedresource`"/>
21                 <parameter name="outputPath" value="tmp.ar-url"/>
22                 <parameter name="target" value="{allotted-resource-id}"/>
23                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
24             </execute>
25             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
26                 <parameter name="source" value="`$prop.restapi.parent-provided-resource`"/>
27                 <parameter name="outputPath" value="tmp.parent-ar-url"/>
28                 <parameter name="target" value="{service-instance-id}"/>
29                 <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
30             </execute>
31             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
32                 <parameter name="source" value="`$tmp.parent-ar-url`"/>
33                 <parameter name="outputPath" value="tmp.parent-ar-url"/>
34                 <parameter name="target" value="{allotted-resource-id}"/>
35                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
36             </execute>
37             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
38                 <parameter name="source" value="`$prop.restapi.network`"/>
39                 <parameter name="outputPath" value="tmp.ar-parentnetwork-url"/>
40                 <parameter name="target" value="{service-instance-id}"/>
41                 <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
42             </execute>
43             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
44                 <parameter name="source" value="`$prop.restapi.network-provided-resource`"/>
45                 <parameter name="outputPath" value="tmp.network-ar-url"/>
46                 <parameter name="target" value="{service-instance-id}"/>
47                 <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>
48             </execute>
49             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
50                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
51                 <parameter name='restapiUser' value='`$prop.controller.user`' />
52                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
53                 <parameter name='format' value='json' />
54                 <parameter name='httpMethod' value='GET' />
55                 <parameter name="responsePrefix" value="mdsal-ar" />
56                 <outcome value='success'>
57                     <block atomic="true">
58                         <switch test='`$mdsal-ar.contrail-route-allotted-resource_length`'>
59                             <outcome value='1'>
60                                 <block atomic='true'>
61                                     <set>
62                                         <parameter name='bk-cr-ar' value='$mdsal-ar.' />
63                                     </set>
64                                     <set>
65                                         <parameter name='ar.' value='$mdsal-ar.contrail-route-allotted-resource[0].' />
66                                     </set>
67                                     <switch test='`$ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>
68                                         <outcome value='Created'>
69                                             <return status='failure'>
70                                                 <parameter name='ack-final' value='Y'/>
71                                                 <parameter name="error-code" value="500" />
72                                                 <parameter name="error-message" 
73     value="`'Existing contrail-route-allotted-resource with order status of ' + $ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />
74                                             </return>
75                                         </outcome>
76                                         <outcome value='Other'>
77                                             <block></block>
78                                         </outcome>
79                                     </switch>
80                                     <set>
81                                         <parameter name='sz-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$sz-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />
82                                         <parameter name='sz-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$sz-ar.allotted-resource-status.rpc-action`' />
83                                         <parameter name='sz-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$sz-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />
84                                     </set>
85                                 </block>
86                             </outcome>
87                             <outcome value='Other'>
88                                 <return status='failure'>
89                                     <parameter name='ack-final' value='Y'/>
90                                     <parameter name="error-code" value="404" />
91                                     <parameter name="error-message" value="Error: Contrail Route not found" />
92                                 </return>
93                             </outcome>
94                         </switch>
95                     </block>
96                 </outcome>
97                 <outcome value='Other'>
98                     <block atomic="true">
99                         <return status='failure'>
100                             <parameter name='ack-final' value='Y'/>
101                             <parameter name="error-code" value="404" />
102                             <parameter name="error-message" value="Error: Contrail Route not found" />
103                         </return>
104                     </block>
105                 </outcome>
106             </execute>
107             <set>
108                 <parameter name='ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
109                 <parameter name='ar.allotted-resource-status.action' value="`$contrail-route-topology-operation-input.request-information.request-action` " />
110                 <parameter name='ar.allotted-resource-status.rpc-name' value="contrail-route-topology-operation" />
111                 <parameter name='ar.allotted-resource-status.rpc-action' value="`$contrail-route-topology-operation-input.sdnc-request-header.svc-action` " />
112                 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$contrail-route-topology-operation-input.request-information.` " />
113                 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$contrail-route-topology-operation-input.sdnc-request-header.` " />
114                 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$contrail-route-topology-operation-input.service-information.` " />
115                 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$contrail-route-topology-operation-input.allotted-resource-information.` " />
116                 <parameter name='ar.allotted-resource-data.allotted-resource-operation-information.contrail-route-request-input.' value="`$contrail-route-topology-operation-input.contrail-route-request-input.` " />
117                 <parameter name='tmp.dest-network-id' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.dest-network.network-id`' />
118             </set>
119             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
120                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />
121                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />
122                 <parameter name='restapiUser' value='`$prop.controller.user`' />
123                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
124                 <parameter name='format' value='json' />
125                 <parameter name='httpMethod' value='DELETE' />
126                 <parameter name="responsePrefix" value="parent" />
127                 <outcome value='success'>
128                     <block></block>
129                 </outcome>
130                 <outcome value='failure'>
131                     <return status='failure'>
132                         <parameter name='ack-final' value='Y'/>
133                         <parameter name="error-code" value="500" />
134                         <parameter name="error-message" value="Error updating md-sal for contrail-route-allotted-resource" />
135                     </return>
136                 </outcome>
137                 <outcome value='not-found'>
138                     <return status='failure'>
139                         <parameter name='ack-final' value='Y'/>
140                         <parameter name="error-code" value="500" />
141                         <parameter name="error-message" value="Error updating md-sal for contrail-route-allotted-resource" />
142                     </return>
143                 </outcome>
144             </execute>
145             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
146                 <parameter name="source" value="`$tmp.network-ar-url`"/>
147                 <parameter name="outputPath" value="tmp.network-ar-url"/>
148                 <parameter name="target" value="{network-id}"/>
149                 <parameter name="replacement" value="`$tmp.dest-network-id`"/>
150             </execute>
151             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
152                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.network-ar-url`' />
153                 <parameter name='restapiUser' value='`$prop.controller.user`' />
154                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
155                 <parameter name='format' value='json' />
156                 <parameter name='httpMethod' value='GET' />
157                 <parameter name="responsePrefix" value="net-ar" />
158                 <outcome value='success'>
159                     <block atomic="true">
160                         <set>
161                             <parameter name='tmp.found-nidx' value='false' />
162                         </set>
163                         <switch test='`$net-ar.network-provided-allotted-resources.network-provided-ar-id_length`'>
164                             <outcome value=''>
165                                 <block atomic="true"></block>
166                             </outcome>
167                             <outcome value='Other'>
168                                 <block atomic="true">
169                                     <for index='nidx' start='0' end='`$net-ar.network-provided-allotted-resources.network-provided-ar-id_length`' >
170                                         <switch test="`$net-ar.network-provided-allotted-resources.network-provided-ar-id[$nidx] == $tmp.ar.allotted-resource-id`">
171                                             <outcome value='true'>
172                                                 <block atomic="true">
173                                                     <set>
174                                                         <parameter name='tmp.found-nidx' value='true' />
175                                                         <parameter name='tmp.nidx' value='`$nidx`' />
176                                                     </set>
177                                                     <break/>
178                                                 </block>
179                                             </outcome>
180                                         </switch>
181                                     </for>
182                                     <switch test='`$tmp.found-nidx`'>
183                                         <outcome value='true'>
184                                             <block atomic="true">
185                                                 <for silentFailure='true' index='snidx' start='`$tmp.nidx + 1`' end='`$net-ar.network-provided-allotted-resources.network-provided-ar-id_length`' >
186                                                     <block atomic="true">
187                                                         <set>
188                                                             <parameter name="tmp.newidx" value="`$snidx - 1`"/>
189                                                         </set>
190                                                         <set>
191                                                             <parameter name="$net-ar.network-provided-allotted-resources.network-provided-ar-id[$tmp.newidx]" value="$net-ar.network-provided-allotted-resources.network-provided-ar-id[$snidx]" />
192                                                         </set>
193                                                     </block>
194                                                 </for>
195                                                 <set>
196                                                     <parameter name='net-ar.network-provided-allotted-resources.network-provided-ar-id_length' value='`$net-ar.network-provided-allotted-resources.network-provided-ar-id_length - 1`' />
197                                                 </set>
198                                                 <switch test='`$net-ar.network-provided-allotted-resources.network-provided-ar-id_length == 0`'>
199                                                     <outcome value='true'>
200                                                         <block atomic="true">
201                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
202                                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-ar.templatefile`" />
203                                                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.network-ar-url`' />
204                                                                 <parameter name='restapiUser' value='`$prop.controller.user`' />
205                                                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
206                                                                 <parameter name='format' value='json' />
207                                                                 <parameter name='httpMethod' value='DELETE' />
208                                                                 <parameter name="responsePrefix" value="p-network-ar" />
209                                                                 <outcome value='success'>
210                                                                     <block></block>
211                                                                 </outcome>
212                                                                 <outcome value='failure'>
213                                                                     <block></block>
214                                                                 </outcome>
215                                                                 <outcome value='not-found'>
216                                                                     <block></block>
217                                                                 </outcome>
218                                                             </execute>
219                                                         </block>
220                                                     </outcome>
221                                                     <outcome value='false'>
222                                                         <block atomic="true">
223                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
224                                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-ar.templatefile`" />
225                                                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.network-ar-url`' />
226                                                                 <parameter name='restapiUser' value='`$prop.controller.user`' />
227                                                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
228                                                                 <parameter name='format' value='json' />
229                                                                 <parameter name='httpMethod' value='PUT' />
230                                                                 <parameter name="responsePrefix" value="p-network-ar" />
231                                                                 <outcome value='success'>
232                                                                     <block></block>
233                                                                 </outcome>
234                                                                 <outcome value='failure'>
235                                                                     <block></block>
236                                                                 </outcome>
237                                                                 <outcome value='not-found'>
238                                                                     <block></block>
239                                                                 </outcome>
240                                                             </execute>
241                                                         </block>
242                                                     </outcome>
243                                                 </switch>
244                                             </block>
245                                         </outcome>
246                                     </switch>
247                                 </block>
248                             </outcome>
249                         </switch>
250                     </block>
251                 </outcome>
252                 <outcome value='not-found'>
253                     <block atomic="true"></block>
254                 </outcome>
255                 <outcome value='failure'>
256                     <block atomic="true"></block>
257                 </outcome>
258             </execute>
259             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
260                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
261                 <parameter name='restapiUser' value='`$prop.controller.user`' />
262                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
263                 <parameter name='format' value='json' />
264                 <parameter name='httpMethod' value='DELETE' />
265                 <parameter name="responsePrefix" value="mdsal-ar" />
266                 <outcome value='success'>
267                     <block atomic="true"></block>
268                 </outcome>
269                 <outcome value='not-found'>
270                     <block atomic="true"></block>
271                 </outcome>
272                 <outcome value='failure'>
273                     <block atomic="true"></block>
274                 </outcome>
275             </execute>
276             <for silentFailure='true' index='snidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
277                 <block atomic="true">
278                     <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$sdix].allotted-resource-id == $tmp.ar.allotted-resource-id`'>
279                         <outcome value='true'>
280                             <block atomic="true">
281                                 <set>
282                                     <parameter name="tmp.sdidx" value="`$snidx`"/>
283                                 </set>
284                                 <break/>
285                             </block>
286                         </outcome>
287                     </switch>
288                 </block>
289             </for>
290             <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>
291                 <outcome value='1'>
292                     <block atomic="true">
293                         <set>
294                             <parameter name="service-data.consumed-allotted-resources." value=""/>
295                         </set>
296                         <set>
297                             <parameter name="service-data.consumed-allotted-resources.consumed-allotted-resource_length" value="0"/>
298                         </set>
299                     </block>
300                 </outcome>
301                 <outcome value='Other'>
302                     <block atomic="true">
303                         <set>
304                             <parameter name="tmp.new_length" value="`$service-data.consumed-allotted-resources.consumed-allotted-resource_length - 1`"/>
305                         </set>
306                         <for silentFailure='true' index='snidx' start='`$tmp.sdidx + 1`' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
307                             <block atomic="true">
308                                 <set>
309                                     <parameter name="tmp.newidx" value="`$snidx - 1`"/>
310                                 </set>
311                                 <set>
312                                     <parameter name="service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.newidx]." value="$service-data.consumed-allotted-resources.consumed-allotted-resource[$snidx]." />
313                                 </set>
314                             </block>
315                         </for>
316                         <set>
317                             <parameter name="service-data.consumed-allotted-resources.consumed-allotted-resource_length" value="`$service-data.consumed-allotted-resources.consumed-allotted-resource_length - 1`"/>
318                         </set>
319                         <set>
320                             <parameter name="service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.new_length]." value=""/>
321                         </set>
322                     </block>
323                 </outcome>
324             </switch>
325             <set>
326                 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
327                 <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
328  + $contrail-route-topology-operation-input.service-information.service-instance-id
329  + '/service-data/service-topology/'`"/>
330             </set>
331             <return status='success'>
332                 <parameter name="ack-final-indicator" value="Y" />
333                 <parameter name="error-code" value="200" />
334                 <parameter name="error-message" value="`$error-message`" />
335             </return>
336         </block>
337     </method>
338 </service-logic>