Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_api-contrail-route-topology-operation-activate.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='api-contrail-route-topology-operation-activate' mode='sync'>
5         <block atomic="true">
6             <call module='GENERIC-RESOURCE-API' rpc='validate-api-contrail-route-input' mode='sync' ></call>
7             <set>
8                 <parameter name='tmp.ar.allotted-resource-id' value='`$cto-api.contrail-route-allotted-resource-id`' />
9                 <parameter name='tmp.ar.parent-service-instance-id' value='`$cto-api.parent-service-instance-id`' />
10             </set>
11             <set>
12                 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/'
13  + $tmp.ar.allotted-resource-id
14  + '/allotted-resource-data/contrail-route-topology/'` " />
15             </set>
16             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
17                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
18                 <parameter name='contextPrefix' value='prop' />
19             </execute>
20             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
21                 <parameter name="source" value="`$prop.restapi.cr-allottedresource`"/>
22                 <parameter name="outputPath" value="tmp.ar-url"/>
23                 <parameter name="target" value="{allotted-resource-id}"/>
24                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
25             </execute>
26             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
27                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
28                 <parameter name='restapiUser' value='`$prop.controller.user`' />
29                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
30                 <parameter name='format' value='json' />
31                 <parameter name='httpMethod' value='GET' />
32                 <parameter name="responsePrefix" value="mdsal-ar" />
33                 <outcome value='success'>
34                     <block atomic="true">
35                         <switch test='`$mdsal-ar.contrail-route-allotted-resource_length`'>
36                             <outcome value='1'>
37                                 <block atomic='true'>
38                                     <set>
39                                         <parameter name='bk-cr-ar' value='$mdsal-ar.' />
40                                     </set>
41                                     <set>
42                                         <parameter name='ar.' value='$mdsal-ar.contrail-route-allotted-resource[0].' />
43                                     </set>
44                                     <switch test='`$ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>
45                                         <outcome value='Created'>
46                                             <block></block>
47                                         </outcome>
48                                         <outcome value='Other'>
49                                             <return status='failure'>
50                                                 <parameter name='ack-final' value='Y'/>
51                                                 <parameter name="error-code" value="500" />
52                                                 <parameter name="error-message" 
53     value="`'Existing contrail-route-allotted-resource with order status of ' + $ar.allotted-resource-data.allotted-resource-oper-status.order-status + ', expecting Created.'`" />
54                                             </return>
55                                         </outcome>
56                                     </switch>
57                                 </block>
58                             </outcome>
59                             <outcome value='Other'>
60                                 <return status='failure'>
61                                     <parameter name='ack-final' value='Y'/>
62                                     <parameter name="error-code" value="404" />
63                                     <parameter name="error-message" value="Error: Contrail Route not found" />
64                                 </return>
65                             </outcome>
66                         </switch>
67                     </block>
68                 </outcome>
69                 <outcome value='Other'>
70                     <block atomic="true">
71                         <return status='failure'>
72                             <parameter name='ack-final' value='Y'/>
73                             <parameter name="error-code" value="404" />
74                             <parameter name="error-message" value="Error: Contrail Route not found" />
75                         </return>
76                     </block>
77                 </outcome>
78             </execute>
79             <set>
80                 <parameter name='ar-assignments.' value="`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.`" />
81             </set>
82             <switch test='`$ar-assignments.source-network.network-id`'>
83                 <outcome value=''>
84                     <return status='failure'>
85                         <parameter name='ack-final' value='Y'/>
86                         <parameter name="error-code" value="500" />
87                         <parameter name="error-message" value="Error activating contrail route.  Source network not found" />
88                     </return>
89                 </outcome>
90                 <outcome value='Other'>
91                     <block></block>
92                 </outcome>
93             </switch>
94             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
95         resource="l3-network" 
96                 key="l3-network.network-id = $ar-assignments.source-network.network-id" 
97                 local-only="false" 
98                 pfx="aai.src-network">
99                 <outcome value='not-found'>
100                     <return status='failure'>
101                         <parameter name="error-code" value="500" />
102                         <parameter name="error-message" value="`'Error retrieving source network with network-id=' + $ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.source-network.network-id + ' from AnAI'`" />
103                     </return>
104                 </outcome>
105                 <outcome value='failure'>
106                     <return status='failure'>
107                         <parameter name="error-code" value="500" />
108                         <parameter name="error-message" value="`'Error retrieving source network with network-id=' + $ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.source-network.network-id + ' from AnAI'`" />
109                     </return>
110                 </outcome>
111                 <outcome value='success'>
112                     <block atomic="true"></block>
113                 </outcome>
114             </get-resource>
115             <set>
116                 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
117             </set>
118             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
119                 <parameter name='ctx_memory_result_key' value='virtual-network-fqdn-split' />
120                 <parameter name='original_string' value='`$aai.src-network.contrail-network-fqdn`' />
121                 <parameter name='regex' value=':' />
122             </execute>
123             <switch test='`$virtual-network-fqdn-split_length`'>
124                 <outcome value='0'>
125                     <return status='failure'>
126                         <parameter name='error-code' value='500' />
127                         <parameter name='error-message' value='Unable to determine network fq-name from contrail fqdn' />
128                     </return>
129                 </outcome>
130                 <outcome value='Other'>
131                     <set>
132                         <parameter name='src-virtual-network-fqname' value='`$virtual-network-fqdn-split[$virtual-network-fqdn-split_length - 1]`' />
133                     </set>
134                 </outcome>
135             </switch>
136             <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
137                 <parameter name='api-name' value='fqname-to-uuid' />
138                 <parameter name='api-action' value='get' />
139                 <parameter name='resp-prefix' value='uuidresp' />
140                 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
141                 <parameter name='default-project' value='`$cto-api.default-project`' />
142                 <parameter name='default-domain' value='`$cto-api.default-domain`' />
143                 <parameter name='fqname-type' value='virtual-network' />
144                 <parameter name='policy-name' value='`$src-virtual-network-fqname`' />
145                 <outcome value='success'>
146                     <block></block>
147                 </outcome>
148                 <outcome value='failure'>
149                     <return status='failure'>
150                         <parameter name='ack-final' value='Y'/>
151                         <parameter name="error-code" value="500" />
152                         <parameter name="error-message" value="Failed to find network uuid for Contrail to source network" />
153                     </return>
154                 </outcome>
155             </execute>
156             <set>
157                 <parameter name='src-uuid' value='`$uuidresp.uuid`' />
158             </set>
159             <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
160                 <parameter name='api-name' value='network-policy' />
161                 <parameter name='api-action' value='apply' />
162                 <parameter name='resp-prefix' value='contrailResp' />
163                 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
164                 <parameter name='default-project' value='`$cto-api.default-project`' />
165                 <parameter name='default-domain' value='`$cto-api.default-domain`' />
166                 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
167                 <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
168                 <parameter name='contrail-virtual-network-id' value='`$uuidresp.uuid`' />
169                 <outcome value='success'>
170                     <block></block>
171                 </outcome>
172                 <outcome value='failure'>
173                     <return status='failure'>
174                         <parameter name='ack-final' value='Y'/>
175                         <parameter name="error-code" value="500" />
176                         <parameter name="error-message" value="Failed to apply policy in Contrail to source network" />
177                     </return>
178                 </outcome>
179             </execute>
180             <switch test='`$ar-assignments.dest-network.network-id`'>
181                 <outcome value=''>
182                     <return status='failure'>
183                         <parameter name='ack-final' value='Y'/>
184                         <parameter name="error-code" value="500" />
185                         <parameter name="error-message" value="Error activating contrail route.  Destination network not found" />
186                     </return>
187                 </outcome>
188                 <outcome value='Other'>
189                     <block></block>
190                 </outcome>
191             </switch>
192             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
193         resource="l3-network" 
194                 key="l3-network.network-id = $ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.dest-network.network-id" 
195                 local-only="false" 
196                 pfx="aai.dest-network">
197                 <outcome value='not-found'>
198                     <return status='failure'>
199                         <parameter name="error-code" value="500" />
200                         <parameter name="error-message" value="`'Error retrieving destination network with network-id=' + $ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.source-network.network-id + ' from AnAI'`" />
201                     </return>
202                 </outcome>
203                 <outcome value='failure'>
204                     <return status='failure'>
205                         <parameter name="error-code" value="500" />
206                         <parameter name="error-message" value="`'Error retrieving destination network with network-id=' + $ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.source-network.network-id + ' from AnAI'`" />
207                     </return>
208                 </outcome>
209                 <outcome value='success'>
210                     <block atomic="true"></block>
211                 </outcome>
212             </get-resource>
213             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
214                 <parameter name='ctx_memory_result_key' value='virtual-network-fqdn-split' />
215                 <parameter name='original_string' value='`$aai.dest-network.contrail-network-fqdn`' />
216                 <parameter name='regex' value=':' />
217             </execute>
218             <switch test='`$virtual-network-fqdn-split_length`'>
219                 <outcome value='0'>
220                     <return status='failure'>
221                         <parameter name='error-code' value='500' />
222                         <parameter name='error-message' value='Unable to determine network fq-name from contrail fqdn' />
223                     </return>
224                 </outcome>
225                 <outcome value='Other'>
226                     <set>
227                         <parameter name='dest-virtual-network-fqname' value='`$virtual-network-fqdn-split[$virtual-network-fqdn-split_length - 1]`' />
228                         <parameter name='dest-default-project' value='`$virtual-network-fqdn-split[$virtual-network-fqdn-split_length - 2]`' />
229                     </set>
230                 </outcome>
231             </switch>
232             <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
233                 <parameter name='api-name' value='fqname-to-uuid' />
234                 <parameter name='api-action' value='get' />
235                 <parameter name='resp-prefix' value='uuidresp' />
236                 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
237                 <parameter name='default-project' value='`$dest-default-project`' />
238                 <parameter name='default-domain' value='`$cto-api.default-domain`' />
239                 <parameter name='fqname-type' value='virtual-network' />
240                 <parameter name='policy-name' value='`$dest-virtual-network-fqname`' />
241                 <outcome value='success'>
242                     <block></block>
243                 </outcome>
244                 <outcome value='failure'>
245                     <return status='failure'>
246                         <parameter name='ack-final' value='Y'/>
247                         <parameter name="error-code" value="500" />
248                         <parameter name="error-message" value="Failed to find network uuid for Contrail to destination network" />
249                     </return>
250                 </outcome>
251             </execute>
252             <set>
253                 <parameter name='dest-uuid' value='`$uuidresp.uuid`' />
254             </set>
255             <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
256                 <parameter name='api-name' value='network-policy' />
257                 <parameter name='api-action' value='apply' />
258                 <parameter name='resp-prefix' value='contrailResp' />
259                 <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
260                 <parameter name='default-project' value='`$cto-api.default-project`' />
261                 <parameter name='default-domain' value='`$cto-api.default-domain`' />
262                 <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
263                 <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
264                 <parameter name='contrail-virtual-network-id' value='`$uuidresp.uuid`' />
265                 <outcome value='success'>
266                     <block></block>
267                 </outcome>
268                 <outcome value='failure'>
269                     <block>
270                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
271                             <parameter name='api-name' value='network-policy' />
272                             <parameter name='api-action' value='remove' />
273                             <parameter name='resp-prefix' value='contrailResp' />
274                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
275                             <parameter name='default-project' value='`$cto-api.default-project`' />
276                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
277                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
278                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
279                             <parameter name='contrail-virtual-network-id' value='`$src-uuid`' />
280                             <outcome value='Other'>
281                                 <block></block>
282                             </outcome>
283                         </execute>
284                         <return status='failure'>
285                             <parameter name='ack-final' value='Y'/>
286                             <parameter name="error-code" value="500" />
287                             <parameter name="error-message" value="Failed to apply policy in Contrail to destination network" />
288                         </return>
289                     </block>
290                 </outcome>
291             </execute>
292             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
293         resource="network-policy:relationship-list" 
294         key="network-policy.network-policy-id = $ar-assignments.contrail-id" >
295                 <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
296                 <parameter name="relationship-list.relationship[0].related-link" 
297 value="`'/aai/v$/network/l3-networks/l3-network/' + $ar-assignments.source-network.network-id`" />
298                 <parameter name="relationship-list.relationship[1].related-to" value="l3-network" />
299                 <parameter name="relationship-list.relationship[1].related-link" 
300 value="`'/aai/v$/network/l3-networks/l3-network/' + $ar-assignments.dest-network.network-id`" />
301                 <outcome value='failure'>
302                     <block>
303                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
304                             <parameter name='api-name' value='network-policy' />
305                             <parameter name='api-action' value='remove' />
306                             <parameter name='resp-prefix' value='contrailResp' />
307                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
308                             <parameter name='default-project' value='`$cto-api.default-project`' />
309                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
310                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
311                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
312                             <parameter name='contrail-virtual-network-id' value='`$src-uuid`' />
313                             <outcome value='Other'>
314                                 <block></block>
315                             </outcome>
316                         </execute>
317                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
318                             <parameter name='api-name' value='network-policy' />
319                             <parameter name='api-action' value='remove' />
320                             <parameter name='resp-prefix' value='contrailResp' />
321                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
322                             <parameter name='default-project' value='`$cto-api.default-project`' />
323                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
324                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
325                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
326                             <parameter name='contrail-virtual-network-id' value='`$dest-uuid`' />
327                             <outcome value='Other'>
328                                 <block></block>
329                             </outcome>
330                         </execute>
331                         <return status='failure'>
332                             <parameter name='ack-final' value='Y'/>
333                             <parameter name="error-code" value="500" />
334                             <parameter name="error-message" value="Failed to save network policy in AAI" />
335                         </return>
336                     </block>
337                 </outcome>
338                 <outcome value='not-found'>
339                     <block>
340                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
341                             <parameter name='api-name' value='network-policy' />
342                             <parameter name='api-action' value='remove' />
343                             <parameter name='resp-prefix' value='contrailResp' />
344                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
345                             <parameter name='default-project' value='`$cto-api.default-project`' />
346                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
347                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
348                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
349                             <parameter name='contrail-virtual-network-id' value='`$src-uuid`' />
350                             <outcome value='Other'>
351                                 <block></block>
352                             </outcome>
353                         </execute>
354                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
355                             <parameter name='api-name' value='network-policy' />
356                             <parameter name='api-action' value='remove' />
357                             <parameter name='resp-prefix' value='contrailResp' />
358                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
359                             <parameter name='default-project' value='`$cto-api.default-project`' />
360                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
361                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
362                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
363                             <parameter name='contrail-virtual-network-id' value='`$dest-uuid`' />
364                             <outcome value='Other'>
365                                 <block></block>
366                             </outcome>
367                         </execute>
368                         <return status='failure'>
369                             <parameter name='ack-final' value='Y'/>
370                             <parameter name="error-code" value="500" />
371                             <parameter name="error-message" value="Failed to save network policy in AAI" />
372                         </return>
373                     </block>
374                 </outcome>
375             </save>
376             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" 
377                 resource="allotted-resource" 
378                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
379                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND
380                         service-instance.service-instance-id = $ar.allotted-resource-data.contrail-route-topology.allotted-resource-identifiers.parent-service-instance-id AND
381                         allotted-resource.id = $tmp.ar.allotted-resource-id"
382         pfx='pfx' local-only='false' force='false'>
383                 <parameter name="operational-status" value="in-service-path" />
384                 <parameter name="orchestration-status" value="activated" />
385                 <outcome value='failure'>
386                     <block>
387                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
388                             <parameter name='api-name' value='network-policy' />
389                             <parameter name='api-action' value='remove' />
390                             <parameter name='resp-prefix' value='contrailResp' />
391                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
392                             <parameter name='default-project' value='`$cto-api.default-project`' />
393                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
394                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
395                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
396                             <parameter name='contrail-virtual-network-id' value='`$src-uuid`' />
397                             <outcome value='Other'>
398                                 <block></block>
399                             </outcome>
400                         </execute>
401                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
402                             <parameter name='api-name' value='network-policy' />
403                             <parameter name='api-action' value='remove' />
404                             <parameter name='resp-prefix' value='contrailResp' />
405                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
406                             <parameter name='default-project' value='`$cto-api.default-project`' />
407                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
408                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
409                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
410                             <parameter name='contrail-virtual-network-id' value='`$dest-uuid`' />
411                             <outcome value='Other'>
412                                 <block></block>
413                             </outcome>
414                         </execute>
415                         <return status='failure'>
416                             <parameter name='ack-final' value='Y'/>
417                             <parameter name="error-code" value="500" />
418                             <parameter name="error-message" value="AAI failed" />
419                         </return>
420                     </block>
421                 </outcome>
422                 <outcome value='not-found'>
423                     <block>
424                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
425                             <parameter name='api-name' value='network-policy' />
426                             <parameter name='api-action' value='remove' />
427                             <parameter name='resp-prefix' value='contrailResp' />
428                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
429                             <parameter name='default-project' value='`$cto-api.default-project`' />
430                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
431                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
432                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
433                             <parameter name='contrail-virtual-network-id' value='`$src-uuid`' />
434                             <outcome value='Other'>
435                                 <block></block>
436                             </outcome>
437                         </execute>
438                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
439                             <parameter name='api-name' value='network-policy' />
440                             <parameter name='api-action' value='remove' />
441                             <parameter name='resp-prefix' value='contrailResp' />
442                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
443                             <parameter name='default-project' value='`$cto-api.default-project`' />
444                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
445                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
446                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
447                             <parameter name='contrail-virtual-network-id' value='`$dest-uuid`' />
448                             <outcome value='Other'>
449                                 <block></block>
450                             </outcome>
451                         </execute>
452                         <return status='failure'>
453                             <parameter name='ack-final' value='Y'/>
454                             <parameter name="error-code" value="500" />
455                             <parameter name="error-message" value="AAI failed" />
456                         </return>
457                     </block>
458                 </outcome>
459             </update>
460             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
461                 <parameter name="outputPath" value="tmp.current-time" />
462             </execute>
463             <set>
464                 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Active' />
465                 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
466             </set>
467             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
468                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />
469                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
470                 <parameter name='restapiUser' value='`$prop.controller.user`' />
471                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
472                 <parameter name='format' value='json' />
473                 <parameter name='httpMethod' value='PUT' />
474                 <parameter name="responsePrefix" value="mdsal-ar" />
475                 <outcome value='success'>
476                     <block></block>
477                 </outcome>
478                 <outcome value='failure'>
479                     <block>
480                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
481                             <parameter name='api-name' value='network-policy' />
482                             <parameter name='api-action' value='remove' />
483                             <parameter name='resp-prefix' value='contrailResp' />
484                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
485                             <parameter name='default-project' value='`$cto-api.default-project`' />
486                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
487                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
488                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
489                             <parameter name='contrail-virtual-network-id' value='`$src-uuid`' />
490                             <outcome value='Other'>
491                                 <block></block>
492                             </outcome>
493                         </execute>
494                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
495                             <parameter name='api-name' value='network-policy' />
496                             <parameter name='api-action' value='remove' />
497                             <parameter name='resp-prefix' value='contrailResp' />
498                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
499                             <parameter name='default-project' value='`$cto-api.default-project`' />
500                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
501                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
502                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
503                             <parameter name='contrail-virtual-network-id' value='`$dest-uuid`' />
504                             <outcome value='Other'>
505                                 <block></block>
506                             </outcome>
507                         </execute>
508                         <return status='failure'>
509                             <parameter name='ack-final' value='Y'/>
510                             <parameter name="error-code" value="500" />
511                             <parameter name="error-message" value="Error updating md-sal for contrail-route-allotted-resource" />
512                         </return>
513                     </block>
514                 </outcome>
515                 <outcome value='not-found'>
516                     <block>
517                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
518                             <parameter name='api-name' value='network-policy' />
519                             <parameter name='api-action' value='remove' />
520                             <parameter name='resp-prefix' value='contrailResp' />
521                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
522                             <parameter name='default-project' value='`$cto-api.default-project`' />
523                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
524                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
525                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
526                             <parameter name='contrail-virtual-network-id' value='`$src-uuid`' />
527                             <outcome value='Other'>
528                                 <block></block>
529                             </outcome>
530                         </execute>
531                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
532                             <parameter name='api-name' value='network-policy' />
533                             <parameter name='api-action' value='remove' />
534                             <parameter name='resp-prefix' value='contrailResp' />
535                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />
536                             <parameter name='default-project' value='`$cto-api.default-project`' />
537                             <parameter name='default-domain' value='`$cto-api.default-domain`' />
538                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />
539                             <parameter name='contrail-network-policy-fq-name' value='`$ar-assignments.fq-name`' />
540                             <parameter name='contrail-virtual-network-id' value='`$dest-uuid`' />
541                             <outcome value='Other'>
542                                 <block></block>
543                             </outcome>
544                         </execute>
545                         <return status='failure'>
546                             <parameter name='ack-final' value='Y'/>
547                             <parameter name="error-code" value="500" />
548                             <parameter name="error-message" value="Error updating md-sal for contrail-route-allotted-resource" />
549                         </return>
550                     </block>
551                 </outcome>
552             </execute>
553             <return status='success'>
554                 <parameter name="ack-final-indicator" value="Y" />
555                 <parameter name="error-code" value="200" />
556                 <parameter name="error-message" value="`$error-message`" />
557             </return>
558         </block>
559     </method>
560 </service-logic>