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
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
14 <switch test='`$rt.resource`'>
\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
22 <switch test='`$rt.resource-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
30 <switch test='`$rt.network-name`'>
\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
38 <switch test='`$rt.service-instance-id`'>
\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
46 <switch test='`$rt.network-instance-group-id`'>
\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
54 <switch test='`$rt.network-id`'>
\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
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
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
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
81 <parameter name="get-data-from-policy-input.policy-instance-name" value="`$get-complex-resource-service-model-output.vpn-binding-policy`" />
\r
83 <call module='GENERIC-RESOURCE-API' rpc='get-data-from-policy' mode='sync' ></call>
\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
93 <call module='GENERIC-RESOURCE-API' rpc='generate-vpn-binding-id' mode='sync' ></call>
\r
95 <parameter name='vpn-binding.vpn-binding-id' value='`$tmp.return.generate-vpn-binding-id.uuid`' />
\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
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
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
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
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
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
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
169 <outcome value='not-found'>
\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
183 <outcome value='Other'>
\r
186 <parameter name="error-code" value="500"/>
\r
187 <parameter name="tmp.error-message" value="Error: calling allocate resource microservice"/>
\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
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
218 <outcome value='not-found'>
\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
231 <parameter name="vpn-binding.global-route-target" value="`$msRT.routeTargetID`" />
\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
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
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
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
276 <outcome value='not-found'>
\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
287 <outcome value='not-found'>
\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
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
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
322 <outcome value='not-found'>
\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
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
345 <parameter name="error-code" value="500"/>
\r
346 <parameter name="tmp.error-message" value="Error: failed to save route target in AAI"/>
\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
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
377 <outcome value='not-found'>
\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
388 <outcome value='not-found'>
\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
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
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
423 <outcome value='not-found'>
\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