Renamed ecomp-model-information
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation-unassign.xml
1 <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='network-topology-operation-unassign' mode='sync'>\r
2 <block atomic="true"><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\r
3   key='SELECT * from NETWORK_MODEL WHERE customization_uuid = $service-data.networks.network[$nidx].network-data.network-information.onap-model-information.model-customization-uuid\r
4   and service_uuid = $service-data.networks.network[$nidx].network-data.service-information.onap-model-information.model-uuid'\r
5   pfx='network-model'>\r
6 \r
7 </get-resource><set>\r
8         <parameter name="tmp.level1-key-value" value=""/>\r
9         <parameter name="tmp.level1inuse" value="false" />\r
10         <parameter name="pidx" value="0" />\r
11         <parameter name="pidx-len" value="0" />\r
12         \r
13 </set><get-resource\r
14         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'\r
15         resource='SQL'\r
16         key="SELECT * from EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k WHERE s.network_id = $network-topology-operation-input.network-information.network-id and s.entity_id = k.entity_id ; "\r
17         pfx='tmp.eipam-subnet-row[]'>\r
18 \r
19 <outcome value='failure'>\r
20 <return status="failure">\r
21         <parameter name="tmp.eipam-error" value="true" />\r
22         <parameter name="error-code" value="500"/>\r
23         <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
24         </return></outcome><outcome value='success'>\r
25 <block atomic='true'><for silentFailure='true' index='esidx' start='0' end='`$tmp.eipam-subnet-row_length`' >\r
26 <block atomic="true"><switch test='`$tmp.eipam-subnet-row[$esidx].level`'>\r
27 <outcome value='1'>\r
28 <block atomic="true"><set>\r
29         <parameter name="tmp.level1-key-value[$pidx]" value="`$tmp.eipam-subnet-row[$esidx].key-value`"/>\r
30 \r
31         \r
32 </set><set>\r
33         <parameter name="tmp.plan-name[$pidx]" value="`$tmp.eipam-subnet-row[$esidx].plan-name`"/>\r
34 \r
35         \r
36 </set><set>\r
37         <parameter name="pidx" value="`$pidx + 1`"/>\r
38 \r
39         \r
40 </set><set>\r
41         <parameter name="pidx-len" value="`$pidx`"/>\r
42 \r
43         \r
44 </set></block></outcome><outcome value='Other'>\r
45 <block atomic="true"></block></outcome></switch></block></for></block></outcome><outcome value="not-found"><block atomic='true'></block></outcome></get-resource><set>\r
46         <parameter name="eipam-ip-block.network-id" value="`$network-topology-operation-input.network-information.network-id`" />\r
47         <parameter name="eipam-ip-block.level" value='2' />\r
48         <parameter name="eipam-ip-block.entity-id" value='' /></set><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateAllSubnets">\r
49 <outcome value='failure'><return status="failure">\r
50         <parameter name="tmp.eipam-error" value="true" />\r
51         <parameter name="error-code" value="500"/>\r
52         <parameter name="error-message" value="An error occured while deallocating subnets in EIPAM." />\r
53         </return></outcome></execute><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByNetworkLevel">\r
54 <outcome value='failure'><return status="failure">\r
55         <parameter name="tmp.eipam-error" value="true" />\r
56         <parameter name="error-code" value="500"/>\r
57         <parameter name="error-message" value="An error occured while deleting level 2 plans in EIPAM." />\r
58         </return></outcome></execute><for silentFailure='true' index='npidx' start='0' end='`$pidx-len`' >\r
59 <block atomic="true"><set>\r
60         <parameter name="tmp.level1-key-value" value="`$tmp.level1-key-value[$npidx]`" />\r
61         <parameter name="tmp.plan-name" value="`$tmp.plan-name[$npidx]`" />\r
62         \r
63 </set><switch test='`$tmp.level1-key-value`'>\r
64 <outcome value=''>\r
65 <block atomic='true'></block></outcome><outcome value='Other'>\r
66 <block atomic='true'><switch test='`$network-model`'>\r
67 <outcome value=''></outcome><outcome value='Other'>\r
68 <block atomic='true'><switch test="`$network-model.use-ipv4`"><outcome value='Y'><block atomic="true"><set>\r
69 <parameter name='tmp.plan-name' value='`$network-model.eipam-v4-address-plan`' />\r
70 \r
71 </set><get-resource\r
72         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'\r
73         resource='SQL'\r
74         key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k \r
75         WHERE p.level = 2 \r
76         and p.plan_name = $tmp.plan-name\r
77         and k.level = 1 \r
78         and p.pool_id = s.pool_id and s.entity_id = k.entity_id \r
79         and k.key_value = $tmp.level1-key-value  ; "\r
80         pfx='tmp.level2pool[]'>\r
81 \r
82 \r
83 \r
84 <outcome value='failure'>\r
85 <return status="failure">\r
86         <parameter name="tmp.eipam-error" value="true" />\r
87         <parameter name="error-code" value="500"/>\r
88         <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
89         </return></outcome><outcome value='success'>\r
90 <block atomic='true'><set>\r
91         <parameter name="tmp.level1inuse" value="true" />\r
92         \r
93 </set></block></outcome><outcome value="not-found"><block atomic='true'><get-resource\r
94         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'\r
95         resource='SQL'\r
96         key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k \r
97         WHERE p.level = 1 \r
98         and p.plan_name = $tmp.plan-name\r
99         and k.level = 1 \r
100         and p.pool_id = s.pool_id and s.entity_id = k.entity_id \r
101         and k.key_value = $tmp.level1-key-value  ; "\r
102         pfx='tmp.level1pool[]'>\r
103 \r
104 <outcome value='failure'>\r
105 <return status="failure">\r
106         <parameter name="tmp.eipam-error" value="true" />\r
107         <parameter name="error-code" value="500"/>\r
108         <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
109         </return></outcome><outcome value='success'>\r
110 <block atomic='true'><for silentFailure='true' index='lidx' start='0' end='`$tmp.level1pool_length`' >\r
111 <block atomic='true'><set>\r
112 <parameter name='eipam-ip-block.entity-id' value='`$tmp.level1pool[$lidx].entity-id`' />\r
113 <parameter name='eipam-ip-block.ip-address' value='`$tmp.level1pool[$lidx].ip-address`' />\r
114 <parameter name='eipam-ip-block.mask' value='`$tmp.level1pool[$lidx].prefix-length`' />\r
115 <parameter name="eipam-ip-block.network-id" value="`$tmp.level1pool[$lidx].network-id`" />\r
116 <parameter name="eipam-ip-block.pool-id" value="`$tmp.level1pool[$lidx].pool-id`" />\r
117 <parameter name="eipam-ip-block.level" value='1' />\r
118 \r
119 </set><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateSubnet">\r
120 <outcome value='failure'><return status="failure">\r
121         <parameter name="tmp.eipam-error" value="true" />\r
122         <parameter name="error-code" value="500"/>\r
123         <parameter name="error-message" value="An error occured while deallocating subnet in EIPAM." />\r
124         </return></outcome></execute><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByPoolId">\r
125 <outcome value='failure'><return status="failure">\r
126         <parameter name="tmp.eipam-error" value="true" />\r
127         <parameter name="error-code" value="500"/>\r
128         <parameter name="error-message" value="An error occured while deleting pool in EIPAM." />\r
129         </return></outcome></execute></block></for></block></outcome><outcome value="not-found"><block atomic='true'></block></outcome></get-resource></block></outcome></get-resource></block></outcome></switch><switch test="`$network-model.use-ipv6`"><outcome value='Y'><block atomic="true"><set>\r
130 <parameter name='tmp.plan-name' value='`$network-model.eipam-v6-address-plan`' />\r
131 \r
132 </set><get-resource\r
133         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'\r
134         resource='SQL'\r
135         key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k \r
136         WHERE p.level = 2 \r
137         and p.plan_name = $tmp.plan-name\r
138         and k.level = 1 \r
139         and p.pool_id = s.pool_id and s.entity_id = k.entity_id \r
140         and k.key_value = $tmp.level1-key-value  ; "\r
141         pfx='tmp.level2pool[]'>\r
142 \r
143 \r
144 \r
145 <outcome value='failure'>\r
146 <return status="failure">\r
147         <parameter name="tmp.eipam-error" value="true" />\r
148         <parameter name="error-code" value="500"/>\r
149         <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
150         </return></outcome><outcome value='success'>\r
151 <block atomic='true'><set>\r
152         <parameter name="tmp.level1inuse" value="true" />\r
153         \r
154 </set></block></outcome><outcome value="not-found"><block atomic='true'><get-resource\r
155         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'\r
156         resource='SQL'\r
157         key="SELECT * from EIPAM_IP_POOLS p, EIPAM_IP_SUBNETS s, EIPAM_IP_SUBNET_KEYS k \r
158         WHERE p.level = 1 \r
159         and p.plan_name = $tmp.plan-name\r
160         and k.level = 1 \r
161         and p.pool_id = s.pool_id and s.entity_id = k.entity_id \r
162         and k.key_value = $tmp.level1-key-value  ; "\r
163         pfx='tmp.level1pool[]'>\r
164 \r
165 <outcome value='failure'>\r
166 <return status="failure">\r
167         <parameter name="tmp.eipam-error" value="true" />\r
168         <parameter name="error-code" value="500"/>\r
169         <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNET_KEYS and EIPAM_IP_SUBNETS failed." />\r
170         </return></outcome><outcome value='success'>\r
171 <block atomic='true'><for silentFailure='true' index='lidx' start='0' end='`$tmp.level1pool_length`' >\r
172 <block atomic='true'><set>\r
173 <parameter name='eipam-ip-block.entity-id' value='`$tmp.level1pool[$lidx].entity-id`' />\r
174 <parameter name='eipam-ip-block.ip-address' value='`$tmp.level1pool[$lidx].ip-address`' />\r
175 <parameter name='eipam-ip-block.mask' value='`$tmp.level1pool[$lidx].prefix-length`' />\r
176 <parameter name="eipam-ip-block.network-id" value="`$tmp.level1pool[$lidx].network-id`" />\r
177 <parameter name="eipam-ip-block.pool-id" value="`$tmp.level1pool[$lidx].pool-id`" />\r
178 <parameter name="eipam-ip-block.level" value='1' />\r
179 \r
180 </set><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deallocateSubnet">\r
181 <outcome value='failure'><return status="failure">\r
182         <parameter name="tmp.eipam-error" value="true" />\r
183         <parameter name="error-code" value="500"/>\r
184         <parameter name="error-message" value="An error occured while deallocating subnet in EIPAM." />\r
185         </return></outcome></execute><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="deletePoolByPoolId">\r
186 <outcome value='failure'><return status="failure">\r
187         <parameter name="tmp.eipam-error" value="true" />\r
188         <parameter name="error-code" value="500"/>\r
189         <parameter name="error-message" value="An error occured while deleting pool in EIPAM." />\r
190         </return></outcome></execute></block></for></block></outcome><outcome value="not-found"><block atomic='true'></block></outcome></get-resource></block></outcome></get-resource></block></outcome></switch></block></outcome></switch></block></outcome></switch></block></for><switch test='`$service-data.networks.network_length`'>\r
191 <outcome value='1'>\r
192 <block atomic="true"><set>\r
193         <parameter name="service-data.networks." value=""/>\r
194 \r
195 </set><set>\r
196         <parameter name="service-data.networks.network_length" value="0"/>\r
197 \r
198         \r
199 </set></block></outcome><outcome value='Other'>\r
200 <block atomic="true"><set>\r
201         <parameter name="tmp.new_length" value="`$service-data.networks.network_length - 1`"/>\r
202         \r
203         \r
204 </set><for silentFailure='true' index='snidx' start='`$tmp.nidx + 1`' end='`$service-data.networks.network_length`' >\r
205 <block atomic="true"><set>\r
206         <parameter name="tmp.newidx" value="`$snidx - 1`"/>\r
207         \r
208         \r
209 </set><set>\r
210         <parameter name="service-data.networks.network[$tmp.newidx]." value="$service-data.networks.network[$snidx]." />\r
211         \r
212 </set></block></for><set>\r
213         <parameter name="service-data.networks.network_length" value="`$service-data.networks.network_length - 1`"/>\r
214 \r
215         \r
216 </set><set>\r
217         <parameter name="service-data.networks.network[$tmp.new_length]." value=""/>\r
218 \r
219 </set></block></outcome></switch><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
220         resource="l3-network" \r
221         key="l3-network.network-id = $network-topology-operation-input.network-information.network-id"><outcome value='failure'>\r
222 <return status="failure">\r
223         <parameter name="error-code" value="500"/>\r
224         <parameter name="error-message" value="An error occured while deleting network from AAI" />\r
225         </return></outcome></delete><return status='success'>\r
226 <parameter name="ack-final-indicator" value="Y" />\r
227 <parameter name="error-code" value="200" />\r
228 <parameter name="error-message" value="`$error-message`" />\r
229 </return></block></method></service-logic>