<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='network-topology-operation-deactivate' mode='sync'> <block atomic="true"> <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="l3-network" key="l3-network.network-id = $network-topology-operation-input.network-information.network-id AND depth='all'" local-only="false" pfx="aai.l3-network"> <outcome value='not-found'> <return status='failure'> <parameter name="error-code" value="404" /> <parameter name="error-message" value="network-id not found in AAI" /> </return> </outcome> <outcome value='failure'> <return status='failure'> <parameter name="error-code" value="500" /> <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $network-topology-operation-input.network-request-information.network-id + 'from AnAI'" /> </return> </outcome> </get-resource> <switch test='`$aai.l3-network.subnets.subnet_length`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="no networks found" /> </return> </outcome> <outcome value='Other'> <switch test='`$network-data.network-topology.network-topology-identifier-structure.network-instance-group-id`'> <outcome value=''> <switch test='`$service-data.networks.network[$nidx].network-data.network-information.from-preload`'> <outcome value='true'> <block atomic="true"> <for index='sidx' start='0' end='`$aai.l3-network.subnets.subnet_length`' > <block atomic="true"> <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="subnet" key="l3-network.network-id = $aai.l3-network.network-id AND subnet.subnet-id = $aai.l3-network.subnets.subnet[$sidx].subnet-id" > <parameter name="orchestration-status" value="PendingDelete" /> <outcome value='failure'> <return status="failure"> <parameter name="error-code" value="500"/> <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." /> </return> </outcome> <outcome value="not-found"> <return status="failure"> <parameter name="error-code" value="500"/> <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet. Subnet not found." /> </return> </outcome> </update> </block> </for> </block> </outcome> <outcome value='Other'> <block atomic="true"> <for index='sidx' start='0' end='`$aai.l3-network.subnets.subnet_length`' > <block atomic="true"> <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' key="SELECT * from EIPAM_IP_SUBNETS where entity_id = $aai.l3-network.subnets.subnet[$sidx].subnet-id ; " pfx='tmp.eipam-subnet-row'> <outcome value='failure'> <return status="failure"> <parameter name="error-code" value="500"/> <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNETS failed to find subnet matching aai subnet." /> </return> </outcome> <outcome value="not-found"> <return status="failure"> <parameter name="error-code" value="500"/> <parameter name="error-message" value="Subnet not found in EIPAM_IP_SUBNETS - deactivate failed." /> </return> </outcome> <outcome value='success'> <block atomic='true'> <set> <parameter name="eipam-ip-block.entity-id" value="`$aai.l3-network.subnets.subnet[$sidx].subnet-id`"/> <parameter name="eipam-ip-block.plans[0].plan-name" value="$tmp.eipam-subnet-row.plan-name"/> </set> </block> </outcome> </get-resource> <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="subnet" key="l3-network.network-id = $aai.l3-network.network-id AND subnet.subnet-id = $eipam-ip-block.entity-id" > <parameter name="orchestration-status" value="PendingDelete" /> <outcome value='failure'> <return status="failure"> <parameter name="error-code" value="500"/> <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." /> </return> </outcome> <outcome value="not-found"> <return status="failure"> <parameter name="error-code" value="500"/> <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet. Subnet not found." /> </return> </outcome> </update> </block> </for> </block> </outcome> </switch> </outcome> <outcome value='Other'> <block atomic="true"> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="network collection activate failed" /> </return> </block> </outcome> </switch> </outcome> </switch> <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="l3-network" key="l3-network.network-id = $aai.l3-network.network-id" > <parameter name="orchestration-status" value="PendingDelete" /> <outcome value='failure'> <return status="failure"> <parameter name="error-code" value="500"/> <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network" /> </return> </outcome> <outcome value="not-found"> <return status="failure"> <parameter name="error-code" value="500"/> <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network. Network not found." /> </return> </outcome> </update> <set> <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' /> <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' /> </set> <set> <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' /> </set> <set> <parameter name='network-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $network-topology-operation-input.service-information.service-instance-id + '/service-data/networks/network/' + $networkId + '/network-data/network-topology/'` " /> </set> <set> <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='PendingDelete' /> <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' /> <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' /> </set> <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>