Add logic to delete resource also from AAI
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_bbs-internet-profile-network-topology-operation-delete-huawei.xml
index 15f845f..ea6dde9 100644 (file)
@@ -1,42 +1,84 @@
-<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-internet-profile-network-topology-operation-delete-huawei' mode='sync'>
-        <block atomic="true">
-            <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-profile-network-topology-operation-common-huawei' mode='sync' ></call>
-            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
-                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-internet-profile-operation.json'`" />
-                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/DeleteInternetProfileInstance'`" />
-                <parameter name="contentType" value="application/json"/>
-                <parameter name="httpMethod" value="post"/>
-                <parameter name="responsePrefix" value="service-result"/>
-                <outcome value='failure'>
-                    <return status='failure'>
-                        <parameter name='ack-final' value='Y'/>
-                        <parameter name="error-code" value="500" />
-                        <parameter name="error-message" value="Error failed to call DeleteInternetProfileInstance" />
-                    </return>
-                </outcome>
-                <outcome value='success'>
-                    <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 DeleteInternetProfileInstance return: '+$service-result.errors.error[0].error-message`" />
-                            </return>
-                        </outcome>
-                        <outcome value=''>
-                            <block></block>
-                        </outcome>
-                    </switch>
-                </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-internet-profile-network-topology-operation-delete-huawei' mode='sync'>\r
+        <block atomic="true">\r
+            <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-profile-network-topology-operation-common-huawei' mode='sync' ></call>\r
+            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
+                <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-internet-profile-operation.json'`" />\r
+                <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/DeleteInternetProfileInstance'`" />\r
+                <parameter name="contentType" value="application/json"/>\r
+                <parameter name="httpMethod" value="post"/>\r
+                <parameter name="responsePrefix" value="service-result"/>\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 DeleteInternetProfileInstance" />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='success'>\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 DeleteInternetProfileInstance return: '+$service-result.errors.error[0].error-message`" />\r
+                            </return>\r
+                        </outcome>\r
+                        <outcome value=''>\r
+                            <block></block>\r
+                        </outcome>\r
+                    </switch>\r
+                </outcome>\r
+            </execute>\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='InternetProfile'>\r
+                                                    <set>\r
+                                                        <parameter name='prop.bbs.internetProfileVNFId' 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
+            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+               resource="generic-vnf" \r
+               key="generic-vnf.vnf-id = $prop.bbs.internetProfileVNFId">\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