Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / p2p_eline / GENERIC-RESOURCE-API_p2p-vnf-topology-operation-p2p-delete.xml
1 <service-logic
2         xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4     <method rpc='p2p-vnf-topology-operation-p2p-delete' mode='sync'>
5         <block atomic="true">
6             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
7                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
8                 <parameter name='contextPrefix' value='prop' />
9             </execute>
10             <!--<get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" -->
11             <!--        resource="service-instance"-->
12             <!--        key='service-instance.service-instance-id = $service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.service-instance-id-->
13             <!--         AND customer.global-customer-id = $service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.global-customer-id -->
14             <!--         AND service-subscription.service-type = $service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.subscription-service-type'-->
15             <!--        local-only="false"-->
16             <!--        force="true" pfx="tmp.aai.service-instance">-->
17             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
18                           resource="service-instance"
19                           key='service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id
20          AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
21          AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type'
22                           local-only="false"
23                           force="true" pfx="tmp.aai.service-instance">
24                 <!--vnf-topology-operation-input.service-information.service-instance-id-->
25                 <outcome value='success'>
26                     <for index='rel-index' start='0' end='`$tmp.aai.service-instance.relationship-list.relationship_length`' >
27                         <switch test='`$tmp.aai.service-instance.relationship-list.relationship[$rel-index].related-to`'>
28                             <outcome value='connectivity'>
29                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
30                                               resource="connectivity"
31                                               key="connectivity.connectivity-id = $tmp.aai.service-instance.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
32                                               local-only="false"
33                                               pfx="tmp.aai.connectivity" >
34                                     <outcome value='success'>
35                                         <for silentFailure='true' index='cridx' start='0' end='`$tmp.aai.connectivity.relationship-list.relationship_length`' >
36                                             <switch test='`$tmp.aai.connectivity.relationship-list.relationship[$cridx].related-to`'>
37                                                 <outcome value='vpn-binding'>
38                                                     <block atomic="true">
39                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
40                                                                       resource="vpn-binding"
41                                                                       key="vpn-binding.vpn-id = $tmp.aai.connectivity.relationship-list.relationship[$cridx].relationship-data[0].relationship-value"
42                                                                       local-only="false"
43                                                                       pfx="tmp.aai.vpn-binding" >
44                                                             <outcome value='success'>
45                                                                 <block atomic="true">
46                                                                     <set>
47                                                                         <parameter name='tmp.domain.pnf-name' value="`'networkId-providerId-' +
48                                                    $tmp.aai.vpn-binding.access-provider-id + '-clientId-' +
49                                                    $tmp.aai.vpn-binding.access-client-id + '-topologyId-' +
50                                                    $tmp.aai.vpn-binding.access-topology-id + '-nodeId-' +
51                                                    $tmp.aai.vpn-binding.src-access-node-id`" />
52                                                                     </set>
53                                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
54                                                                                   resource="pnf"
55                                                                                   key="pnf.pnf-name = $tmp.domain.pnf-name"
56                                                                                   pfx='tmp.aai.source-pnf' local-only='false' >
57                                                                         <!--AND depth = '0'"-->
58                                                                         <outcome value='success'>
59                                                                             <block>
60                                                                                 <for silentFailure='true' index='spvidx' start='0' end='`$tmp.aai.source-pnf.relationship-list.relationship_length`' >
61                                                                                     <switch test='`$tmp.aai.source-pnf.relationship-list.relationship[$spvidx].related-to`'>
62                                                                                         <outcome value='esr-thirdparty-sdnc'>
63                                                                                             <block atomic="true">
64                                                                                                 <set>
65                                                                                                     <parameter name='tmp.domain.esr-thirdparty-id' value="`$tmp.aai.source-pnf.relationship-list.relationship[$spvidx].relationship-data[0].relationship-value`" />
66                                                                                                 </set>
67                                                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
68                                                                                                               resource="esr-thirdparty-sdnc"
69                                                                                                               key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.domain.esr-thirdparty-id AND
70                      depth = '1'"
71                                                                                                               pfx='tmp.aai.domain.esr-thirdparty-sdnc' local-only='false' >
72                                                                                                     <outcome value='success'>
73                                                                                                         <block>
74                                                                                                             <set>
75                                                                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.domain.url' value="`$tmp.aai.domain.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
76                                                                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.domain.user' value="`$tmp.aai.domain.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
77                                                                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.domain.password' value="`$tmp.aai.domain.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
78                                                                                                                 <!--<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >-->
79                                                                                                                 <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />-->
80                                                                                                                 <!--<parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />-->
81                                                                                                                 <!--<parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />-->
82                                                                                                                 <!--<parameter name="format" value="json"/>-->
83                                                                                                                 <!--<parameter name="httpMethod" value="get"/>-->
84                                                                                                                 <!--<parameter name="responsePrefix" value="topology"/>-->
85                                                                                                                 <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->
86                                                                                                                 <!--<parameter name="trustStorePassword" value="adminadmin"/>-->
87                                                                                                                 <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->
88                                                                                                                 <!--<parameter name="keyStorePassword" value="adminadmin"/>-->
89                                                                                                             </set>
90                                                                                                         </block>
91                                                                                                     </outcome>
92                                                                                                     <outcome value='not-found'>
93                                                                                                         <return status='failure'>
94                                                                                                             <parameter name='ack-final' value='Y'/>
95                                                                                                             <parameter name="error-code" value="500" />
96                                                                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
97                                                                                                         </return>
98                                                                                                     </outcome>
99                                                                                                     <outcome value='Other'>
100                                                                                                         <return status='failure'>
101                                                                                                             <parameter name='ack-final' value='Y'/>
102                                                                                                             <parameter name="error-code" value="500" />
103                                                                                                             <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
104                                                                                                         </return>
105                                                                                                     </outcome>
106                                                                                                 </get-resource>
107                                                                                                 <break/>
108                                                                                             </block>
109                                                                                         </outcome>
110                                                                                     </switch>
111                                                                                 </for>
112                                                                             </block>
113                                                                         </outcome>
114                                                                         <outcome value='not-found'>
115                                                                             <return status='failure'>
116                                                                                 <parameter name='ack-final' value='Y'/>
117                                                                                 <parameter name="error-code" value="500" />
118                                                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
119                                                                             </return>
120                                                                         </outcome>
121                                                                         <outcome value='Other'>
122                                                                             <return status='failure'>
123                                                                                 <parameter name='ack-final' value='Y'/>
124                                                                                 <parameter name="error-code" value="500" />
125                                                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />
126                                                                             </return>
127                                                                         </outcome>
128                                                                     </get-resource>
129                                                                     <set>
130                                                                         <parameter name='slice-instance-id' value='`$tmp.aai.service-instance.service-instance-id`' />
131                                                                     </set>
132                                                                     <switch test='`$tmp.aai.connectivity.etht-svc-name`'>
133                                                                         <outcome value='Other'>
134                                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
135                                                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.domain.url + '/restconf/data/ietf-eth-tran-service:etht-svc/etht-svc-instances=' + $tmp.aai.connectivity.etht-svc-name`" />
136                                                                                 <!--<parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`" />-->
137                                                                                 <!--<parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`" />-->
138                                                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.domain.user`" />
139                                                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.domain.password`" />
140                                                                                 <parameter name="format" value="json"/>
141                                                                                 <parameter name="httpMethod" value="delete"/>
142                                                                                 <parameter name='dirPath' value="/opt/onap/sdnc/restconfapi/yang" />
143                                                                                 <parameter name="responsePrefix" value="vpn-result"/>
144                                                                                 <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->
145                                                                                 <!--<parameter name="trustStorePassword" value="adminadmin"/>-->
146                                                                                 <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->
147                                                                                 <!--<parameter name="keyStorePassword" value="adminadmin"/>-->
148                                                                                 <outcome value='failure'></outcome>
149                                                                                 <outcome value='success'>
150                                                                                     <block>
151                                                                                         <switch test="`length($tmp.aai.vpn-binding.dst-access-ltp-id) == 0`">
152                                                                                             <outcome value='false'>
153                                                                                                 <switch test="`length($tmp.aai.vpn-binding.src-access-ltp-id) == 0`">
154                                                                                                     <outcome value='true'></outcome>
155                                                                                                     <outcome value='false'>
156                                                                                                         <block atomic="true">
157                                                                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restconfdiscovery.PeriodicDiscoveryNode' method='deleteSubscription' >
158                                                                                                                 <parameter name="subscriberId" value="`$prop.sdncRestApi.thirdpartySdnc.domain.url`" />
159                                                                                                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.cll-terminate-notification.templatefile`" />
160                                                                                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.domain.url + '/restconf/operations/ietf-subscribed-notifications:delete-subscription'`" />
161                                                                                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.domain.user`" />
162                                                                                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.domain.password`" />
163                                                                                                                 <parameter name="dirPath" value="/opt/sdnc/restconfapi/yang/notification" />
164                                                                                                                 <parameter name="format" value="json" />
165                                                                                                                 <parameter name="httpMethod" value="post" />
166                                                                                                                 <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->
167                                                                                                                 <!--<parameter name="trustStorePassword" value="adminadmin"/>-->
168                                                                                                                 <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->
169                                                                                                                 <!--<parameter name="keyStorePassword" value="adminadmin"/>-->
170                                                                                                                 <!--<parameter name='customHttpHeaders' value="X-ACCESS-TOKEN=x-ik2ps4ikvzupbx0486ft1ebzs7rt85futh9ho6eofy3wjsap7wqktemlqm4bbsmnar3vrtbyrzukbv5itd6m1cftldpjarnyle3sdcqq9hftc4lebz464b5ffxmlbvg9" />-->
171                                                                                                                 <parameter name="module" value="GENERIC-RESOURCE-API" />
172                                                                                                                 <parameter name="rpc" value="p2p-vnf-topology-operation-p2p-callbackdg-notification" />
173                                                                                                                 <parameter name="version" value="`$project.version`" />
174                                                                                                                 <parameter name="mode" value="sync" />
175                                                                                                                 <parameter name="responsePrefix" value="restapi-result"/>
176                                                                                                             </execute>
177                                                                                                         </block>
178                                                                                                     </outcome>
179                                                                                                 </switch>
180                                                                                             </outcome>
181                                                                                             <outcome value='true'></outcome>
182                                                                                         </switch>
183                                                                                     </block>
184                                                                                 </outcome>
185                                                                             </execute>
186                                                                         </outcome>
187                                                                         <outcome value=''></outcome>
188                                                                     </switch>
189                                                                     <delete plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity'
190                                                                             key='connectivity.connectivity-id = $tmp.aai.connectivity.connectivity-id'></delete>
191                                                                     <delete plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding'
192                                                                             key='vpn-binding.vpn-id = $tmp.aai.vpn-binding.vpn-id' ></delete>
193                                                                 </block>
194                                                             </outcome>
195                                                             <outcome value='not-found'>
196                                                                 <return status='failure'>
197                                                                     <parameter name='ack-final' value='Y'/>
198                                                                     <parameter name="error-code" value="500" />
199                                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
200                                                                 </return>
201                                                             </outcome>
202                                                             <outcome value='failure'>
203                                                                 <return status='failure'>
204                                                                     <parameter name='error-code' value='' />
205                                                                     <parameter name='error-message' value='' />
206                                                                 </return>
207                                                             </outcome>
208                                                         </get-resource>
209                                                     </block>
210                                                 </outcome>
211                                             </switch>
212                                         </for>
213                                     </outcome>
214                                     <outcome value='not-found'>
215                                         <return status='failure'>
216                                             <parameter name='ack-final' value='Y'/>
217                                             <parameter name="error-code" value="500" />
218                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
219                                         </return>
220                                     </outcome>
221                                     <outcome value='failure'>
222                                         <return status='failure'>
223                                             <parameter name='error-code' value='' />
224                                             <parameter name='error-message' value='' />
225                                         </return>
226                                     </outcome>
227                                 </get-resource>
228                             </outcome>
229                         </switch>
230                     </for>
231                 </outcome>
232                 <outcome value='not-found'>
233                     <return status='failure'>
234                         <parameter name='ack-final' value='Y'/>
235                         <parameter name="error-code" value="500" />
236                         <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />
237                     </return>
238                 </outcome>
239                 <outcome value='failure'>
240                     <return status='failure'>
241                         <parameter name='error-code' value='' />
242                         <parameter name='error-message' value='' />
243                     </return>
244                 </outcome>
245             </get-resource>
246             <return status='success'>
247                 <parameter name="ack-final-indicator" value="Y" />
248                 <parameter name="error-code" value="200" />
249                 <parameter name="error-message" value="`$error-message`" />
250             </return>
251         </block>
252     </method>
253 </service-logic>