+ <outcome value='not-found'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Cloud region not found in AAI" />\r
+ </set>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+ </set>\r
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+ <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
+ <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
+ <parameter name="input.ack-final-indicator" value="Y" />\r
+ <parameter name="input.response-code" value="500" />\r
+ <parameter name="input.response-message" value="`$error-message`" />\r
+ <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
+ <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
+ <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
+ </configure>\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-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />\r
+ </set>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+ </set>\r
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+ <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
+ <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
+ <parameter name="input.ack-final-indicator" value="Y" />\r
+ <parameter name="input.response-code" value="500" />\r
+ <parameter name="input.response-message" value="`$error-message`" />\r
+ <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
+ <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
+ <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
+ </configure>\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-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </get-resource>\r
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\r
+ <outcome value='complex'>\r
+ <block atomic="true">\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />\r
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\r
+ <parameter name='regex' value='/' />\r
+ </execute>\r
+ <set>\r
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\r
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\r
+ </set>\r
+ <break/>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </for>\r
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\r
+ <outcome value=''>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
+ </set>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+ </set>\r
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+ <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
+ <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
+ <parameter name="input.ack-final-indicator" value="Y" />\r
+ <parameter name="input.response-code" value="500" />\r
+ <parameter name="input.response-message" value="`$error-message`" />\r
+ <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
+ <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
+ <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
+ </configure>\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-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
+ key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\r
+ pfx='db.vf-network-role-mapping[]'>\r
+ <outcome value='failure'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />\r
+ </set>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
+ </set>\r
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
+ <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
+ <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
+ <parameter name="input.ack-final-indicator" value="Y" />\r
+ <parameter name="input.response-code" value="500" />\r
+ <parameter name="input.response-message" value="`$error-message`" />\r
+ <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
+ <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
+ <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
+ </configure>\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-message`" />\r
+ </return>\r
+ </block>\r
+ </block>\r
+ </outcome>\r
+ <outcome value='not-found'>\r
+ <set>\r
+ <parameter name='db.vf-network-role-mapping_length' value='0' />\r
+ </set>\r
+ </outcome>\r
+ </get-resource>\r
+ <set>\r
+ <parameter name='network-index' value='0' />\r
+ </set>\r
+ <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>\r
+ <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\r
+ <outcome value=''>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='null'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='NULL'>\r
+ <block></block>\r
+ </outcome>\r
+ <outcome value='Other'>\r
+ <block atomic="true">\r
+ <set>\r
+ <parameter name='aai.l3-network.' value='' />\r
+ </set>\r
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+ resource="l3-networks" \r
+ key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"\r
+ pfx='aai.l3-network' local-only='false'\r
+>\r
+ <outcome value='not-found'>\r