Allow sub directories for graphs
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / sdwan / GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-delete.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='sdwan-attachment-topology-operation-delete' mode='sync'>\r
5         <block atomic="true">\r
6             <set>\r
7                 <parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\r
8                 <parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\r
9             </set>\r
10             <set>\r
11                 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\r
12  + $tmp.ar.allotted-resource-id\r
13  + '/allotted-resource-data/connection-attachment-topology/'` " />\r
14             </set>\r
15             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
16                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
17                 <parameter name='contextPrefix' value='prop' />\r
18             </execute>\r
19             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
20                 <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>\r
21                 <parameter name="outputPath" value="tmp.ar-url"/>\r
22                 <parameter name="target" value="{allotted-resource-id}"/>\r
23                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>\r
24             </execute>\r
25             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
26                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
27                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
28                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
29                 <parameter name='format' value='json' />\r
30                 <parameter name='httpMethod' value='Delete' />\r
31                 <parameter name="responsePrefix" value="mdsal-ar" />\r
32                 <outcome value='success'>\r
33                     <block></block>\r
34                 </outcome>\r
35                 <outcome value='failure'>\r
36                     <return status='failure'>\r
37                         <parameter name='ack-final' value='Y'/>\r
38                         <parameter name="error-code" value="500" />\r
39                         <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />\r
40                     </return>\r
41                 </outcome>\r
42                 <outcome value='not-found'>\r
43                     <return status='failure'>\r
44                         <parameter name='ack-final' value='Y'/>\r
45                         <parameter name="error-code" value="500" />\r
46                         <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />\r
47                     </return>\r
48                 </outcome>\r
49             </execute>\r
50             <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\r
51                 <outcome value=''>\r
52                     <return status='failure'>\r
53                         <parameter name='ack-final' value='Y'/>\r
54                         <parameter name="error-code" value="500" />\r
55                         <parameter name="error-message" value="Resource to be deleted doesn't exist in MDSAL." />\r
56                     </return>\r
57                 </outcome>\r
58                 <outcome value='Other'>\r
59                     <block atomic="true">\r
60                         <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\r
61                             <switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">\r
62                                 <outcome value='true'>\r
63                                     <block atomic="true">\r
64                                         <set>\r
65                                             <parameter name='tmp.cidx' value='`$cidx`' />\r
66                                         </set>\r
67                                     </block>\r
68                                 </outcome>\r
69                             </switch>\r
70                         </for>\r
71                         <switch test="`$tmp.cidx`">\r
72                             <outcome value=''>\r
73                                 <return status='failure'>\r
74                                     <parameter name='ack-final' value='Y'/>\r
75                                     <parameter name="error-code" value="500" />\r
76                                     <parameter name="error-message" value="resource to be deleted is not available in mdsal" />\r
77                                 </return>\r
78                             </outcome>\r
79                         </switch>\r
80                     </block>\r
81                 </outcome>\r
82             </switch>\r
83             <set>\r
84                 <parameter name="service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx]." value="" />\r
85                 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length - 1`' />\r
86             </set>\r
87             <set>\r
88                 <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />\r
89             </set>\r
90             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
91                 <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>\r
92                 <parameter name="outputPath" value="tmp.ar-url-psd"/>\r
93                 <parameter name="target" value="{service-instance-id}"/>\r
94                 <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>\r
95             </execute>\r
96             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
97                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-psd`' />\r
98                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
99                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
100                 <parameter name='format' value='json' />\r
101                 <parameter name='httpMethod' value='GET' />\r
102                 <parameter name="responsePrefix" value="mdsal-psd" />\r
103                 <outcome value='success'>\r
104                     <block></block>\r
105                 </outcome>\r
106                 <outcome value='Other'>\r
107                     <return status='failure'>\r
108                         <parameter name='ack-final' value='Y'/>\r
109                         <parameter name="error-code" value="404" />\r
110                         <parameter name="error-message" value="Error: SOTN resource not found" />\r
111                     </return>\r
112                 </outcome>\r
113             </execute>\r
114             <switch test='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`'>\r
115                 <outcome value=''>\r
116                     <return status='failure'>\r
117                         <parameter name='ack-final' value='Y'/>\r
118                         <parameter name="error-code" value="500" />\r
119                         <parameter name="error-message" value="Resource to be deleted doesn't exist in MDSAL." />\r
120                     </return>\r
121                 </outcome>\r
122                 <outcome value='Other'>\r
123                     <block atomic="true">\r
124                         <for index='pidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\r
125                             <switch test="`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">\r
126                                 <outcome value='true'>\r
127                                     <block atomic="true">\r
128                                         <set>\r
129                                             <parameter name='tmp.pidx' value='`$pidx`' />\r
130                                         </set>\r
131                                     </block>\r
132                                 </outcome>\r
133                             </switch>\r
134                         </for>\r
135                         <switch test="`$tmp.pidx`">\r
136                             <outcome value=''>\r
137                                 <return status='failure'>\r
138                                     <parameter name='ack-final' value='Y'/>\r
139                                     <parameter name="error-code" value="500" />\r
140                                     <parameter name="error-message" value="resource to be deleted is not available in mdsal" />\r
141                                 </return>\r
142                             </outcome>\r
143                         </switch>\r
144                     </block>\r
145                 </outcome>\r
146             </switch>\r
147             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
148                 <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.ar-url-psd + '/provided-allotted-resources/provided-allotted-resource/' + $tmp.ar.allotted-resource-id`" />\r
149                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
150                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
151                 <parameter name='format' value='json' />\r
152                 <parameter name='httpMethod' value='DELETE' />\r
153                 <parameter name="responsePrefix" value="mdsal-psd-delete" />\r
154             </execute>\r
155             <set>\r
156                 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\r
157                 <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>\r
158                 <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
159  + $connection-attachment-topology-operation-input.service-information.service-instance-id\r
160  + '/service-data/service-topology/'`"/>\r
161             </set>\r
162             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='allotted-resource'  \r
163                 key="customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\r
164                         service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\r
165                         service-instance.service-instance-id = $connection-attachment-topology-operation-input.service-information.service-instance-id AND\r
166                         allotted-resource.id = $tmp.ar.allotted-resource-id">\r
167                 <outcome value='failure'>\r
168                     <return status='failure'>\r
169                         <parameter name='ack-final' value='Y'/>\r
170                         <parameter name="error-code" value="500" />\r
171                         <parameter name="error-message" value="AAI failed" />\r
172                     </return>\r
173                 </outcome>\r
174                 <outcome value='not-found'>\r
175                     <return status='failure'>\r
176                         <parameter name='ack-final' value='Y'/>\r
177                         <parameter name="error-code" value="500" />\r
178                         <parameter name="error-message" value="AAI failed" />\r
179                     </return>\r
180                 </outcome>\r
181             </delete>\r
182             <return status='success'>\r
183                 <parameter name="ack-final-indicator" value="Y" />\r
184                 <parameter name="error-code" value="200" />\r
185                 <parameter name="error-message" value="`$error-message`" />\r
186             </return>\r
187         </block>\r
188     </method>\r
189 </service-logic>\r