Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_create-route-target-and-vpn-binding.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='create-route-target-and-vpn-binding' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$rt.aic-zone`'>\r
7                 <outcome value=''>\r
8                     <return status='failure'>\r
9                         <parameter name="error-code" value="500" />\r
10                         <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
11                     </return>\r
12                 </outcome>\r
13             </switch>\r
14             <switch test='`$rt.resource`'>\r
15                 <outcome value=''>\r
16                     <return status='failure'>\r
17                         <parameter name="error-code" value="500" />\r
18                         <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
19                     </return>\r
20                 </outcome>\r
21             </switch>\r
22             <switch test='`$rt.resource-value`'>\r
23                 <outcome value=''>\r
24                     <return status='failure'>\r
25                         <parameter name="error-code" value="500" />\r
26                         <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
27                     </return>\r
28                 </outcome>\r
29             </switch>\r
30             <switch test='`$rt.network-name`'>\r
31                 <outcome value=''>\r
32                     <return status='failure'>\r
33                         <parameter name="error-code" value="500" />\r
34                         <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
35                     </return>\r
36                 </outcome>\r
37             </switch>\r
38             <switch test='`$rt.service-instance-id`'>\r
39                 <outcome value=''>\r
40                     <return status='failure'>\r
41                         <parameter name="error-code" value="500" />\r
42                         <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
43                     </return>\r
44                 </outcome>\r
45             </switch>\r
46             <switch test='`$rt.network-instance-group-id`'>\r
47                 <outcome value=''>\r
48                     <return status='failure'>\r
49                         <parameter name="error-code" value="500" />\r
50                         <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
51                     </return>\r
52                 </outcome>\r
53             </switch>\r
54             <switch test='`$rt.network-id`'>\r
55                 <outcome value=''>\r
56                     <return status='failure'>\r
57                         <parameter name="error-code" value="500" />\r
58                         <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
59                     </return>\r
60                 </outcome>\r
61             </switch>\r
62             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
63                 <parameter name="source" value="`$prop.restapi.network-instance-group-vpn-binding`"/>\r
64                 <parameter name="outputPath" value="tmp.vpn-binding-url"/>\r
65                 <parameter name="target" value="{service-instance-id}"/>\r
66                 <parameter name="replacement" value="`$rt.service-instance-id`"/>\r
67             </execute>\r
68             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
69                 <parameter name="source" value="`$tmp.vpn-binding-url`"/>\r
70                 <parameter name="outputPath" value="tmp.vpn-binding-url"/>\r
71                 <parameter name="target" value="{network-instance-group-id}"/>\r
72                 <parameter name="replacement" value="`$rt.network-instance-group-id`"/>\r
73             </execute>\r
74             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
75                 <parameter name="source" value="`$tmp.vpn-binding-url`"/>\r
76                 <parameter name="outputPath" value="tmp.vpn-binding-url"/>\r
77                 <parameter name="target" value="{network-id}"/>\r
78                 <parameter name="replacement" value="`$rt.network-id`"/>\r
79             </execute>\r
80             <set>\r
81                 <parameter name="get-data-from-policy-input.policy-instance-name" value="`$get-complex-resource-service-model-output.vpn-binding-policy`" />\r
82             </set>\r
83             <call module='GENERIC-RESOURCE-API' rpc='get-data-from-policy' mode='sync' ></call>\r
84             <set>\r
85                 <parameter name="vpn-binding.vpn-name" value="`$rt.network-name`" />\r
86                 <parameter name="vpn-binding.asn" value="`$get-data-from-policy-output.asn`" />\r
87                 <parameter name="vpn-binding.route-target-role" value="`$get-data-from-policy-output.route-target-role`" />\r
88                 <parameter name="vpn-binding.aic-zone" value="`$rt.aic-zone`" />\r
89                 <parameter name="vpn-binding.route-target-category" value="local" />\r
90                 <parameter name="vpn-binding.resource" value="`$rt.resource`" />\r
91                 <parameter name="vpn-binding.resource-value" value="`$rt.resource-value`" />\r
92             </set>\r
93             <call module='GENERIC-RESOURCE-API' rpc='generate-vpn-binding-id' mode='sync' ></call>\r
94             <set>\r
95                 <parameter name='vpn-binding.vpn-binding-id' value='`$tmp.return.generate-vpn-binding-id.uuid`' />\r
96             </set>\r
97             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
98                 <parameter name="source" value="`$tmp.vpn-binding-url`"/>\r
99                 <parameter name="outputPath" value="tmp.vpn-binding-url"/>\r
100                 <parameter name="target" value="{vpn-binding-id}"/>\r
101                 <parameter name="replacement" value="`$vpn-binding.vpn-binding-id`"/>\r
102             </execute>\r
103             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
104         resource="vpn-binding" \r
105                 key="vpn-binding.vpn-id = $vpn-binding.vpn-binding-id" >\r
106                 <parameter name="vpn-id" value="`$vpn-binding.vpn-binding-id`" />\r
107                 <parameter name="vpn-name" value="`$vpn-binding.vpn-name`" />\r
108                 <outcome value='failure'>\r
109                     <return status='failure'>\r
110                         <parameter name="error-code" value="500" />\r
111                         <parameter name="error-message" value="Error creating vpn-binding in AAI" />\r
112                     </return>\r
113                 </outcome>\r
114                 <outcome value='not-found'>\r
115                     <return status='failure'>\r
116                         <parameter name="error-code" value="500" />\r
117                         <parameter name="error-message" value="Error creating vpn-binding in AAI" />\r
118                     </return>\r
119                 </outcome>\r
120             </save>\r
121             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
122                 <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.allocateRT`' />\r
123                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
124                 <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
125                 <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
126                 <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
127                 <parameter name='format' value='json' />\r
128                 <parameter name='httpMethod' value='POST' />\r
129                 <parameter name="responsePrefix" value="msRT" />\r
130                 <outcome value='success'>\r
131                     <block atomic="true">\r
132                         <switch test='`$msRT.responseCode`'>\r
133                             <outcome value='200'></outcome>\r
134                             <outcome value='Other'>\r
135                                 <block>\r
136                                     <set>\r
137                                         <parameter name="error-code" value="500"/>\r
138                                         <parameter name="tmp.error-message" value="`'Error: calling allocate resource microservice - responseCode: ' + $msRT.responseCode + ' responseMsg: ' + $msRT.responseMessage + ' allocateRouteTargetStatus: ' + $msRT.allocateRouteTargetStatus `"/>\r
139                                     </set>\r
140                                     <block atomic='true'>\r
141                                         <switch test="`$vpn-binding.global-route-target != ''`">\r
142                                             <outcome value='true'>\r
143                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
144                                                     <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
145                                                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
146                                                     <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
147                                                     <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
148                                                     <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
149                                                     <parameter name='format' value='json' />\r
150                                                     <parameter name='httpMethod' value='POST' />\r
151                                                     <parameter name="responsePrefix" value="msRT" />\r
152                                                 </execute>\r
153                                             </outcome>\r
154                                         </switch>\r
155                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
156         resource="vpn-binding" \r
157         key="vpn-id = $rt.vpn-id"></delete>\r
158                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
159                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
160                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
161                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
162                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
163                                             <parameter name='format' value='json' />\r
164                                             <parameter name='httpMethod' value='DELETE' />\r
165                                             <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
166                                             <outcome value='failure'>\r
167                                                 <block></block>\r
168                                             </outcome>\r
169                                             <outcome value='not-found'>\r
170                                                 <block></block>\r
171                                             </outcome>\r
172                                         </execute>\r
173                                         <return status='failure'>\r
174                                             <parameter name='error-code' value='500'/>\r
175                                             <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
176                                         </return>\r
177                                     </block>\r
178                                 </block>\r
179                             </outcome>\r
180                         </switch>\r
181                     </block>\r
182                 </outcome>\r
183                 <outcome value='Other'>\r
184                     <block>\r
185                         <set>\r
186                             <parameter name="error-code" value="500"/>\r
187                             <parameter name="tmp.error-message" value="Error: calling allocate resource microservice"/>\r
188                         </set>\r
189                         <block atomic='true'>\r
190                             <switch test="`$vpn-binding.global-route-target != ''`">\r
191                                 <outcome value='true'>\r
192                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
193                                         <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
194                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
195                                         <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
196                                         <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
197                                         <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
198                                         <parameter name='format' value='json' />\r
199                                         <parameter name='httpMethod' value='POST' />\r
200                                         <parameter name="responsePrefix" value="msRT" />\r
201                                     </execute>\r
202                                 </outcome>\r
203                             </switch>\r
204                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
205         resource="vpn-binding" \r
206         key="vpn-id = $rt.vpn-id"></delete>\r
207                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
208                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
209                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
210                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
211                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
212                                 <parameter name='format' value='json' />\r
213                                 <parameter name='httpMethod' value='DELETE' />\r
214                                 <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
215                                 <outcome value='failure'>\r
216                                     <block></block>\r
217                                 </outcome>\r
218                                 <outcome value='not-found'>\r
219                                     <block></block>\r
220                                 </outcome>\r
221                             </execute>\r
222                             <return status='failure'>\r
223                                 <parameter name='error-code' value='500'/>\r
224                                 <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
225                             </return>\r
226                         </block>\r
227                     </block>\r
228                 </outcome>\r
229             </execute>\r
230             <set>\r
231                 <parameter name="vpn-binding.global-route-target" value="`$msRT.routeTargetID`" />\r
232             </set>\r
233             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
234                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
235                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
236                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
237                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
238                 <parameter name='format' value='json' />\r
239                 <parameter name='httpMethod' value='PUT' />\r
240                 <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
241                 <outcome value='failure'>\r
242                     <block>\r
243                         <set>\r
244                             <parameter name="error-code" value="500"/>\r
245                             <parameter name="tmp.error-message" value="Error: failed to save vpn-binding in md-sal" />\r
246                         </set>\r
247                         <block atomic='true'>\r
248                             <switch test="`$vpn-binding.global-route-target != ''`">\r
249                                 <outcome value='true'>\r
250                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
251                                         <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
252                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
253                                         <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
254                                         <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
255                                         <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
256                                         <parameter name='format' value='json' />\r
257                                         <parameter name='httpMethod' value='POST' />\r
258                                         <parameter name="responsePrefix" value="msRT" />\r
259                                     </execute>\r
260                                 </outcome>\r
261                             </switch>\r
262                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
263         resource="vpn-binding" \r
264         key="vpn-id = $rt.vpn-id"></delete>\r
265                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
266                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
267                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
268                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
269                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
270                                 <parameter name='format' value='json' />\r
271                                 <parameter name='httpMethod' value='DELETE' />\r
272                                 <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
273                                 <outcome value='failure'>\r
274                                     <block></block>\r
275                                 </outcome>\r
276                                 <outcome value='not-found'>\r
277                                     <block></block>\r
278                                 </outcome>\r
279                             </execute>\r
280                             <return status='failure'>\r
281                                 <parameter name='error-code' value='500'/>\r
282                                 <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
283                             </return>\r
284                         </block>\r
285                     </block>\r
286                 </outcome>\r
287                 <outcome value='not-found'>\r
288                     <block>\r
289                         <set>\r
290                             <parameter name="error-code" value="500"/>\r
291                             <parameter name="tmp.error-message" value="Error: failed to save vpn-binding in md-sal" />\r
292                         </set>\r
293                         <block atomic='true'>\r
294                             <switch test="`$vpn-binding.global-route-target != ''`">\r
295                                 <outcome value='true'>\r
296                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
297                                         <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
298                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
299                                         <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
300                                         <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
301                                         <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
302                                         <parameter name='format' value='json' />\r
303                                         <parameter name='httpMethod' value='POST' />\r
304                                         <parameter name="responsePrefix" value="msRT" />\r
305                                     </execute>\r
306                                 </outcome>\r
307                             </switch>\r
308                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
309         resource="vpn-binding" \r
310         key="vpn-id = $rt.vpn-id"></delete>\r
311                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
312                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
313                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
314                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
315                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
316                                 <parameter name='format' value='json' />\r
317                                 <parameter name='httpMethod' value='DELETE' />\r
318                                 <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
319                                 <outcome value='failure'>\r
320                                     <block></block>\r
321                                 </outcome>\r
322                                 <outcome value='not-found'>\r
323                                     <block></block>\r
324                                 </outcome>\r
325                             </execute>\r
326                             <return status='failure'>\r
327                                 <parameter name='error-code' value='500'/>\r
328                                 <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
329                             </return>\r
330                         </block>\r
331                     </block>\r
332                 </outcome>\r
333             </execute>\r
334             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
335         resource="route-target" \r
336                 key="vpn-binding.vpn-binding-id = $vpn-binding.vpn-binding-id \r
337                         AND route-target.global-route-target = $vpn-binding.global-route-target\r
338                         AND route-target.route-target-role = $vpn-binding.route-target-role" >\r
339                 <!-- Create route-target object -->\r
340                 <parameter name="global-route-target" value="`$vpn-binding.global-route-target`" />\r
341                 <parameter name="route-target-role" value="`$vpn-binding.route-target-role`" />\r
342                 <outcome value='failure'>\r
343                     <block>\r
344                         <set>\r
345                             <parameter name="error-code" value="500"/>\r
346                             <parameter name="tmp.error-message" value="Error: failed to save route target in AAI"/>\r
347                         </set>\r
348                         <block atomic='true'>\r
349                             <switch test="`$vpn-binding.global-route-target != ''`">\r
350                                 <outcome value='true'>\r
351                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
352                                         <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
353                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
354                                         <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
355                                         <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
356                                         <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
357                                         <parameter name='format' value='json' />\r
358                                         <parameter name='httpMethod' value='POST' />\r
359                                         <parameter name="responsePrefix" value="msRT" />\r
360                                     </execute>\r
361                                 </outcome>\r
362                             </switch>\r
363                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
364         resource="vpn-binding" \r
365         key="vpn-id = $rt.vpn-id"></delete>\r
366                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
367                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
368                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
369                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
370                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
371                                 <parameter name='format' value='json' />\r
372                                 <parameter name='httpMethod' value='DELETE' />\r
373                                 <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
374                                 <outcome value='failure'>\r
375                                     <block></block>\r
376                                 </outcome>\r
377                                 <outcome value='not-found'>\r
378                                     <block></block>\r
379                                 </outcome>\r
380                             </execute>\r
381                             <return status='failure'>\r
382                                 <parameter name='error-code' value='500'/>\r
383                                 <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
384                             </return>\r
385                         </block>\r
386                     </block>\r
387                 </outcome>\r
388                 <outcome value='not-found'>\r
389                     <block>\r
390                         <set>\r
391                             <parameter name="error-code" value="500"/>\r
392                             <parameter name="tmp.error-message" value="Error: failed to save route target in AAI"/>\r
393                         </set>\r
394                         <block atomic='true'>\r
395                             <switch test="`$vpn-binding.global-route-target != ''`">\r
396                                 <outcome value='true'>\r
397                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
398                                         <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
399                                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
400                                         <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
401                                         <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
402                                         <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
403                                         <parameter name='format' value='json' />\r
404                                         <parameter name='httpMethod' value='POST' />\r
405                                         <parameter name="responsePrefix" value="msRT" />\r
406                                     </execute>\r
407                                 </outcome>\r
408                             </switch>\r
409                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
410         resource="vpn-binding" \r
411         key="vpn-id = $rt.vpn-id"></delete>\r
412                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
413                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
414                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
415                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
416                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
417                                 <parameter name='format' value='json' />\r
418                                 <parameter name='httpMethod' value='DELETE' />\r
419                                 <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
420                                 <outcome value='failure'>\r
421                                     <block></block>\r
422                                 </outcome>\r
423                                 <outcome value='not-found'>\r
424                                     <block></block>\r
425                                 </outcome>\r
426                             </execute>\r
427                             <return status='failure'>\r
428                                 <parameter name='error-code' value='500'/>\r
429                                 <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
430                             </return>\r
431                         </block>\r
432                     </block>\r
433                 </outcome>\r
434             </save>\r
435         </block>\r
436     </method>\r
437 </service-logic>