-<service-logic
- xmlns='http://www.onap.org/sdnc/svclogic'
- 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}'>
- <method rpc='bbs-access-connectivity-network-topology-operation-delete-huawei' mode='sync'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-network-input-parameters' mode='sync' ></call>
- <set>
- <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://swisscom.onap.inhuawei.com:26335' />
- <parameter name='network-input-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
- <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
- <parameter name='contextPrefix' value='prop' />
- </execute>
- <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
- <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-token-template.json'`"/>
- <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>
- <parameter name="format" value="json"/>
- <parameter name="httpMethod" value="put"/>
- <parameter name="responsePrefix" value="token-result"/>
- <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
- <parameter name="trustStorePassword" value="adminadmin"/>
- <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
- <parameter name="keyStorePassword" value="adminadmin"/>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error executing Get token rest api" />
- </return>
- </outcome>
- <outcome value='success'>
- <switch test='`$token-result.accessSession`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error executing Get token rest api" />
- </return>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </execute>
- <for index='idx' start='0' end='`$network-input-parameters.param_length`' >
- <switch test="`$network-input-parameters.param[$idx].name == 'serviceID'`">
- <outcome value='true'>
- <switch test='`$network-input-parameters.param[$idx].value`'>
- <outcome value='Other'>
- <set>
- <parameter name='prop.bbs.serviceID' value='`$network-input-parameters.param[$idx].value`' />
- </set>
- </outcome>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-delete" />
- </return>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </for>
- <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
- <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/DeactivateOnt?serviceID='+$prop.bbs.serviceID`" />
- <parameter name="httpMethod" value="get"/>
- <parameter name="contentType" value="application/x-www-form-urlencoded"/>
- <parameter name="responsePrefix" value="service-result"/>
- <parameter name="customHttpHeaders" value="`'X-Auth-Token=' + $prop.sdncRestApi.token_id`"/>
- <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
- <parameter name="trustStorePassword" value="adminadmin"/>
- <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
- <parameter name="keyStorePassword" value="adminadmin"/>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="invalid network-input-parameters.param in bbs-access-connectivity-network-topology-operation-delete" />
- </return>
- </outcome>
- <outcome value='success'>
- <block atomic="true">
- <switch test="`$service-result.errors.error[0].error-message`">
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Error deleteAccessConnectivityService failed: '+$service-result.errors.error[0].error-message`" />
- </return>
- </outcome>
- <outcome value=''>
- <block></block>
- </outcome>
- </switch>
- </block>
- </outcome>
- </execute>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </method>
+<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='bbs-access-connectivity-network-topology-operation-delete-huawei' mode='sync'>\r
+ <block atomic="true">\r
+ <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-network-input-parameters' mode='sync' ></call>\r
+ <set>\r
+ <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://172.30.0.55:26335' />\r
+ <parameter name='network-input-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' />\r
+ </set>\r
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
+ <parameter name='contextPrefix' value='prop' />\r
+ </execute>\r
+ <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-token-template.json'`"/>\r
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>\r
+ <parameter name="format" value="json"/>\r
+ <parameter name="httpMethod" value="put"/>\r
+ <parameter name="responsePrefix" value="token-result"/>\r
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+ <parameter name="trustStorePassword" value="adminadmin"/>\r
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+ <parameter name="keyStorePassword" value="adminadmin"/>\r
+ <outcome value='failure'>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error failed to call queryTokenID" />\r
+ </return>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <switch test='`$token-result.accessSession`'>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error executing queryTokenID,vaule is null" />\r
+ </return>\r
+ </outcome>\r
+ <outcome value='Other'>\r
+ <set>\r
+ <parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ </outcome>\r
+ </execute>\r
+ <for index='idx' start='0' end='`$network-input-parameters.param_length`' >\r
+ <switch test="`$network-input-parameters.param[$idx].name == 'serviceID'`">\r
+ <outcome value='true'>\r
+ <switch test='`$network-input-parameters.param[$idx].value`'>\r
+ <outcome value='Other'>\r
+ <set>\r
+ <parameter name='prop.bbs.serviceID' value='`$network-input-parameters.param[$idx].value`' />\r
+ </set>\r
+ </outcome>\r
+ <outcome value=''>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="$network-input-parameters.param[$idx].name +' value is null, please check it.'" />\r
+ </return>\r
+ </outcome>\r
+ </switch>\r
+ </outcome>\r
+ </switch>\r
+ </for>\r
+ <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/DeactivateOnt?serviceID='+$prop.bbs.serviceID`" />\r
+ <parameter name="httpMethod" value="get"/>\r
+ <parameter name="contentType" value="application/x-www-form-urlencoded"/>\r
+ <parameter name="responsePrefix" value="service-result"/>\r
+ <parameter name="customHttpHeaders" value="`'X-Auth-Token=' + $prop.sdncRestApi.token_id`"/>\r
+ <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
+ <parameter name="trustStorePassword" value="adminadmin"/>\r
+ <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+ <parameter name="keyStorePassword" value="adminadmin"/>\r
+ <outcome value='failure'>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="Error failed to call deleteAccessConnectivityService" />\r
+ </return>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <block atomic="true">\r
+ <switch test="`$service-result.errors.error[0].error-message`">\r
+ <outcome value='Other'>\r
+ <return status='failure'>\r
+ <parameter name='ack-final' value='Y'/>\r
+ <parameter name="error-code" value="500" />\r
+ <parameter name="error-message" value="`'Error deleteAccessConnectivityService return: '+$service-result.errors.error[0].error-message`" />\r
+ </return>\r
+ </outcome>\r
+ <outcome value=''>\r
+ <block></block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ </execute>\r
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="service-instance" \r
+ key="customer.global-customer-id = $network-topology-operation-input.service-information.global-customer-id AND\r
+ service-subscription.service-type = $network-topology-operation-input.service-information.subscription-service-type AND\r
+ service-instance.service-instance-id = $network-topology-operation-input.service-information.service-instance-id"\r
+ pfx='aai.service-instance' local-only='false' >\r
+ <outcome value='failure'>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='' />\r
+ <parameter name='error-message' value='' />\r
+ </return>\r
+ </outcome>\r
+ <outcome value='success'>\r
+ <block atomic='true'>\r
+ <for silentFailure='true' index='ridx' start='0' end="`$aai.service-instance.relationship-list.relationship_length`" >\r
+ <for silentFailure='false' index='rdidx' start='0' end="`$aai.service-instance.relationship-list.relationship[$ridx].relationship-data_length`" >\r
+ <block atomic='true'>\r
+ <switch test='`$aai.service-instance.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
+ <outcome value='generic-vnf.vnf-id'>\r
+ <block atomic='true'>\r
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="generic-vnf" \r
+ key="generic-vnf.vnf-id = $aai.service-instance.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value"\r
+ pfx='aai.generic-vnf' local-only='false' >\r
+ <outcome value='success'>\r
+ <block atomic='true'>\r
+ <switch test='`$aai.generic-vnf.vnf-type`'>\r
+ <outcome value='AccessConnectivity'>\r
+ <set>\r
+ <parameter name='prop.bbs.accessConnectivityVNFId' value='`$aai.generic-vnf.vnf-id`' />\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </outcome>\r
+ </get-resource>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </block>\r
+ </for>\r
+ </for>\r
+ </block>\r
+ </outcome>\r
+ </get-resource>\r
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="generic-vnf" \r
+ key="generic-vnf.vnf-id = $prop.bbs.accessConnectivityVNFId">\r
+ <outcome value='failure'>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='' />\r
+ <parameter name='error-message' value='' />\r
+ </return>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <return status='failure'>\r
+ <parameter name='error-code' value='' />\r
+ <parameter name='error-message' value='' />\r
+ </return>\r
+ </outcome>\r
+ </delete>\r
+ <return status='success'>\r
+ <parameter name="ack-final-indicator" value="Y" />\r
+ <parameter name="error-code" value="200" />\r
+ <parameter name="error-message" value="`$error-message`" />\r
+ </return>\r
+ </block>\r
+ </method>\r
</service-logic>
\ No newline at end of file