Add logic to delete resource also from AAI
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_bbs-access-connectivity-network-topology-operation-delete-huawei.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     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
4     <method rpc='bbs-access-connectivity-network-topology-operation-delete-huawei' mode='sync'>\r
5         <block atomic="true">\r
6             <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-network-input-parameters' mode='sync' ></call>\r
7             <set>\r
8                 <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://172.30.0.55:26335' />\r
9                 <parameter name='network-input-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' />\r
10             </set>\r
11             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
12                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
13                 <parameter name='contextPrefix' value='prop' />\r
14             </execute>\r
15             <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
16                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-token-template.json'`"/>\r
17                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>\r
18                 <parameter name="format" value="json"/>\r
19                 <parameter name="httpMethod" value="put"/>\r
20                 <parameter name="responsePrefix" value="token-result"/>\r
21                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
22                 <parameter name="trustStorePassword" value="adminadmin"/>\r
23                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
24                 <parameter name="keyStorePassword" value="adminadmin"/>\r
25                 <outcome value='failure'>\r
26                     <return status='failure'>\r
27                         <parameter name='ack-final' value='Y'/>\r
28                         <parameter name="error-code" value="500" />\r
29                         <parameter name="error-message" value="Error failed to call queryTokenID" />\r
30                     </return>\r
31                 </outcome>\r
32                 <outcome value='success'>\r
33                     <switch test='`$token-result.accessSession`'>\r
34                         <outcome value=''>\r
35                             <return status='failure'>\r
36                                 <parameter name='ack-final' value='Y'/>\r
37                                 <parameter name="error-code" value="500" />\r
38                                 <parameter name="error-message" value="Error executing queryTokenID,vaule is null" />\r
39                             </return>\r
40                         </outcome>\r
41                         <outcome value='Other'>\r
42                             <set>\r
43                                 <parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />\r
44                             </set>\r
45                         </outcome>\r
46                     </switch>\r
47                 </outcome>\r
48             </execute>\r
49             <for index='idx' start='0' end='`$network-input-parameters.param_length`' >\r
50                 <switch test="`$network-input-parameters.param[$idx].name == 'serviceID'`">\r
51                     <outcome value='true'>\r
52                         <switch test='`$network-input-parameters.param[$idx].value`'>\r
53                             <outcome value='Other'>\r
54                                 <set>\r
55                                     <parameter name='prop.bbs.serviceID' value='`$network-input-parameters.param[$idx].value`' />\r
56                                 </set>\r
57                             </outcome>\r
58                             <outcome value=''>\r
59                                 <return status='failure'>\r
60                                     <parameter name='ack-final' value='Y'/>\r
61                                     <parameter name="error-code" value="500" />\r
62                                     <parameter name="error-message" value="$network-input-parameters.param[$idx].name  +' value is null, please check it.'" />\r
63                                 </return>\r
64                             </outcome>\r
65                         </switch>\r
66                     </outcome>\r
67                 </switch>\r
68             </for>\r
69             <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
70                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/DeactivateOnt?serviceID='+$prop.bbs.serviceID`" />\r
71                 <parameter name="httpMethod" value="get"/>\r
72                 <parameter name="contentType" value="application/x-www-form-urlencoded"/>\r
73                 <parameter name="responsePrefix" value="service-result"/>\r
74                 <parameter name="customHttpHeaders" value="`'X-Auth-Token=' + $prop.sdncRestApi.token_id`"/>\r
75                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
76                 <parameter name="trustStorePassword" value="adminadmin"/>\r
77                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
78                 <parameter name="keyStorePassword" value="adminadmin"/>\r
79                 <outcome value='failure'>\r
80                     <return status='failure'>\r
81                         <parameter name='ack-final' value='Y'/>\r
82                         <parameter name="error-code" value="500" />\r
83                         <parameter name="error-message" value="Error failed to call deleteAccessConnectivityService" />\r
84                     </return>\r
85                 </outcome>\r
86                 <outcome value='success'>\r
87                     <block atomic="true">\r
88                         <switch test="`$service-result.errors.error[0].error-message`">\r
89                             <outcome value='Other'>\r
90                                 <return status='failure'>\r
91                                     <parameter name='ack-final' value='Y'/>\r
92                                     <parameter name="error-code" value="500" />\r
93                                     <parameter name="error-message" value="`'Error deleteAccessConnectivityService return: '+$service-result.errors.error[0].error-message`" />\r
94                                 </return>\r
95                             </outcome>\r
96                             <outcome value=''>\r
97                                 <block></block>\r
98                             </outcome>\r
99                         </switch>\r
100                     </block>\r
101                 </outcome>\r
102             </execute>\r
103             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
104                 resource="service-instance" \r
105                 key="customer.global-customer-id = $network-topology-operation-input.service-information.global-customer-id AND\r
106                         service-subscription.service-type = $network-topology-operation-input.service-information.subscription-service-type AND\r
107                         service-instance.service-instance-id = $network-topology-operation-input.service-information.service-instance-id"\r
108         pfx='aai.service-instance' local-only='false' >\r
109                 <outcome value='failure'>\r
110                     <return status='failure'>\r
111                         <parameter name='error-code' value='' />\r
112                         <parameter name='error-message' value='' />\r
113                     </return>\r
114                 </outcome>\r
115                 <outcome value='success'>\r
116                     <block atomic='true'>\r
117                         <for silentFailure='true' index='ridx' start='0' end="`$aai.service-instance.relationship-list.relationship_length`" >\r
118                             <for silentFailure='false' index='rdidx' start='0' end="`$aai.service-instance.relationship-list.relationship[$ridx].relationship-data_length`" >\r
119                                 <block atomic='true'>\r
120                                     <switch test='`$aai.service-instance.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
121                                         <outcome value='generic-vnf.vnf-id'>\r
122                                             <block atomic='true'>\r
123                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
124                 resource="generic-vnf" \r
125                 key="generic-vnf.vnf-id = $aai.service-instance.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value"\r
126         pfx='aai.generic-vnf' local-only='false' >\r
127                                                     <outcome value='success'>\r
128                                                         <block atomic='true'>\r
129                                                             <switch test='`$aai.generic-vnf.vnf-type`'>\r
130                                                                 <outcome value='AccessConnectivity'>\r
131                                                                     <set>\r
132                                                                         <parameter name='prop.bbs.accessConnectivityVNFId' value='`$aai.generic-vnf.vnf-id`' />\r
133                                                                     </set>\r
134                                                                 </outcome>\r
135                                                             </switch>\r
136                                                         </block>\r
137                                                     </outcome>\r
138                                                 </get-resource>\r
139                                             </block>\r
140                                         </outcome>\r
141                                     </switch>\r
142                                 </block>\r
143                             </for>\r
144                         </for>\r
145                     </block>\r
146                 </outcome>\r
147             </get-resource>\r
148             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
149                 resource="generic-vnf" \r
150                 key="generic-vnf.vnf-id = $prop.bbs.accessConnectivityVNFId">\r
151                 <outcome value='failure'>\r
152                     <return status='failure'>\r
153                         <parameter name='error-code' value='' />\r
154                         <parameter name='error-message' value='' />\r
155                     </return>\r
156                 </outcome>\r
157                 <outcome value='not-found'>\r
158                     <return status='failure'>\r
159                         <parameter name='error-code' value='' />\r
160                         <parameter name='error-message' value='' />\r
161                     </return>\r
162                 </outcome>\r
163             </delete>\r
164             <return status='success'>\r
165                 <parameter name="ack-final-indicator" value="Y" />\r
166                 <parameter name="error-code" value="200" />\r
167                 <parameter name="error-message" value="`$error-message`" />\r
168             </return>\r
169         </block>\r
170     </method>\r
171 </service-logic>