--- /dev/null
+<service-logic\r
+ xmlns='http://www.onap.org/sdnc/svclogic'\r
+ 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
+ <method rpc='create-route-target-and-vpn-binding' mode='sync'>\r
+ <block atomic="true">\r
+ <switch test='`$rt.aic-zone`'>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
+ </return>\r
+ </outcome>\r
+ </switch>\r
+ <switch test='`$rt.resource`'>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
+ </return>\r
+ </outcome>\r
+ </switch>\r
+ <switch test='`$rt.resource-value`'>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
+ </return>\r
+ </outcome>\r
+ </switch>\r
+ <switch test='`$rt.network-name`'>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
+ </return>\r
+ </outcome>\r
+ </switch>\r
+ <switch test='`$rt.service-instance-id`'>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
+ </return>\r
+ </outcome>\r
+ </switch>\r
+ <switch test='`$rt.network-instance-group-id`'>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
+ </return>\r
+ </outcome>\r
+ </switch>\r
+ <switch test='`$rt.network-id`'>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error missing parameters to create-local-route-target" />\r
+ </return>\r
+ </outcome>\r
+ </switch>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+ <parameter name="source" value="`$prop.restapi.network-instance-group-vpn-binding`"/>\r
+ <parameter name="outputPath" value="tmp.vpn-binding-url"/>\r
+ <parameter name="target" value="{service-instance-id}"/>\r
+ <parameter name="replacement" value="`$rt.service-instance-id`"/>\r
+ </execute>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+ <parameter name="source" value="`$tmp.vpn-binding-url`"/>\r
+ <parameter name="outputPath" value="tmp.vpn-binding-url"/>\r
+ <parameter name="target" value="{network-instance-group-id}"/>\r
+ <parameter name="replacement" value="`$rt.network-instance-group-id`"/>\r
+ </execute>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+ <parameter name="source" value="`$tmp.vpn-binding-url`"/>\r
+ <parameter name="outputPath" value="tmp.vpn-binding-url"/>\r
+ <parameter name="target" value="{network-id}"/>\r
+ <parameter name="replacement" value="`$rt.network-id`"/>\r
+ </execute>\r
+ <set>\r
+ <parameter name="get-data-from-policy-input.policy-instance-name" value="`$get-complex-resource-service-model-output.vpn-binding-policy`" />\r
+ </set>\r
+ <call module='GENERIC-RESOURCE-API' rpc='get-data-from-policy' mode='sync' ></call>\r
+ <set>\r
+ <parameter name="vpn-binding.vpn-name" value="`$rt.network-name`" />\r
+ <parameter name="vpn-binding.asn" value="`$get-data-from-policy-output.asn`" />\r
+ <parameter name="vpn-binding.route-target-role" value="`$get-data-from-policy-output.route-target-role`" />\r
+ <parameter name="vpn-binding.aic-zone" value="`$rt.aic-zone`" />\r
+ <parameter name="vpn-binding.route-target-category" value="local" />\r
+ <parameter name="vpn-binding.resource" value="`$rt.resource`" />\r
+ <parameter name="vpn-binding.resource-value" value="`$rt.resource-value`" />\r
+ </set>\r
+ <call module='GENERIC-RESOURCE-API' rpc='generate-vpn-binding-id' mode='sync' ></call>\r
+ <set>\r
+ <parameter name='vpn-binding.vpn-binding-id' value='`$tmp.return.generate-vpn-binding-id.uuid`' />\r
+ </set>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+ <parameter name="source" value="`$tmp.vpn-binding-url`"/>\r
+ <parameter name="outputPath" value="tmp.vpn-binding-url"/>\r
+ <parameter name="target" value="{vpn-binding-id}"/>\r
+ <parameter name="replacement" value="`$vpn-binding.vpn-binding-id`"/>\r
+ </execute>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vpn-binding" \r
+ key="vpn-binding.vpn-id = $vpn-binding.vpn-binding-id" >\r
+ <parameter name="vpn-id" value="`$vpn-binding.vpn-binding-id`" />\r
+ <parameter name="vpn-name" value="`$vpn-binding.vpn-name`" />\r
+ <outcome value='failure'>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error creating vpn-binding in AAI" />\r
+ </return>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <return status='failure'>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error creating vpn-binding in AAI" />\r
+ </return>\r
+ </outcome>\r
+ </save>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.allocateRT`' />\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
+ <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
+ <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='POST' />\r
+ <parameter name="responsePrefix" value="msRT" />\r
+ <outcome value='success'>\r
+ <block atomic="true">\r
+ <switch test='`$msRT.responseCode`'>\r
+ <outcome value='200'></outcome>\r
+ <outcome value='Other'>\r
+ <block>\r
+ <set>\r
+ <parameter name="error-code" value="500"/>\r
+ <parameter name="tmp.error-message" value="`'Error: calling allocate resource microservice - responseCode: ' + $msRT.responseCode + ' responseMsg: ' + $msRT.responseMessage + ' allocateRouteTargetStatus: ' + $msRT.allocateRouteTargetStatus `"/>\r
+ </set>\r
+ <block atomic='true'>\r
+ <switch test="`$vpn-binding.global-route-target != ''`">\r
+ <outcome value='true'>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
+ <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
+ <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='POST' />\r
+ <parameter name="responsePrefix" value="msRT" />\r
+ </execute>\r
+ </outcome>\r
+ </switch>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vpn-binding" \r
+ key="vpn-id = $rt.vpn-id"></delete>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
+ <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='DELETE' />\r
+ <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
+ <outcome value='failure'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block></block>\r
+ </outcome>\r
+ </execute>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500'/>\r
+ <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='Other'>\r
+ <block>\r
+ <set>\r
+ <parameter name="error-code" value="500"/>\r
+ <parameter name="tmp.error-message" value="Error: calling allocate resource microservice"/>\r
+ </set>\r
+ <block atomic='true'>\r
+ <switch test="`$vpn-binding.global-route-target != ''`">\r
+ <outcome value='true'>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
+ <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
+ <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='POST' />\r
+ <parameter name="responsePrefix" value="msRT" />\r
+ </execute>\r
+ </outcome>\r
+ </switch>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vpn-binding" \r
+ key="vpn-id = $rt.vpn-id"></delete>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
+ <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='DELETE' />\r
+ <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
+ <outcome value='failure'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block></block>\r
+ </outcome>\r
+ </execute>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500'/>\r
+ <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </execute>\r
+ <set>\r
+ <parameter name="vpn-binding.global-route-target" value="`$msRT.routeTargetID`" />\r
+ </set>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
+ <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='PUT' />\r
+ <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
+ <outcome value='failure'>\r
+ <block>\r
+ <set>\r
+ <parameter name="error-code" value="500"/>\r
+ <parameter name="tmp.error-message" value="Error: failed to save vpn-binding in md-sal" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <switch test="`$vpn-binding.global-route-target != ''`">\r
+ <outcome value='true'>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
+ <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
+ <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='POST' />\r
+ <parameter name="responsePrefix" value="msRT" />\r
+ </execute>\r
+ </outcome>\r
+ </switch>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vpn-binding" \r
+ key="vpn-id = $rt.vpn-id"></delete>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
+ <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='DELETE' />\r
+ <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
+ <outcome value='failure'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block></block>\r
+ </outcome>\r
+ </execute>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500'/>\r
+ <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block>\r
+ <set>\r
+ <parameter name="error-code" value="500"/>\r
+ <parameter name="tmp.error-message" value="Error: failed to save vpn-binding in md-sal" />\r
+ </set>\r
+ <block atomic='true'>\r
+ <switch test="`$vpn-binding.global-route-target != ''`">\r
+ <outcome value='true'>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
+ <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
+ <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='POST' />\r
+ <parameter name="responsePrefix" value="msRT" />\r
+ </execute>\r
+ </outcome>\r
+ </switch>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vpn-binding" \r
+ key="vpn-id = $rt.vpn-id"></delete>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
+ <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='DELETE' />\r
+ <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
+ <outcome value='failure'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block></block>\r
+ </outcome>\r
+ </execute>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500'/>\r
+ <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </execute>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="route-target" \r
+ key="vpn-binding.vpn-binding-id = $vpn-binding.vpn-binding-id \r
+ AND route-target.global-route-target = $vpn-binding.global-route-target\r
+ AND route-target.route-target-role = $vpn-binding.route-target-role" >\r
+ <!-- Create route-target object -->\r
+ <parameter name="global-route-target" value="`$vpn-binding.global-route-target`" />\r
+ <parameter name="route-target-role" value="`$vpn-binding.route-target-role`" />\r
+ <outcome value='failure'>\r
+ <block>\r
+ <set>\r
+ <parameter name="error-code" value="500"/>\r
+ <parameter name="tmp.error-message" value="Error: failed to save route target in AAI"/>\r
+ </set>\r
+ <block atomic='true'>\r
+ <switch test="`$vpn-binding.global-route-target != ''`">\r
+ <outcome value='true'>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
+ <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
+ <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='POST' />\r
+ <parameter name="responsePrefix" value="msRT" />\r
+ </execute>\r
+ </outcome>\r
+ </switch>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vpn-binding" \r
+ key="vpn-id = $rt.vpn-id"></delete>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
+ <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='DELETE' />\r
+ <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
+ <outcome value='failure'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block></block>\r
+ </outcome>\r
+ </execute>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500'/>\r
+ <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block>\r
+ <set>\r
+ <parameter name="error-code" value="500"/>\r
+ <parameter name="tmp.error-message" value="Error: failed to save route target in AAI"/>\r
+ </set>\r
+ <block atomic='true'>\r
+ <switch test="`$vpn-binding.global-route-target != ''`">\r
+ <outcome value='true'>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='restapiUrl' value='`$prop.rt.microservice.url + $prop.restapi.mS.releaseRT`' />\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.rtmS.allocateRT.templatefile`" />\r
+ <parameter name='restapiUser' value='`$prop.rt.mS.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.rt.mS.pwd`' />\r
+ <parameter name='customHttpHeaders' value='x-UserId=SDNCP' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='POST' />\r
+ <parameter name="responsePrefix" value="msRT" />\r
+ </execute>\r
+ </outcome>\r
+ </switch>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="vpn-binding" \r
+ key="vpn-id = $rt.vpn-id"></delete>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.network-instance-group-vpn-binding.templatefile`" />\r
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vpn-binding-url`' />\r
+ <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+ <parameter name='format' value='json' />\r
+ <parameter name='httpMethod' value='DELETE' />\r
+ <parameter name="responsePrefix" value="mdsal-vpn-binding" />\r
+ <outcome value='failure'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <block></block>\r
+ </outcome>\r
+ </execute>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='500'/>\r
+ <parameter name='error-message' value="`'Error writing to vpn binding - ' + $tmp.error-message`"/>\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </save>\r
+ </block>\r
+ </method>\r
+</service-logic>
\ No newline at end of file