Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_eipam-create-generic-pool.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='eipam-create-generic-pool' mode='sync'>\r
5         <block atomic='true'>\r
6             <set>\r
7                 <parameter name="tmp.eipam-error" value="false" />\r
8                 <parameter name="tmp.create-v4-pool-flag" value="N" />\r
9                 <parameter name="tmp.create-v6-pool-flag" value="N" />\r
10                 <parameter name='eipam-ip-block.plans_length' value='0' />\r
11                 <parameter name="eipam-pool.v4.pre-existing" value="N"/>\r
12                 <parameter name="eipam-pool.v6.pre-existing" value="N"/>\r
13                 <parameter name="level" value="`$eipam-ip-block.level - 1`" />\r
14             </set>\r
15             <switch test="`$tmp.allocate-subnet-flag`">\r
16                 <outcome value="">\r
17                     <block atomic='true'>\r
18                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
19                         <set>\r
20                             <parameter name="tmp.allocate-subnet-flag" value="Y"/>\r
21                         </set>\r
22                     </block>\r
23                 </outcome>\r
24                 <outcome value='Y'></outcome>\r
25                 <outcome value='N'></outcome>\r
26             </switch>\r
27             <switch test="`$network-model.use-ipv4`">\r
28                 <outcome value='Y'>\r
29                     <block atomic='true'>\r
30                         <get-resource\r
31         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
32         resource='SQL'\r
33         key="SELECT * FROM EIPAM_IP_POOLS where plan_name = $network-model.eipam-v4-address-plan and level = $eipam-ip-block.level and key_value = $v4FQPN-output.pools[$level].key-value ;"\r
34         pfx='tmp.eipam-pool-row'>\r
35                             <outcome value='failure'>\r
36                                 <return status="failure">\r
37                                     <parameter name="tmp.eipam-error" value="true" />\r
38                                     <parameter name="error-code" value="500"/>\r
39                                     <parameter name="error-message" value="Query to DB table EIPAM_IP_POOLS failed." />\r
40                                 </return>\r
41                             </outcome>\r
42                             <outcome value='success'>\r
43                                 <block atomic='true'>\r
44                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
45                                         <parameter name="logger" value="message-log"/>\r
46                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
47                                         <parameter name="field2" value="network-topology-operation"/>\r
48                                         <parameter name="field3" value="eipam-create-generic-pool"/>\r
49                                         <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
50                                         <parameter name="field5" value="`$v4FQPN-output.pools[$eipam-ip-block.level - 1].key-value`"/>\r
51                                         <parameter name="field6" value="Level already exists, SKIP."/>\r
52                                         <parameter name="field7" value="`$eipam-ip-block.level`"/>\r
53                                         <parameter name="field8" value="`$tmp.eipam-pool-row.pool-id`"/>\r
54                                     </record>\r
55                                     <set>\r
56                                         <parameter name="eipam-pool.v4.pre-existing" value="Y"/>\r
57                                     </set>\r
58                                 </block>\r
59                             </outcome>\r
60                             <outcome value="not-found">\r
61                                 <switch test="`$l-idx`">\r
62                                     <outcome value='1'>\r
63                                         <block atomic='true'>\r
64                                             <switch test="`$tmp.qip-pool`">\r
65                                                 <outcome value=""></outcome>\r
66                                                 <outcome value='Other'>\r
67                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
68                                                     <set>\r
69                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value="`$tmp.qip-pool`"/>\r
70                                                         <parameter name="tmp.v4-qip-pool" value="`$tmp.qip-pool`" />\r
71                                                     </set>\r
72                                                 </outcome>\r
73                                             </switch>\r
74                                             <switch test="`$tmp.skip-first-level`">\r
75                                                 <outcome value='Y'></outcome>\r
76                                                 <outcome value="">\r
77                                                     <block atomic='true'>\r
78                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
79                                                         <set>\r
80                                                             <parameter name="network-topology-identifier-structure.eipam-v4-address-plan" value="`$network-model.eipam-v4-address-plan`"/>\r
81                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
82                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
83                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="`$tmp.allocate-subnet-flag`"/>\r
84                                                             <!-- Number of Pool Levels -->\r
85                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
86                                                         </set>\r
87                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
88                                                         <set>\r
89                                                             <parameter name="tmp.create-v4-pool-flag" value="Y" />\r
90                                                         </set>\r
91                                                         <for index="l4-idx" start="0" end="`$eipam-ip-block.level`">\r
92                                                             <block atomic='true'>\r
93                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
94                                                                 <set>\r
95                                                                     <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-name" value="`$v4FQPN-output.pools[$l4-idx].key-name`"/>\r
96                                                                     <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-value" value="`$v4FQPN-output.pools[$l4-idx].key-value`"/>\r
97                                                                 </set>\r
98                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
99                                                                     <parameter name="logger" value="message-log"/>\r
100                                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
101                                                                     <parameter name="field2" value="network-topology-operation"/>\r
102                                                                     <parameter name="field3" value="eipam-create-generic-pool"/>\r
103                                                                     <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
104                                                                     <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-name`"/>\r
105                                                                     <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-value`"/>\r
106                                                                 </record>\r
107                                                             </block>\r
108                                                         </for>\r
109                                                         <set>\r
110                                                             <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
111                                                         </set>\r
112                                                     </block>\r
113                                                 </outcome>\r
114                                                 <outcome value='N'>\r
115                                                     <block atomic='true'>\r
116                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
117                                                         <set>\r
118                                                             <parameter name="network-topology-identifier-structure.eipam-v4-address-plan" value="`$network-model.eipam-v4-address-plan`"/>\r
119                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
120                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
121                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="`$tmp.allocate-subnet-flag`"/>\r
122                                                             <!-- Number of Pool Levels -->\r
123                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
124                                                         </set>\r
125                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
126                                                         <set>\r
127                                                             <parameter name="tmp.create-v4-pool-flag" value="Y" />\r
128                                                         </set>\r
129                                                         <for index="l4-idx" start="0" end="`$eipam-ip-block.level`">\r
130                                                             <block atomic='true'>\r
131                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
132                                                                 <set>\r
133                                                                     <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-name" value="`$v4FQPN-output.pools[$l4-idx].key-name`"/>\r
134                                                                     <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-value" value="`$v4FQPN-output.pools[$l4-idx].key-value`"/>\r
135                                                                 </set>\r
136                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
137                                                                     <parameter name="logger" value="message-log"/>\r
138                                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
139                                                                     <parameter name="field2" value="network-topology-operation"/>\r
140                                                                     <parameter name="field3" value="eipam-create-generic-pool"/>\r
141                                                                     <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
142                                                                     <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-name`"/>\r
143                                                                     <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-value`"/>\r
144                                                                 </record>\r
145                                                             </block>\r
146                                                         </for>\r
147                                                         <set>\r
148                                                             <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
149                                                         </set>\r
150                                                     </block>\r
151                                                 </outcome>\r
152                                             </switch>\r
153                                         </block>\r
154                                     </outcome>\r
155                                     <outcome value=''>\r
156                                         <return status="failure">\r
157                                             <parameter name="tmp.eipam-error" value="true" />\r
158                                             <parameter name="error-code" value="500"/>\r
159                                             <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
160                                         </return>\r
161                                     </outcome>\r
162                                     <outcome value='Other'>\r
163                                         <block atomic='true'>\r
164                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
165                                             <set>\r
166                                                 <parameter name="network-topology-identifier-structure.eipam-v4-address-plan" value="`$network-model.eipam-v4-address-plan`"/>\r
167                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v4-address-plan`"/>\r
168                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
169                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="`$tmp.allocate-subnet-flag`"/>\r
170                                                 <!-- Number of Pool Levels -->\r
171                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
172                                             </set>\r
173                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
174                                             <set>\r
175                                                 <parameter name="tmp.create-v4-pool-flag" value="Y" />\r
176                                             </set>\r
177                                             <for index="l4-idx" start="0" end="`$eipam-ip-block.level`">\r
178                                                 <block atomic='true'>\r
179                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
180                                                     <set>\r
181                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-name" value="`$v4FQPN-output.pools[$l4-idx].key-name`"/>\r
182                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-value" value="`$v4FQPN-output.pools[$l4-idx].key-value`"/>\r
183                                                     </set>\r
184                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
185                                                         <parameter name="logger" value="message-log"/>\r
186                                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
187                                                         <parameter name="field2" value="network-topology-operation"/>\r
188                                                         <parameter name="field3" value="eipam-create-generic-pool"/>\r
189                                                         <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
190                                                         <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-name`"/>\r
191                                                         <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l4-idx].key-value`"/>\r
192                                                     </record>\r
193                                                 </block>\r
194                                             </for>\r
195                                             <set>\r
196                                                 <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
197                                             </set>\r
198                                         </block>\r
199                                     </outcome>\r
200                                 </switch>\r
201                             </outcome>\r
202                         </get-resource>\r
203                     </block>\r
204                 </outcome>\r
205                 <outcome value=""></outcome>\r
206                 <outcome value='N'></outcome>\r
207             </switch>\r
208             <switch test="`$network-model.use-ipv6`">\r
209                 <outcome value='Y'>\r
210                     <block atomic='true'>\r
211                         <get-resource\r
212         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
213         resource='SQL'\r
214         key="SELECT * FROM EIPAM_IP_POOLS where plan_name = $network-model.eipam-v6-address-plan and level = $eipam-ip-block.level and key_value = $v6FQPN-output.pools[$level].key-value ;"\r
215         pfx='tmp.eipam-pool-row'>\r
216                             <outcome value='failure'>\r
217                                 <return status="failure">\r
218                                     <parameter name="tmp.eipam-error" value="true" />\r
219                                     <parameter name="error-code" value="500"/>\r
220                                     <parameter name="error-message" value="Query to DB table EIPAM_IP_POOLS failed." />\r
221                                 </return>\r
222                             </outcome>\r
223                             <outcome value='success'>\r
224                                 <block atomic='true'>\r
225                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
226                                         <parameter name="logger" value="message-log"/>\r
227                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
228                                         <parameter name="field2" value="network-topology-operation"/>\r
229                                         <parameter name="field3" value="eipam-create-generic-pool"/>\r
230                                         <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>\r
231                                         <parameter name="field5" value="`$v6FQPN-output.pools[$eipam-ip-block.level - 1].key-value`"/>\r
232                                         <parameter name="field6" value="Level already exists, SKIP."/>\r
233                                         <parameter name="field7" value="`$eipam-ip-block.level`"/>\r
234                                         <parameter name="field8" value="`$tmp.eipam-pool-row.pool-id`"/>\r
235                                     </record>\r
236                                     <set>\r
237                                         <parameter name="eipam-pool.v6.pre-existing" value="Y"/>\r
238                                     </set>\r
239                                 </block>\r
240                             </outcome>\r
241                             <outcome value="not-found">\r
242                                 <switch test="`$l-idx`">\r
243                                     <outcome value='1'>\r
244                                         <block atomic='true'>\r
245                                             <switch test="`$tmp.qip-pool`">\r
246                                                 <outcome value=""></outcome>\r
247                                                 <outcome value='Other'>\r
248                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
249                                                     <set>\r
250                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].parent-pool" value="`$tmp.qip-pool`"/>\r
251                                                         <parameter name="tmp.v6-qip-pool" value="`$tmp.qip-pool`" />\r
252                                                     </set>\r
253                                                 </outcome>\r
254                                             </switch>\r
255                                             <switch test="`$tmp.skip-first-level`">\r
256                                                 <outcome value='Y'></outcome>\r
257                                                 <outcome value="">\r
258                                                     <block atomic='true'>\r
259                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
260                                                         <set>\r
261                                                             <parameter name="network-topology-identifier-structure.eipam-v6-address-plan" value="`$network-model.eipam-v6-address-plan`"/>\r
262                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
263                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
264                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="`$tmp.allocate-subnet-flag`"/>\r
265                                                             <!-- Number of Pool Levels -->\r
266                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
267                                                         </set>\r
268                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
269                                                         <set>\r
270                                                             <parameter name="tmp.create-v6-pool-flag" value="Y" />\r
271                                                         </set>\r
272                                                         <for index="l6-idx" start="0" end="`$eipam-ip-block.level`">\r
273                                                             <block atomic='true'>\r
274                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
275                                                                 <set>\r
276                                                                     <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-name" value="`$v6FQPN-output.pools[$l6-idx].key-name`"/>\r
277                                                                     <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-value" value="`$v6FQPN-output.pools[$l6-idx].key-value`"/>\r
278                                                                 </set>\r
279                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
280                                                                     <parameter name="logger" value="message-log"/>\r
281                                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
282                                                                     <parameter name="field2" value="network-topology-operation"/>\r
283                                                                     <parameter name="field3" value="eipam-create-generic-pool"/>\r
284                                                                     <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
285                                                                     <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-name`"/>\r
286                                                                     <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-value`"/>\r
287                                                                     <parameter name="field7" value="`$l6-idx`"/>\r
288                                                                 </record>\r
289                                                             </block>\r
290                                                         </for>\r
291                                                         <set>\r
292                                                             <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
293                                                         </set>\r
294                                                     </block>\r
295                                                 </outcome>\r
296                                                 <outcome value='N'>\r
297                                                     <block atomic='true'>\r
298                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
299                                                         <set>\r
300                                                             <parameter name="network-topology-identifier-structure.eipam-v6-address-plan" value="`$network-model.eipam-v6-address-plan`"/>\r
301                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
302                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
303                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="`$tmp.allocate-subnet-flag`"/>\r
304                                                             <!-- Number of Pool Levels -->\r
305                                                             <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
306                                                         </set>\r
307                                                         <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
308                                                         <set>\r
309                                                             <parameter name="tmp.create-v6-pool-flag" value="Y" />\r
310                                                         </set>\r
311                                                         <for index="l6-idx" start="0" end="`$eipam-ip-block.level`">\r
312                                                             <block atomic='true'>\r
313                                                                 <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
314                                                                 <set>\r
315                                                                     <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-name" value="`$v6FQPN-output.pools[$l6-idx].key-name`"/>\r
316                                                                     <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-value" value="`$v6FQPN-output.pools[$l6-idx].key-value`"/>\r
317                                                                 </set>\r
318                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
319                                                                     <parameter name="logger" value="message-log"/>\r
320                                                                     <parameter name="field1" value="__TIMESTAMP__"/>\r
321                                                                     <parameter name="field2" value="network-topology-operation"/>\r
322                                                                     <parameter name="field3" value="eipam-create-generic-pool"/>\r
323                                                                     <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
324                                                                     <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-name`"/>\r
325                                                                     <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-value`"/>\r
326                                                                     <parameter name="field7" value="`$l6-idx`"/>\r
327                                                                 </record>\r
328                                                             </block>\r
329                                                         </for>\r
330                                                         <set>\r
331                                                             <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
332                                                         </set>\r
333                                                     </block>\r
334                                                 </outcome>\r
335                                             </switch>\r
336                                         </block>\r
337                                     </outcome>\r
338                                     <outcome value=''>\r
339                                         <return status="failure">\r
340                                             <parameter name="tmp.eipam-error" value="true" />\r
341                                             <parameter name="error-code" value="500"/>\r
342                                             <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />\r
343                                         </return>\r
344                                     </outcome>\r
345                                     <outcome value='Other'>\r
346                                         <block atomic='true'>\r
347                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
348                                             <set>\r
349                                                 <parameter name="network-topology-identifier-structure.eipam-v6-address-plan" value="`$network-model.eipam-v6-address-plan`"/>\r
350                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name" value="`$network-model.eipam-v6-address-plan`"/>\r
351                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests_length" value="1"/>\r
352                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].allocate-subnet-flag" value="`$tmp.allocate-subnet-flag`"/>\r
353                                                 <!-- Number of Pool Levels -->\r
354                                                 <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools_length" value="`$eipam-ip-block.level`"/>\r
355                                             </set>\r
356                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
357                                             <set>\r
358                                                 <parameter name="tmp.create-v6-pool-flag" value="Y" />\r
359                                             </set>\r
360                                             <for index="l6-idx" start="0" end="`$eipam-ip-block.level`">\r
361                                                 <block atomic='true'>\r
362                                                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
363                                                     <set>\r
364                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-name" value="`$v6FQPN-output.pools[$l6-idx].key-name`"/>\r
365                                                         <parameter name="eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-value" value="`$v6FQPN-output.pools[$l6-idx].key-value`"/>\r
366                                                     </set>\r
367                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
368                                                         <parameter name="logger" value="message-log"/>\r
369                                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
370                                                         <parameter name="field2" value="network-topology-operation"/>\r
371                                                         <parameter name="field3" value="eipam-create-generic-pool"/>\r
372                                                         <parameter name="field4" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].plan-name`"/>\r
373                                                         <parameter name="field5" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-name`"/>\r
374                                                         <parameter name="field6" value="`$eipam-ip-block.plans[$eipam-ip-block.plans_length].requests[0].pools[$l6-idx].key-value`"/>\r
375                                                         <parameter name="field7" value="`$l6-idx`"/>\r
376                                                     </record>\r
377                                                 </block>\r
378                                             </for>\r
379                                             <set>\r
380                                                 <parameter name="eipam-ip-block.plans_length" value="`$eipam-ip-block.plans_length + 1`" />\r
381                                             </set>\r
382                                         </block>\r
383                                     </outcome>\r
384                                 </switch>\r
385                             </outcome>\r
386                         </get-resource>\r
387                     </block>\r
388                 </outcome>\r
389                 <outcome value=""></outcome>\r
390                 <outcome value='N'></outcome>\r
391             </switch>\r
392             <switch test="`$tmp.create-v4-pool-flag`">\r
393                 <outcome value='Y'>\r
394                     <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
395                     <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="createPool">\r
396                         <outcome value='success'></outcome>\r
397                         <outcome value='failure'>\r
398                             <return status="failure">\r
399                                 <parameter name="tmp.eipam-error" value="true" />\r
400                                 <parameter name="error-code" value="500"/>\r
401                                 <parameter name="error-message" value="An error occured while creating pool in EIPAM." />\r
402                             </return>\r
403                         </outcome>\r
404                     </execute>\r
405                 </outcome>\r
406                 <outcome value='N'>\r
407                     <switch test="`$tmp.create-v6-pool-flag`">\r
408                         <outcome value='Y'>\r
409                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
410                             <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="createPool">\r
411                                 <outcome value='success'></outcome>\r
412                                 <outcome value='failure'>\r
413                                     <return status="failure">\r
414                                         <parameter name="tmp.eipam-error" value="true" />\r
415                                         <parameter name="error-code" value="500"/>\r
416                                         <parameter name="error-message" value="An error occured while creating pool in EIPAM." />\r
417                                     </return>\r
418                                 </outcome>\r
419                             </execute>\r
420                         </outcome>\r
421                     </switch>\r
422                 </outcome>\r
423             </switch>\r
424             <switch test="`$network-model.use-ipv4`">\r
425                 <outcome value='Y'>\r
426                     <block atomic='true'>\r
427                         <switch test="`$eipam-pool.v4.pre-existing`">\r
428                             <outcome value='N'>\r
429                                 <block atomic='true'>\r
430                                     <set>\r
431                                         <parameter name="key-name" value="`$v4FQPN-output.pools[$eipam-ip-block.level - 1].key-name`" />\r
432                                         <parameter name="key-value" value="`$v4FQPN-output.pools[$eipam-ip-block.level - 1].key-value`" />\r
433                                     </set>\r
434                                     <switch test="`$eipam-ip-block.level`">\r
435                                         <outcome value='1'>\r
436                                             <block atomic='true'>\r
437                                                 <set>\r
438                                                     <parameter name="parent_pool" value="`$tmp.v4-qip-pool`" />\r
439                                                     <parameter name="level" value="`$eipam-ip-block.level - 1`" />\r
440                                                 </set>\r
441                                             </block>\r
442                                         </outcome>\r
443                                         <outcome value='Other'>\r
444                                             <block atomic='true'>\r
445                                                 <set>\r
446                                                     <parameter name="parent_pool" value="`$v4FQPN-output.pools[$eipam-ip-block.level - 2].key-value`" />\r
447                                                     <parameter name="level" value="`$eipam-ip-block.level - 1`" />\r
448                                                 </set>\r
449                                             </block>\r
450                                         </outcome>\r
451                                     </switch>\r
452                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
453                                         <parameter name="logger" value="message-log"/>\r
454                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
455                                         <parameter name="field2" value="network-topology-operation"/>\r
456                                         <parameter name="field3" value="eipam-create-generic-pool"/>\r
457                                         <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>\r
458                                         <parameter name="field5" value="`$key-name`"/>\r
459                                         <parameter name="field6" value="`$key-value`"/>\r
460                                         <parameter name="field7" value="`$tmp.network_instance_group_id`"/>\r
461                                         <parameter name="field8" value="`$eipam-ip-block.level`"/>\r
462                                         <parameter name="field9" value="`$network-model.network-role`"/>\r
463                                         <parameter name="field10" value="`$tmp.network-id`"/>\r
464                                         <parameter name="field11" value="Saving to EIPAM_IP_POOLS table."/>\r
465                                     </record>\r
466                                     <switch test="`$network-instance-group-data.subnet-assignment-policy.subnet-use`">\r
467                                         <outcome value='shared'>\r
468                                             <save\r
469         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
470         resource='SQL'\r
471         key="INSERT EIPAM_IP_POOLS\r
472              SET\r
473              key_name = $key-name ,\r
474              key_value = $key-value ,\r
475              level = $eipam-ip-block.level ,\r
476              plan_name = $network-model.eipam-v4-address-plan ,\r
477              address_family = $network-model.ipv4-ip-version ,\r
478              parent_pool = $parent_pool ,\r
479              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
480              network_id = $tmp.network-id ,\r
481              network_instance_group_id = $tmp.network-instance-group-id ; "\r
482     force='true'\r
483         pfx='pfx.eipam-v4pool-row'>\r
484                                                 <outcome value='failure'>\r
485                                                     <return status='failure'>\r
486                                                         <parameter name='error-code' value='500' />\r
487                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
488                                                     </return>\r
489                                                 </outcome>\r
490                                             </save>\r
491                                         </outcome>\r
492                                         <outcome value='Other'>\r
493                                             <save\r
494         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
495         resource='SQL'\r
496         key="INSERT EIPAM_IP_POOLS\r
497              SET\r
498              key_name = $key-name ,\r
499              key_value = $key-value ,\r
500              level = $eipam-ip-block.level ,\r
501              plan_name = $network-model.eipam-v4-address-plan ,\r
502              address_family = $network-model.ipv4-ip-version ,\r
503              parent_pool = $parent_pool ,\r
504              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
505              network_id = $tmp.network-id ; "\r
506     force='true'\r
507         pfx='pfx.eipam-v4pool-row'>\r
508                                                 <outcome value='failure'>\r
509                                                     <return status='failure'>\r
510                                                         <parameter name='error-code' value='500' />\r
511                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
512                                                     </return>\r
513                                                 </outcome>\r
514                                             </save>\r
515                                         </outcome>\r
516                                         <outcome value=''>\r
517                                             <save\r
518         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
519         resource='SQL'\r
520         key="INSERT EIPAM_IP_POOLS\r
521              SET\r
522              key_name = $key-name ,\r
523              key_value = $key-value ,\r
524              level = $eipam-ip-block.level ,\r
525              plan_name = $network-model.eipam-v4-address-plan ,\r
526              address_family = $network-model.ipv4-ip-version ,\r
527              parent_pool = $parent_pool ,\r
528              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
529              network_id = $tmp.network-id ; "\r
530     force='true'\r
531         pfx='pfx.eipam-v4pool-row'>\r
532                                                 <outcome value='failure'>\r
533                                                     <return status='failure'>\r
534                                                         <parameter name='error-code' value='500' />\r
535                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
536                                                     </return>\r
537                                                 </outcome>\r
538                                             </save>\r
539                                         </outcome>\r
540                                     </switch>\r
541                                     <switch test="`$eipam-ip-block.level == $eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`">\r
542                                         <outcome value='true'>\r
543                                             <block atomic='true'>\r
544                                                 <switch test="`$tmp.allocate-subnet-flag`">\r
545                                                     <outcome value='Y'>\r
546                                                         <block atomic='true'>\r
547                                                             <for index="i" start="0" end="`$eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan_length`">\r
548                                                                 <block atomic='true'>\r
549                                                                     <switch test="`$network-model.eipam-v4-address-plan == $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PlanName`">\r
550                                                                         <outcome value='true'>\r
551                                                                             <block atomic='true'>\r
552                                                                                 <set>\r
553                                                                                     <parameter name="index_found" value="true" />\r
554                                                                                 </set>\r
555                                                                                 <break/>\r
556                                                                             </block>\r
557                                                                         </outcome>\r
558                                                                     </switch>\r
559                                                                 </block>\r
560                                                             </for>\r
561                                                             <switch test="`$index_found`">\r
562                                                                 <outcome value='true'>\r
563                                                                     <block atomic='true'>\r
564                                                                         <get-resource\r
565         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
566         resource='SQL'\r
567         key="SELECT * FROM EIPAM_IP_POOLS where plan_name = $network-model.eipam-v4-address-plan and level = $eipam-ip-block.level and key_value = $v4FQPN-output.pools[$level].key-value ;"\r
568         pfx='tmp.eipam-pool-row'>\r
569                                                                             <outcome value='failure'>\r
570                                                                                 <return status="failure">\r
571                                                                                     <parameter name="tmp.eipam-error" value="true" />\r
572                                                                                     <parameter name="error-code" value="500"/>\r
573                                                                                     <parameter name="error-message" value="Query to DB table EIPAM_IP_POOLS failed." />\r
574                                                                                 </return>\r
575                                                                             </outcome>\r
576                                                                             <outcome value='success'>\r
577                                                                                 <block atomic='true'>\r
578                                                                                     <save\r
579         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
580         resource='SQL'\r
581         key="INSERT EIPAM_IP_SUBNETS\r
582              SET\r
583              entity_id = $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PoolItem.IPDataBlock.IpamPoolAllocId ,\r
584              service_type = $tmp.service-type ,\r
585              ip_address = $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PoolItem.IPDataBlock.IPAddress ,\r
586              prefix_length = $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PoolItem.IPDataBlock.Mask ,\r
587              plan_name = $network-model.eipam-v4-address-plan ,\r
588              status = 'ALLOCATED' ,\r
589              pool_id = $tmp.eipam-pool-row.pool-id ,\r
590              address_family = $network-model.ipv4-ip-version ,\r
591              network_id = $tmp.network-id ; "\r
592     force='true'\r
593         pfx='pfx.eipam-subnet-row'>\r
594                                                                                         <outcome value='failure'>\r
595                                                                                             <return status='failure'>\r
596                                                                                                 <parameter name='error-code' value='500' />\r
597                                                                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS .' />\r
598                                                                                             </return>\r
599                                                                                         </outcome>\r
600                                                                                         <outcome value='success'></outcome>\r
601                                                                                     </save>\r
602                                                                                     <save\r
603         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
604         resource='SQL'\r
605         key="INSERT EIPAM_IP_SUBNET_KEYS\r
606              SET\r
607              entity_id = $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PoolItem.IPDataBlock.IpamPoolAllocId ,\r
608              key_name = $key-name ,\r
609              key_value = $key-value ,\r
610              level = $eipam-ip-block.level ; "\r
611     force='true'\r
612         pfx='pfx.eipam-v4subnet-key-row'>\r
613                                                                                         <outcome value='success'></outcome>\r
614                                                                                         <outcome value='failure'>\r
615                                                                                             <return status='failure'>\r
616                                                                                                 <parameter name='error-code' value='500' />\r
617                                                                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS .' />\r
618                                                                                             </return>\r
619                                                                                         </outcome>\r
620                                                                                     </save>\r
621                                                                                 </block>\r
622                                                                             </outcome>\r
623                                                                             <outcome value="not-found">\r
624                                                                                 <return status="failure">\r
625                                                                                     <parameter name="tmp.eipam-error" value="true" />\r
626                                                                                     <parameter name="error-code" value="500"/>\r
627                                                                                     <parameter name="error-message" value="Query to DB table EIPAM_IP_POOLS failed." />\r
628                                                                                 </return>\r
629                                                                             </outcome>\r
630                                                                         </get-resource>\r
631                                                                     </block>\r
632                                                                 </outcome>\r
633                                                                 <outcome value='Other'>\r
634                                                                     <return status='failure'>\r
635                                                                         <parameter name='error-code' value='500' />\r
636                                                                         <parameter name='error-message' value='failed to find plan name in CreatePoolResponse.' />\r
637                                                                     </return>\r
638                                                                 </outcome>\r
639                                                                 <outcome value=''>\r
640                                                                     <return status='failure'>\r
641                                                                         <parameter name='error-code' value='500' />\r
642                                                                         <parameter name='error-message' value='failed to find plan name in CreatePoolResponse.' />\r
643                                                                     </return>\r
644                                                                 </outcome>\r
645                                                             </switch>\r
646                                                         </block>\r
647                                                     </outcome>\r
648                                                     <outcome value='N'></outcome>\r
649                                                 </switch>\r
650                                             </block>\r
651                                         </outcome>\r
652                                     </switch>\r
653                                 </block>\r
654                             </outcome>\r
655                             <outcome value='Y'></outcome>\r
656                         </switch>\r
657                     </block>\r
658                 </outcome>\r
659                 <outcome value=""></outcome>\r
660                 <outcome value='N'></outcome>\r
661             </switch>\r
662             <switch test="`$network-model.use-ipv6`">\r
663                 <outcome value='Y'>\r
664                     <block atomic='true'>\r
665                         <switch test="`$eipam-pool.v6.pre-existing`">\r
666                             <outcome value='N'>\r
667                                 <block atomic='true'>\r
668                                     <set>\r
669                                         <parameter name="key-name" value="`$v6FQPN-output.pools[$eipam-ip-block.level - 1].key-name`" />\r
670                                         <parameter name="key-value" value="`$v6FQPN-output.pools[$eipam-ip-block.level - 1].key-value`" />\r
671                                     </set>\r
672                                     <switch test="`$eipam-ip-block.level`">\r
673                                         <outcome value='1'>\r
674                                             <set>\r
675                                                 <parameter name="parent_pool" value="`$tmp.v6-qip-pool`" />\r
676                                                 <parameter name="level" value="`$eipam-ip-block.level - 1`" />\r
677                                             </set>\r
678                                         </outcome>\r
679                                         <outcome value='Other'>\r
680                                             <set>\r
681                                                 <parameter name="parent_pool" value="`$v6FQPN-output.pools[$eipam-ip-block.level - 2].key-value`" />\r
682                                                 <parameter name="level" value="`$eipam-ip-block.level - 1`" />\r
683                                             </set>\r
684                                         </outcome>\r
685                                     </switch>\r
686                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
687                                         <parameter name="logger" value="message-log"/>\r
688                                         <parameter name="field1" value="__TIMESTAMP__"/>\r
689                                         <parameter name="field2" value="network-topology-operation"/>\r
690                                         <parameter name="field3" value="eipam-create-network-role-pool"/>\r
691                                         <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>\r
692                                         <parameter name="field5" value="`$v6FQPN-output.pools[$level].key-name`"/>\r
693                                         <parameter name="field6" value="`$v6FQPN-output.pools[$level].key-value`"/>\r
694                                         <parameter name="field7" value="`$tmp.network_instance_group_id`"/>\r
695                                         <parameter name="field8" value="`$eipam-ip-block.level`"/>\r
696                                         <parameter name="field9" value="`$network-model.network-role`"/>\r
697                                         <parameter name="field10" value="`$tmp.network-id`"/>\r
698                                         <parameter name="field11" value="Saving to EIPAM_IP_POOLS table."/>\r
699                                     </record>\r
700                                     <switch test="`$network-instance-group-data.subnet-assignment-policy.subnet-use`">\r
701                                         <outcome value='shared'>\r
702                                             <save\r
703         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
704         resource='SQL'\r
705         key="INSERT EIPAM_IP_POOLS\r
706              SET\r
707              key_name = $v6FQPN-output.pools[$level].key-name ,\r
708              key_value = $v6FQPN-output.pools[$level].key-value ,\r
709              level = $eipam-ip-block.level ,\r
710              plan_name = $network-model.eipam-v6-address-plan ,\r
711              address_family = $network-model.ipv6-ip-version ,\r
712              parent_pool = $parent_pool ,\r
713              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
714              network_id = $tmp.network-id ,\r
715              network_instance_group_id = $tmp.network-instance-group-id ; "\r
716     force='true'\r
717         pfx='pfx.eipam-v6pool-row'>\r
718                                                 <outcome value='failure'>\r
719                                                     <return status='failure'>\r
720                                                         <parameter name='error-code' value='500' />\r
721                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
722                                                     </return>\r
723                                                 </outcome>\r
724                                             </save>\r
725                                         </outcome>\r
726                                         <outcome value='Other'>\r
727                                             <save\r
728         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
729         resource='SQL'\r
730         key="INSERT EIPAM_IP_POOLS\r
731              SET\r
732              key_name = $v6FQPN-output.pools[$level].key-name ,\r
733              key_value = $v6FQPN-output.pools[$level].key-value ,\r
734              level = $eipam-ip-block.level ,\r
735              plan_name = $network-model.eipam-v6-address-plan ,\r
736              address_family = $network-model.ipv6-ip-version ,\r
737              parent_pool = $parent_pool ,\r
738              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
739              network_id = $tmp.network-id ; "\r
740     force='true'\r
741         pfx='pfx.eipam-v6pool-row'>\r
742                                                 <outcome value='failure'>\r
743                                                     <return status='failure'>\r
744                                                         <parameter name='error-code' value='500' />\r
745                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
746                                                     </return>\r
747                                                 </outcome>\r
748                                             </save>\r
749                                         </outcome>\r
750                                         <outcome value=''>\r
751                                             <save\r
752         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
753         resource='SQL'\r
754         key="INSERT EIPAM_IP_POOLS\r
755              SET\r
756              key_name = $v6FQPN-output.pools[$level].key-name ,\r
757              key_value = $v6FQPN-output.pools[$level].key-value ,\r
758              level = $eipam-ip-block.level ,\r
759              plan_name = $network-model.eipam-v6-address-plan ,\r
760              address_family = $network-model.ipv6-ip-version ,\r
761              parent_pool = $parent_pool ,\r
762              service_instance_id = $network-topology-operation-input.service-information.service-instance-id ,\r
763              network_id = $tmp.network-id ; "\r
764     force='true'\r
765         pfx='pfx.eipam-v6pool-row'>\r
766                                                 <outcome value='failure'>\r
767                                                     <return status='failure'>\r
768                                                         <parameter name='error-code' value='500' />\r
769                                                         <parameter name='error-message' value='failed to update EIPAM_IP_POOLS .' />\r
770                                                     </return>\r
771                                                 </outcome>\r
772                                             </save>\r
773                                         </outcome>\r
774                                     </switch>\r
775                                     <switch test="`$eipam-ip-block.level == $eipam-ip-block.getPlanTopologyResponse.TopologyDetails_length`">\r
776                                         <outcome value='true'>\r
777                                             <block atomic='true'>\r
778                                                 <switch test="`$tmp.allocate-subnet-flag`">\r
779                                                     <outcome value='Y'>\r
780                                                         <block atomic='true'>\r
781                                                             <for index="i" start="0" end="`$eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan_length`">\r
782                                                                 <block atomic='true'>\r
783                                                                     <switch test="`$network-model.eipam-v6-address-plan == $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PlanName`">\r
784                                                                         <outcome value='true'>\r
785                                                                             <block atomic='true'>\r
786                                                                                 <set>\r
787                                                                                     <parameter name="index_found" value="true" />\r
788                                                                                 </set>\r
789                                                                                 <break/>\r
790                                                                             </block>\r
791                                                                         </outcome>\r
792                                                                     </switch>\r
793                                                                 </block>\r
794                                                             </for>\r
795                                                             <switch test="`$index_found`">\r
796                                                                 <outcome value='true'>\r
797                                                                     <block atomic='true'>\r
798                                                                         <get-resource\r
799         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
800         resource='SQL'\r
801         key="SELECT * FROM EIPAM_IP_POOLS where plan_name = $network-model.eipam-v6-address-plan and level = $eipam-ip-block.level and key_value = $v6FQPN-output.pools[$level].key-value ;"\r
802         pfx='tmp.eipam-pool-row'>\r
803                                                                             <outcome value='failure'>\r
804                                                                                 <return status="failure">\r
805                                                                                     <parameter name="tmp.eipam-error" value="true" />\r
806                                                                                     <parameter name="error-code" value="500"/>\r
807                                                                                     <parameter name="error-message" value="Query to DB table EIPAM_IP_POOLS failed." />\r
808                                                                                 </return>\r
809                                                                             </outcome>\r
810                                                                             <outcome value='success'>\r
811                                                                                 <block atomic='true'>\r
812                                                                                     <save\r
813         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
814         resource='SQL'\r
815         key="INSERT EIPAM_IP_SUBNETS\r
816              SET\r
817              entity_id = $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PoolItem.IPDataBlock.IpamPoolAllocId ,\r
818              service_type = $tmp.service-type ,\r
819              ip_address = $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PoolItem.IPDataBlock.IPAddress ,\r
820              prefix_length = $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PoolItem.IPDataBlock.Mask ,\r
821              plan_name = $network-model.eipam-v6-address-plan ,\r
822              status = 'ALLOCATED' ,\r
823              pool_id = $tmp.eipam-pool-row.pool-id ,\r
824              address_family = $network-model.ipv6-ip-version ,\r
825              network_id = $tmp.network-id ; "\r
826     force='true'\r
827         pfx='pfx.eipam-subnet-row'>\r
828                                                                                         <outcome value='failure'>\r
829                                                                                             <return status='failure'>\r
830                                                                                                 <parameter name='error-code' value='500' />\r
831                                                                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS .' />\r
832                                                                                             </return>\r
833                                                                                         </outcome>\r
834                                                                                         <outcome value='success'></outcome>\r
835                                                                                     </save>\r
836                                                                                     <save\r
837         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
838         resource='SQL'\r
839         key="INSERT EIPAM_IP_SUBNET_KEYS\r
840              SET\r
841              entity_id = $eipam-ip-block.createPoolResponse.CreatePoolPlans.CreatePoolPlan[$i].PoolItem.IPDataBlock.IpamPoolAllocId ,\r
842              key_name = $key-name ,\r
843              key_value = $key-value ,\r
844              level = $eipam-ip-block.level ; "\r
845     force='true'\r
846         pfx='pfx.eipam-v4subnet-key-row'>\r
847                                                                                         <outcome value='success'></outcome>\r
848                                                                                         <outcome value='failure'>\r
849                                                                                             <return status='failure'>\r
850                                                                                                 <parameter name='error-code' value='500' />\r
851                                                                                                 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS .' />\r
852                                                                                             </return>\r
853                                                                                         </outcome>\r
854                                                                                     </save>\r
855                                                                                 </block>\r
856                                                                             </outcome>\r
857                                                                             <outcome value="not-found">\r
858                                                                                 <return status="failure">\r
859                                                                                     <parameter name="tmp.eipam-error" value="true" />\r
860                                                                                     <parameter name="error-code" value="500"/>\r
861                                                                                     <parameter name="error-message" value="Query to DB table EIPAM_IP_POOLS failed." />\r
862                                                                                 </return>\r
863                                                                             </outcome>\r
864                                                                         </get-resource>\r
865                                                                     </block>\r
866                                                                 </outcome>\r
867                                                                 <outcome value='Other'>\r
868                                                                     <return status='failure'>\r
869                                                                         <parameter name='error-code' value='500' />\r
870                                                                         <parameter name='error-message' value='failed to find plan name in CreatePoolResponse.' />\r
871                                                                     </return>\r
872                                                                 </outcome>\r
873                                                                 <outcome value=''>\r
874                                                                     <return status='failure'>\r
875                                                                         <parameter name='error-code' value='500' />\r
876                                                                         <parameter name='error-message' value='failed to find plan name in CreatePoolResponse.' />\r
877                                                                     </return>\r
878                                                                 </outcome>\r
879                                                             </switch>\r
880                                                         </block>\r
881                                                     </outcome>\r
882                                                     <outcome value='N'></outcome>\r
883                                                 </switch>\r
884                                             </block>\r
885                                         </outcome>\r
886                                     </switch>\r
887                                 </block>\r
888                             </outcome>\r
889                             <outcome value='Y'></outcome>\r
890                         </switch>\r
891                     </block>\r
892                 </outcome>\r
893                 <outcome value=""></outcome>\r
894                 <outcome value='N'></outcome>\r
895             </switch>\r
896             <return status='success'>\r
897                 <parameter name="error-code" value="200" />\r
898             </return>\r
899         </block>\r
900     </method>\r
901 </service-logic>