Bug fixed related to service-instance metadat
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-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-vnf-topology-operation-delete-huawei' mode='sync'>\r
5         <block atomic="true">\r
6             <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-vnf-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='vnf-input-parameters.' value='`$vnf-topology-operation-input.vnf-request-input.vnf-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='`$vnf-input-parameters.param_length`' >\r
50                 <switch test="`$vnf-input-parameters.param[$idx].name == 'serviceID'`">\r
51                     <outcome value='true'>\r
52                         <switch test='`$vnf-input-parameters.param[$idx].value`'>\r
53                             <outcome value='Other'>\r
54                                 <set>\r
55                                     <parameter name='prop.bbs.serviceID' value='`$vnf-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="$vnf-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 = $vnf-topology-operation-input.service-information.global-customer-id AND\r
106                         service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND\r
107                         service-instance.service-instance-id = $vnf-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                         <for silentFailure='true' index='rix' start='0' end="`$aai.service-instance.metadata.metadatum_length`" >\r
146                             <switch test='`$aai.service-instance.metadata.metadatum[$rix].metaname`'>\r
147                                 <outcome value='remote-id'>\r
148                                     <block atomic='true'>\r
149                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
150         resource="service-instance"\r
151                 key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND\r
152                         service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND\r
153                         service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND\r
154                         metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>\r
155                                     </block>\r
156                                 </outcome>\r
157                                 <outcome value='controller-service-id'>\r
158                                     <block atomic='true'>\r
159                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
160         resource="service-instance"\r
161                 key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND\r
162                         service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND\r
163                         service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND\r
164                         metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>\r
165                                     </block>\r
166                                 </outcome>\r
167                                 <outcome value='cvlan'>\r
168                                     <block atomic='true'>\r
169                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
170         resource="service-instance"\r
171                 key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND\r
172                         service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND\r
173                         service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND\r
174                         metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>\r
175                                     </block>\r
176                                 </outcome>\r
177                                 <outcome value='svlan'>\r
178                                     <block atomic='true'>\r
179                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
180         resource="service-instance"\r
181                 key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND\r
182                         service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND\r
183                         service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND\r
184                         metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>\r
185                                     </block>\r
186                                 </outcome>\r
187                                 <outcome value='expected-ont-id'>\r
188                                     <block atomic='true'>\r
189                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
190         resource="service-instance"\r
191                 key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND\r
192                         service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND\r
193                         service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND\r
194                         metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>\r
195                                     </block>\r
196                                 </outcome>\r
197                             </switch>\r
198                         </for>\r
199                     </block>\r
200                 </outcome>\r
201             </get-resource>\r
202             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
203                 resource="generic-vnf" \r
204                 key="generic-vnf.vnf-id = $prop.bbs.accessConnectivityVNFId">\r
205                 <outcome value='failure'>\r
206                     <return status='failure'>\r
207                         <parameter name='error-code' value='' />\r
208                         <parameter name='error-message' value='' />\r
209                     </return>\r
210                 </outcome>\r
211                 <outcome value='not-found'>\r
212                     <return status='failure'>\r
213                         <parameter name='error-code' value='' />\r
214                         <parameter name='error-message' value='' />\r
215                     </return>\r
216                 </outcome>\r
217             </delete>\r
218             <return status='success'>\r
219                 <parameter name="ack-final-indicator" value="Y" />\r
220                 <parameter name="error-code" value="200" />\r
221                 <parameter name="error-message" value="`$error-message`" />\r
222             </return>\r
223         </block>\r
224     </method>\r
225 </service-logic>